import java.awt.Color; import java.io.File; import java.io.FileNotFoundException; import java.util.ArrayList; import java.util.HashSet; import java.util.Random; import java.util.Scanner; import javax.swing.JButton; import javax.swing.border.LineBorder; import java.io.FileNotFoundException; public class Testprogram { static ArrayList verdier = new ArrayList<>(); static HashSet> partnerbeholder = new HashSet<>(); public static void main(String[] args) { try { File fil = new File("verdier.txt"); Scanner scanner = new Scanner(fil); String linje; while (scanner.hasNextLine()) { linje = scanner.nextLine(); String[] par = linje.strip().split(","); HashSet partnere = new HashSet<>(); partnere.add(par[0]); partnere.add(par[1]); partnerbeholder.add(partnere); for (String p : par) { verdier.add(p); } } scanner.close(); } catch (FileNotFoundException e) { System.out.println("Fant ikke filen!"); } //testSnuKort(verdier); //testPartner(verdier, partnerbeholder); testSamspill(verdier); } public static void testSnuKort(ArrayList verdier) { // Arrange Kontroller kontroller = new Kontroller(2, 4, verdier); kontroller.start(); // Act Random random = new Random(); int rad = random.nextInt(kontroller.hentKortstokk().length); int kol = random.nextInt(kontroller.hentKortstokk()[rad].length); // invarianten v?r er at kortet alltid starter med ? ikke v?re snudd // Assert - fase 1 assert kontroller.hentKortstokk()[rad][kol].erSnudd() == false : "Kortet starter med ? v?re snudd - Det er feil"; // Act kontroller.hentKortstokk()[rad][kol].snu(); // Assert - fase 2 assert kontroller.hentKortstokk()[rad][kol].erSnudd() : "Kortet ble ikke snudd!"; } public static void testPartner(ArrayList verdier, HashSet> partnerbeholder) { // Arrange Kontroller kontroller = new Kontroller(2, 4, verdier); kontroller.start(); // Act Random random = new Random(); int rad = random.nextInt(kontroller.hentKortstokk().length); int kol = random.nextInt(kontroller.hentKortstokk()[rad].length); String verdi = kontroller.hentKortstokk()[rad][kol].hentVerdi(); String partnerverdi = kontroller.hentKortstokk()[rad][kol].hentPartner().hentVerdi(); HashSet partnere = new HashSet<>(); partnere.add(verdi); partnere.add(partnerverdi); // Assert assert partnerbeholder.contains(partnere) : "Kortet har feil partner"; } public static void testSamspill(ArrayList verdier) { Kontroller kontroller = new Kontroller(2, 4, verdier); kontroller.start(); Random random = new Random(); int rad = random.nextInt(kontroller.hentKortstokk().length); int kol = random.nextInt(kontroller.hentKortstokk()[rad].length); Kort kort = kontroller.hentKortstokk()[rad][kol]; JButton knapp = kontroller.hentKnapper()[rad][kol]; Color bakgrunnsfarge = knapp.getBackground(); LineBorder kant = (LineBorder) knapp.getBorder(); Color kantfarge = kant.getLineColor(); String tekst = knapp.getText(); assert bakgrunnsfarge.equals(Color.red) : "Knappen har feil bakgrunnsfarge n?r kortet ikke er snudd"; assert kantfarge.equals(Color.white) : "Knappen har feil kantfarge n?r kortet ikke er snudd"; assert tekst.equals("") : "Knappen viser feil tekst n?r kortet ikke er snudd"; kontroller.snuKort(kort); bakgrunnsfarge = knapp.getBackground(); kant = (LineBorder) knapp.getBorder(); kantfarge = kant.getLineColor(); tekst = knapp.getText(); assert bakgrunnsfarge.equals(Color.white) : "Knappen har feil bakgrunnsfarge n?r kortet er snudd"; assert kantfarge.equals(Color.black) : "Knappen har feil kantfarge n?r kortet er snudd"; assert tekst.equals(kort.hentVerdi()) : "Knappen viser feil tekst n?r kortet er snudd"; } }