summaryrefslogtreecommitdiffstats
path: root/šola/p1/dn/7/Test01.java
diff options
context:
space:
mode:
Diffstat (limited to 'šola/p1/dn/7/Test01.java')
-rw-r--r--šola/p1/dn/7/Test01.java125
1 files changed, 125 insertions, 0 deletions
diff --git a/šola/p1/dn/7/Test01.java b/šola/p1/dn/7/Test01.java
new file mode 100644
index 0000000..28b3745
--- /dev/null
+++ b/šola/p1/dn/7/Test01.java
@@ -0,0 +1,125 @@
+
+import java.util.*;
+
+public class Test01 {
+
+ public static void main(String[] args) {
+
+ Oseba a1 = new Oseba("Andrej Antlej", 'M', 67);
+ Oseba a2 = new Oseba("Ana Antlej", 'Z', 58);
+ Oseba d1 = new Oseba("Denis Debeljak", 'M', 43);
+ Oseba d2 = new Oseba("Darja Debeljak", 'Z', 41);
+ Oseba d3 = new Oseba("Dejan Debeljak", 'M', 14);
+ Oseba d4 = new Oseba("Diana Debeljak", 'Z', 16);
+ Oseba e1 = new Oseba("Eva Ertl", 'Z', 23);
+ Oseba g1 = new Oseba("Gabrijel Golob", 'M', 72);
+ Oseba g2 = new Oseba("Genovefa Golob", 'Z', 74);
+ Oseba i1 = new Oseba("Ivan Ilovar", 'M', 52);
+ Oseba i2 = new Oseba("Irena Ilovar", 'Z', 47);
+ Oseba i3 = new Oseba("Iztok Ilovar", 'M', 21);
+ Oseba j1 = new Oseba("Jasna Jarc", 'Z', 45);
+
+ preveri("Oseba/toString", primerjajNiza(a2.toString(), "Ana Antlej, Z, 58"));
+
+ preveri("Oseba/jeStarejsaOd", !a2.jeStarejsaOd(a1));
+
+ Stanovanje sA = new Stanovanje(new Oseba[]{a1, a2});
+ Stanovanje sB = new Stanovanje(new Oseba[0]);
+ Stanovanje sC = new Stanovanje(new Oseba[0]);
+ Stanovanje sD = new Stanovanje(new Oseba[]{d1, d2, d3, d4});
+ Stanovanje sE = new Stanovanje(new Oseba[]{e1});
+ Stanovanje sF = new Stanovanje(new Oseba[0]);
+ Stanovanje sG = new Stanovanje(new Oseba[]{g1, g2});
+ Stanovanje sH = new Stanovanje(new Oseba[0]);
+ Stanovanje sI = new Stanovanje(new Oseba[]{i1, i2, i3});
+ Stanovanje sJ = new Stanovanje(new Oseba[]{j1});
+
+ preveri("Stanovanje/steviloStanovalcev", sA.steviloStanovalcev() == 2);
+
+ preveri("Stanovanje/steviloStarejsihOd", sA.steviloStarejsihOd(a2) == 1);
+
+ preveri("Stanovanje/mz", Arrays.equals(sI.mz(), new int[]{2, 1}));
+
+ preveri("Stanovanje/starosta", sA.starosta() == a1);
+
+ sA.nastaviSosede(null, null, null, sD);
+ sB.nastaviSosede(null, null, sC, null);
+ sC.nastaviSosede(sB, null, sD, sF);
+ sD.nastaviSosede(sC, sA, sE, sG);
+ sE.nastaviSosede(sD, null, null, null);
+ sF.nastaviSosede(null, sC, sG, null);
+ sG.nastaviSosede(sF, sD, null, sH);
+ sH.nastaviSosede(null, sG, sI, null);
+ sI.nastaviSosede(sH, null, sJ, null);
+ sJ.nastaviSosede(sI, null, null, null);
+
+ preveri("Stanovanje/starostaSosescine", sJ.starostaSosescine() == i1);
+
+ preveri("Stanovanje/sosedjeSosedov",
+ primerjajTabeliOseb(sG.sosedjeSosedov(), new Oseba[]{a1, a2, e1, i1, i2, i3}));
+
+ Blok blok = new Blok(sD);
+
+ preveri("Blok/starosta", blok.starosta() == g2);
+
+ System.out.println("<soseščina>");
+ System.out.println(blok.stanovanje.soseščina().size());
+ System.out.println("</soseščina>");
+
+ System.out.println("<razporeditev bloka>");
+ for (int[] line : blok.razporeditev()) {
+ for (int število : line) {
+ System.out.print(število + "\t");
+ }
+ System.out.println();
+ }
+ System.out.println("</razporeditev bloka>");
+
+ preveri("Blok/razporeditev",
+ Arrays.deepEquals(
+ blok.razporeditev(),
+ new int[][]{
+ {-1, -1, 2, -1, -1},
+ { 0, 0, 4, 1, -1},
+ {-1, 0, 2, -1, -1},
+ {-1, -1, 0, 3, 1},
+ }));
+ }
+
+ private static void preveri(String besedilo, boolean pogoj) {
+ System.out.printf("%-29s --> %s%n", besedilo, (pogoj ? "OK" : "napaka"));
+ }
+
+ private static boolean primerjajNiza(String a, String b) {
+ if (a == null && b == null) {
+ return true;
+ }
+ if (a == null || b == null) {
+ return false;
+ }
+ return a.equals(b);
+ }
+
+ private static boolean primerjajTabeliOseb(Oseba[] a, Oseba[] b) {
+ System.out.println("primerjajTabeliOseb. osebe a:");
+ for (Oseba x : a)
+ System.out.println(x.toString());
+ System.out.println("primerjajTabeliOseb. osebe b:");
+ for (Oseba y : b)
+ System.out.println(b.toString());
+ System.out.println("</primerjajTabeliOseb>");
+ if (a == null && b == null) {
+ return true;
+ }
+ if (a == null || b == null || a.length != b.length) {
+ return false;
+ }
+ List<Oseba> prvi = new ArrayList<>(Arrays.asList(a));
+ List<Oseba> drugi = new ArrayList<>(Arrays.asList(b));
+ Comparator<Oseba> primerjalnik =
+ (p, q) -> Integer.compare(p.hashCode(), q.hashCode());
+ prvi.sort(primerjalnik);
+ drugi.sort(primerjalnik);
+ return prvi.equals(drugi);
+ }
+}