gitweb on Svarog
projekti pod git sistemom za održavanje verzija -- projects under the git version control system
summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: a99619e)
raw | patch | inline | side by side (parent: a99619e)
author | Doni Pracner <quinnuendo@gmail.com> | |
Sun, 15 Nov 2015 13:18:13 +0000 (14:18 +0100) | ||
committer | Doni Pracner <quinnuendo@gmail.com> | |
Sun, 15 Nov 2015 13:18:13 +0000 (14:18 +0100) |
U svim klasama primerima su dodati main metodi koji pokrecu test program
sa adekvatnim parametrima.
sa adekvatnim parametrima.
Hash/Gadjanje.java | patch | blob | history | |
Hash/Kancelarija.java | patch | blob | history | |
Hash/TestHash.java | patch | blob | history | |
Hash/XO.java | patch | blob | history |
diff --git a/Hash/Gadjanje.java b/Hash/Gadjanje.java
index 27684ec253d543a87ead7edc355434e363009a87..b70b6d00c88ad8874281071588edd71ed8f24c37 100644 (file)
--- a/Hash/Gadjanje.java
+++ b/Hash/Gadjanje.java
private int[] rezultati;
private static int MAX_DUZ = 20;
- public Gadjanje(String linija) {
- String[] delovi = linija.replaceAll(" ", " ").split(" ");
- if (delovi.length > 0) {
- try {
- int br = Integer.parseInt(delovi[0]);
- rezultati = new int[br];
- for (int i = 0; i < br; i++) {
- rezultati[i] = Integer.parseInt(delovi[i + 1]);
- }
- } catch (Exception ex) {
- throw new RuntimeException(ex);
- }
- } else
- throw new RuntimeException("Pogresan broj argumenata u redu");
- }
-
public Gadjanje() {
// prazan konstruktor potreban za test program
}
return str;
}
+ // pomocni metod za lakse testiranje
+ public static void main(String[] args) {
+ new TestHash(new Gadjanje(), "mete").run();
+ }
+
+ // ovaj konstruktor nije neophodan, ostavljen je kao primer
+ public Gadjanje(String linija) {
+ String[] delovi = linija.replaceAll(" ", " ").split(" ");
+ if (delovi.length > 0) {
+ try {
+ int br = Integer.parseInt(delovi[0]);
+ rezultati = new int[br];
+ for (int i = 0; i < br; i++) {
+ rezultati[i] = Integer.parseInt(delovi[i + 1]);
+ }
+ } catch (Exception ex) {
+ throw new RuntimeException(ex);
+ }
+ } else
+ throw new RuntimeException("Pogresan broj argumenata u redu");
+ }
+
}
diff --git a/Hash/Kancelarija.java b/Hash/Kancelarija.java
index 6d157b5d639092937f5571aea17a91e4153a720f..655a1cc6cf48794c4ede40ba69f9e99d776f4ec2 100644 (file)
--- a/Hash/Kancelarija.java
+++ b/Hash/Kancelarija.java
private String prezime;
private int broj;
- public Kancelarija(String line) {
- String[] delovi = line.replaceAll(" ", " ").split(" ");
- if (delovi.length == 2) {
- try {
- prezime = delovi[0];
- broj = Integer.parseInt(delovi[1]);
- } catch (Exception ex) {
- throw new RuntimeException(ex);
- }
- } else
- throw new RuntimeException("Pogresan broj argumenata u redu");
- }
-
public Kancelarija(String prezime, int broj) {
this.prezime = prezime;
this.broj = broj;
// Prvo proveravamo broj
if (broj != k2.broj) {
- return false;
+ return false;
}
// A potom prezime
if (!Objects.equals(prezime, k2.prezime)) {
- return false;
+ return false;
}
// Proverili smo polja i sva su jednaka
InfoTip rez = new Kancelarija(prez, br);
return rez;
}
+
+ // pomocni metod za lakse testiranje
+ public static void main(String[] args) {
+ new TestHash(new Kancelarija(), "kancelarije").run();
+ }
+
+ // ovaj konstruktor nije neophodan, ostavljen je kao primer
+ public Kancelarija(String line) {
+ String[] delovi = line.trim().split(" ");
+ if (delovi.length == 2) {
+ try {
+ prezime = delovi[0];
+ broj = Integer.parseInt(delovi[1]);
+ } catch (Exception ex) {
+ throw new RuntimeException(ex);
+ }
+ } else
+ throw new RuntimeException("Pogresan broj argumenata u redu");
+ }
+
}
diff --git a/Hash/TestHash.java b/Hash/TestHash.java
index 607d3b15b8079e64317f9a545598ac7b822e80fb..565614b81066a83302cf5267e26730d8aa691046 100644 (file)
--- a/Hash/TestHash.java
+++ b/Hash/TestHash.java
* 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
}
Svetovid.closeIn(fajl);
}
- hash.printStats();
+ System.out.println("-- dodatni testovi ubacivanja i izbacivanja --");
+ // hash.printStats();
InfoTip it = hash.someElement();
if (!hash.add(it)) {
System.out.println("success: not added again");
public void run() {
// emptyTest();
- String fajl = "/t2.txt";
+ String fajl = osnova + "2.txt";
infoTest(folder + fajl, 101, element);
Svetovid.out.println();
Svetovid.out.println();
// add remove radimo na manjem fajlu
- addRemoveTest(folder + "/t0.txt", 101, element);
+ addRemoveTest(folder + osnova + "0.txt", 101, element);
}
diff --git a/Hash/XO.java b/Hash/XO.java
index ef94eeaef0c837e997e6f90d3aff757b8e645559..8645f097f0804eb39fe8054e676c004d4543f525 100644 (file)
--- a/Hash/XO.java
+++ b/Hash/XO.java
return rez;
}
+ // pomocni metod za lakse testiranje
+ public static void main(String[] args) {
+ new TestHash(new XO(), "xo").run();
+ }
}