gitweb on Svarog

projekti pod git sistemom za održavanje verzija -- projects under the git version control system
sort zad1, cr/lf fix
[spa2-materijali.git] / Hash / TestHash.java
index 607d3b1..e1906f7 100644 (file)
@@ -4,25 +4,41 @@
  * Napravljen je da prikazuje rezultate ubacivanja istog fajla u tabele
  * razlicitih velicina.
  * 
- * Takodje se lako moze promeniti tip podataka koji se ubacuje promenama dve
- * promenljive na pocetku klase. Medjutim da bi to radilo tipovi treba da
- * prosiruju klasu InfoTip i da imaju ili prazan konstruktor ili da se nekako
- * drugacije inicijalizuje objekat `element` u ovoj klasi.
+ * Takodje se lako moze promeniti tip podataka koji se ubacuje prosledjivanjem
+ * odgovarajuceg tipa i imena foldera u konstruktoru, ili promenama dve
+ * promenljive na pocetku klase.
+ * 
+ * Medjutim da bi to radilo tipovi treba da prosiruju klasu InfoTip i da imaju
+ * ili prazan konstruktor ili da se nekako drugacije inicijalizuje objekat
+ * `element` u ovoj klasi.
+ * 
+ * Takodje se ocekuje da postoje fajlovi tipa "t0" i "t2" za testiranje. Osnova
+ * imena fajla se moze proslediti u konstruktoru, ali ce program svakako traziti
+ * fajlove koji se zavrsavaju sa 0 i 2. To se moze promeniti u kodu ovog
+ * programa.
  */
 public class TestHash {
 
        // treba promeniti tip ovog objekta i folder u kome su adekvatni
        // podaci da bi se radilo sa drugim podacima
+       // ovo se moze uraditi u konstruktoru
        private InfoTip element = new Kancelarija();
        private String folder = "kancelarije";
+       private String osnova = "/t";
+
+       public TestHash() {
+
+       }
 
-       // Na primer ovako treba podesiti za Gadjanje mete
-       // private InfoTip element = new Gadjanje();
-       // private String folder = "mete";
+       public TestHash(InfoTip element, String folder, String osnova) {
+               this.element = element;
+               this.folder = folder;
+               this.osnova = osnova;
+       }
 
-       // a ovako za XO
-       // private InfoTip element = new XO();
-       // private String folder = "xo";
+       public TestHash(InfoTip element, String folder) {
+               this(element, folder, "/t");
+       }
 
        /*
         * Pravi praznu mapu i ispisuje je
@@ -40,11 +56,15 @@ public class TestHash {
                OHashSet<InfoTip> hash = new OHashSet<>(size);
                if (Svetovid.testIn(fajl)) {
                        while (Svetovid.in(fajl).hasMore()) {
-                               hash.add(i.ucitaj(Svetovid.in(fajl)));
+                               InfoTip sledeci = i.ucitaj(Svetovid.in(fajl));
+                               hash.add(sledeci);
                        }
                        Svetovid.closeIn(fajl);
+
+                       hash.printStats();
+               } else {
+                       System.err.println("ne moze se otvoriti fajl!");
                }
-               hash.printStats();
        }
 
        /*
@@ -58,30 +78,35 @@ public class TestHash {
                                hash.add(i.ucitaj(Svetovid.in(fajl)));
                        }
                        Svetovid.closeIn(fajl);
-               }
-               hash.printStats();
-               InfoTip it = hash.someElement();
-               if (!hash.add(it)) {
-                       System.out.println("success: not added again");
-               } else {
-                       System.out.println("fail: added again!");
-               }
-               if (hash.remove(it)) {
-                       System.out.println("success: removed");
-               } else {
-                       System.out.println("fail: not removed!");
-               }
-               if (hash.add(it)) {
-                       System.out.println("success: added back in");
+
+                       System.out
+                                       .println("-- dodatni testovi ubacivanja i izbacivanja --");
+                       // hash.printStats();
+                       InfoTip it = hash.someElement();
+                       if (!hash.add(it)) {
+                               System.out.println("uspeh: nije ponovo dodat");
+                       } else {
+                               System.out.println("neuspeh: ponovo dodat!");
+                       }
+                       if (hash.remove(it)) {
+                               System.out.println("uspeh: uklonjen");
+                               if (hash.add(it)) {
+                                       System.out.println("uspeh: vracen");
+                               } else {
+                                       System.out.println("neuspeh: nije vracen");
+                               }
+                       } else {
+                               System.out.println("neuspeh: nije uklonjen!");
+                       }
                } else {
-                       System.out.println("fail: not added back in");
+                       System.err.println("ne moze se otvoriti fajl!");
                }
        }
 
        public void run() {
                // emptyTest();
 
-               String fajl = "/t2.txt";
+               String fajl = osnova + "2.txt";
 
                infoTest(folder + fajl, 101, element);
                Svetovid.out.println();
@@ -91,7 +116,7 @@ public class TestHash {
                Svetovid.out.println();
 
                // add remove radimo na manjem fajlu
-               addRemoveTest(folder + "/t0.txt", 101, element);
+               addRemoveTest(folder + osnova + "0.txt", 101, element);
 
        }
 
Svarog.pmf.uns.ac.rs/gitweb maintanance Doni Pracner