Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static void header(){
- System.out.println("Vitejte v testovaci tride ukolu HW06 z predmetu programovani 2.");
- System.out.println("Predtim, nez zacnete psat ostatnim, ze vam zde neco nefunguje, postupujte dle nasledujicich instrukci:");
- System.out.println("1) Prectete si prispevky k HW06 na foru.");
- System.out.println("Zde je link:");
- System.out.println("https://cw.felk.cvut.cz/forum/forum-651-page-1.html");
- System.out.println("2) Prectete si prispevky k HW06 na facebooku ve skupine Programko 2.");
- System.out.println("Zde je link:");
- System.out.println("https://www.facebook.com/groups/708768589166731/");
- System.out.println("3) Pouzijte debug, vypisujte promenne a krokujte si to k mistu, ktere vam nefunguje.");
- System.out.println("4) Prectete si znovu zadani.");
- System.out.println("Zde je link:");
- System.out.println("https://edux.feld.cvut.cz/courses/A0B36PR2/hw/6");
- System.out.println("5) Prectete si znovu javadoc.");
- System.out.println("\n" +"Source code URI: http://pastebin.com/AU2eaJTw\n" +"Version: 1.3.0\n" +"Author: Azathoth\n" +"License: GNU General Public License\n" +"License URI: http://www.gnu.org/licenses/gpl.html");
- System.out.println("Jako ukazkovy vystup pouzivam svuj program, je mozne, ze se v nekterych drobnostech lisi od ostatnich spravnych reseni a nikdo nezarucuje, ze je to spravne. "
- + "\nJe to ovsem reseni, ktere proslo. Lisit se napriklad muze pocet volani map a filter u view, ovsem nemel by byt vyrazne vyssi, nez u ukazkoveho vystupu.");
- System.out.println("Poznámka: sice to zde není explicitně napsáno, ale v testu se používá i iterator, size, tail a head. \n"
- + "Text u výjimek se může lišit a nemá vliv na funčnost programu (poznámka pro blbé: typ výjimky se lišit nesmí a má vliv na funkčnost programu).");
- }
- public static void appendAndFilter(Predicate sude){
- System.out.println("\nTest append:\n");
- for (int i = 0; i < 10; i++) {
- System.out.println("Pridavam "+i+" na konec.");
- listInt = listInt.append(i);
- }
- System.out.println("\nVas vystup:");
- System.out.println("Obsah listu:");
- for (Integer integer : listInt) {
- System.out.println(integer);
- }
- System.out.println("Velikost je: "+listInt.size()+".");
- System.out.println("Konec vaseho vystupu.");
- System.out.println("\nUkazkovy vystup");
- System.out.println("Obsah listu:\n" +"0\n" +"1\n" +"2\n" +"3\n" +"4\n" +"5\n" +"6\n" +"7\n" +"8\n" +"9\n" +"Velikost je: 10.");
- System.out.println("Konec ukazkoveho vystupu.");
- System.out.println("\nKonec testu append.\n");
- System.out.println("\nTest filter:\n");
- System.out.println("\nVas vystup:");
- System.out.println("Aplikuji filtr, suda cisla zustanou.");
- listInt = listInt.filter(sude);
- System.out.println("Obsah listu:");
- for (Integer integer : listInt) {
- System.out.println(integer);
- }
- System.out.println("Velikost je: "+listInt.size()+".");
- System.out.println("Konec vaseho vystupu.");
- System.out.println("\nUkazkovy vystup");
- System.out.println("Aplikuji filtr, suda cisla zustanou.\n" +"Filtruji: cislo 0 je sude.\n" +"Filtruji: cislo 1 neni sude.\n" +"Filtruji: cislo 2 je sude.\n" +"Filtruji: cislo 3 neni sude.\n" +"Filtruji: cislo 4 je sude.\n" +"Filtruji: cislo 5 neni sude.\n" +"Filtruji: cislo 6 je sude.\n" +"Filtruji: cislo 7 neni sude.\n" +"Filtruji: cislo 8 je sude.\n" +"Filtruji: cislo 9 neni sude.\n" +"Obsah listu:\n" +"0\n" +"2\n" +"4\n" +"6\n" +"8\n" +"Velikost je: 5.");
- System.out.println("Konec ukazkoveho vystupu.");
- System.out.println("\nKonec testu filter.\n");
- }
- public static void consAndMapAndIsEmpty(Function kratDva){
- System.out.println("\nTest cons:\n");
- for (int i = 0; i < 10; i++) {
- System.out.println("Pridavam "+i+" na zacatek.");
- listInt = listInt.cons(i);
- }
- System.out.println("\nVas vystup:");
- System.out.println("Obsah listu:");
- for (Integer integer : listInt) {
- System.out.println(integer);
- }
- System.out.println("Velikost je: "+listInt.size()+".");
- System.out.println("Konec vaseho vystupu.");
- System.out.println("\nUkazkovy vystup");
- System.out.println("Obsah listu:\n" +"9\n" +"8\n" +"7\n" +"6\n" +"5\n" +"4\n" +"3\n" +"2\n" +"1\n" +"0\n" +"Velikost je: 10.");
- System.out.println("Konec ukazkoveho vystupu.");
- System.out.println("\nKonec testu cons.\n");
- System.out.println("\nTest map:\n");
- System.out.println("\nVas vystup:");
- System.out.println("Aplikuji mapu, cisla se zdvojnasobi.");
- listInt = listInt.map(kratDva);
- System.out.println("Obsah listu:");
- for (Integer integer : listInt) {
- System.out.println(integer);
- }
- System.out.println("Velikost je: "+listInt.size()+".");
- System.out.println("Konec vaseho vystupu.");
- System.out.println("\nUkazkovy vystup");
- System.out.println("Aplikuji mapu, cisla se zdvojnasobi.\n" +"Nasobim 9 dvema.\n" +"Nasobim 8 dvema.\n" +"Nasobim 7 dvema.\n" +"Nasobim 6 dvema.\n" +"Nasobim 5 dvema.\n" +"Nasobim 4 dvema.\n" +"Nasobim 3 dvema.\n" +"Nasobim 2 dvema.\n" +"Nasobim 1 dvema.\n" +"Nasobim 0 dvema.\n" +"Obsah listu:\n" +"18\n" +"16\n" +"14\n" +"12\n" +"10\n" +"8\n" +"6\n" +"4\n" +"2\n" +"0\n" +"Velikost je: 10.");
- System.out.println("Konec ukazkoveho vystupu.");
- System.out.println("\nKonec testu map.\n");
- System.out.println("\nTest isEmpty:\n");
- System.out.println("\nVas vystup:");
- System.out.println("List je prazdny: "+listInt.isEmpty());
- listInt=ListFactory.nil();
- System.out.println("Vycisteni seznamu.");
- System.out.println("List je prazdny: "+listInt.isEmpty());
- System.out.println("Konec vaseho vystupu.");
- System.out.println("\nUkazkovy vystup");
- System.out.println("List je prazdny: false\n" +"Vycisteni seznamu.\n" +"List je prazdny: true");
- System.out.println("Konec ukazkoveho vystupu.");
- System.out.println("\nKonec testu isEmpty.\n");
- }
- public static void viewAndviewFilter(Predicate sude){
- System.out.println("\nTest view:\n");
- for (int i = 0; i < 10; i++) {
- listInt = listInt.cons(i);
- }
- System.out.println("\nVas vystup:");
- System.out.println("Aplikuji na list view.");
- listInt=listInt.view();
- System.out.println("Pridavam prvek na konec.");
- try{
- listInt=listInt.append(0);
- } catch(Exception e){
- System.out.println(e.toString());
- }
- System.out.println("Pridavam prvek na zacatek.");
- try{
- listInt=listInt.cons(0);
- } catch(Exception e){
- System.out.println(e.toString());
- }
- System.out.println("Zahazuji prvni prvek volanim metody tail.");
- listInt=listInt.tail();
- System.out.println("Pridavam prvek na konec.");
- try{
- listInt=listInt.append(0);
- } catch(Exception e){
- System.out.println(e.toString());
- }
- System.out.println("Pridavam prvek na zacatek.");
- try{
- listInt=listInt.cons(0);
- } catch(Exception e){
- System.out.println(e.toString());
- }
- System.out.println("Konec vaseho vystupu.");
- System.out.println("\nUkazkovy vystup");
- System.out.println("Aplikuji na list view.\n" +"Pridavam prvek na konec.\n" +"java.lang.UnsupportedOperationException: Can not append view.\n" +"Pridavam prvek na zacatek.\n" +"java.lang.UnsupportedOperationException: Can not cons view.\n" +"Zahazuji prvni prvek volanim metody tail.\n" +"Pridavam prvek na konec.\n" +"java.lang.UnsupportedOperationException: Can not append view.\n" +"Pridavam prvek na zacatek.\n" +"java.lang.UnsupportedOperationException: Can not cons view.");
- System.out.println("Konec ukazkoveho vystupu.");
- System.out.println("\nKonec testu view.\n");
- System.out.println("\nTest viewFilter:\n");
- System.out.println("\nVas vystup:");
- System.out.println("Aplikuji filtr, suda cisla zustanou.");
- listInt = listInt.filter(sude);
- System.out.println("Head:");
- System.out.println(listInt.head());
- System.out.println("Zahazuji prvni prvek volanim metody tail.");
- listInt=listInt.tail();
- System.out.println("Head:");
- System.out.println(listInt.head());
- System.out.println("Konec vaseho vystupu.");
- System.out.println("\nUkazkovy vystup");
- System.out.println("Aplikuji filtr, suda cisla zustanou.\n" +"Head:\n" +"Filtruji: cislo 8 je sude.\n" +"8\n" +"Zahazuji prvni prvek volanim metody tail.\n" +"Filtruji: cislo 8 je sude.\n" +"Head:\n" +"Filtruji: cislo 7 neni sude.\n" +"Filtruji: cislo 6 je sude.\n" +"6");
- System.out.println("Konec ukazkoveho vystupu.");
- System.out.println("\nKonec testu viewFilter.\n");
- }
- public static void viewMap(Function kratDva){
- System.out.println("\nTest viewMap:\n");
- listInt=ListFactory.nil();
- for (int i = 0; i < 5; i++) {
- listInt = listInt.cons(i);
- }
- listInt=listInt.view();
- System.out.println("\nVas vystup:");
- System.out.println("Aplikuji mapu, cisla se zdvojnasobi.");
- listInt = listInt.map(kratDva);
- System.out.println("Head:");
- System.out.println(listInt.head());
- System.out.println("Zahazuji prvni prvek volanim metody tail.");
- listInt=listInt.tail();
- System.out.println("Head:");
- System.out.println(listInt.head());
- System.out.println("Konec vaseho vystupu.");
- System.out.println("\nUkazkovy vystup");
- System.out.println("Aplikuji mapu, cisla se zdvojnasobi.\n" +"Head:\n" +"Nasobim 4 dvema.\n" +"8\n" +"Zahazuji prvni prvek volanim metody tail.\n" +"Head:\n" +"Nasobim 3 dvema.\n" +"6");
- System.out.println("Konec ukazkoveho vystupu.");
- System.out.println("\nKonec testu viewMap.\n");
- }
- public static void complexView(Predicate sude, Predicate vetsiNezTri, Function kratTri, Function delenoDvema){
- System.out.println("\ncomplexView:\n");
- System.out.println("Vytvarim dva listy a plnim je hodnotami 0,1,2,3,4,5,6,7,8,9.");
- listInt=ListFactory.nil();
- Pr2List<Integer> list=ListFactory.nil();
- for (int i = 0; i < 10; i++) {
- list=list.append(i);
- listInt=listInt.append(i);
- }
- System.out.println("První list bude view.");
- list=list.view();
- System.out.println("\nVas vystup:");
- System.out.println("Aplikuji filtr na prvni list, suda cisla zustanou.");
- list=list.filter(sude);
- System.out.println("Aplikuji filtr na druhy list, suda cisla zustanou.");
- listInt=listInt.filter(sude);
- System.out.println("Aplikuji mapu na prvni list, cisla se ztrojnasobi.");
- list=list.map(kratTri);
- System.out.println("Aplikuji mapu na druhy list, cisla se ztrojnasobi.");
- listInt=listInt.map(kratTri);
- System.out.println("Aplikuji mapu na prvni list, cisla se vydeli dvema.");
- list=list.map(delenoDvema);
- System.out.println("Aplikuji mapu na druhy list, cisla se vydeli dvema.");
- listInt=listInt.map(delenoDvema);
- System.out.println("Aplikuji filtr na prvni list, suda cisla zustanou.");
- list=list.filter(vetsiNezTri);
- System.out.println("Aplikuji filtr na druhy list, suda cisla zustanou.");
- listInt=listInt.filter(vetsiNezTri);
- System.out.println("Zahazuji prvni prvek prvniho listu volanim metody tail.");
- list=list.tail();
- System.out.println("Zahazuji prvni prvek druheho listu volanim metody tail.");
- listInt=listInt.tail();
- System.out.println("Oba heady by se mely shodovat.");
- System.out.println("Head prvniho listu:");
- System.out.println(list.head());
- System.out.println("Head druheho listu:");
- System.out.println(listInt.head());
- System.out.println("Konec vaseho vystupu.");
- System.out.println("\nUkazkovy vystup");
- System.out.println("Aplikuji filtr na prvni list, suda cisla zustanou.\n" +"Aplikuji filtr na druhy list, suda cisla zustanou.\n" +"Filtruji: cislo 0 je sude.\n" +"Filtruji: cislo 1 neni sude.\n" +"Filtruji: cislo 2 je sude.\n" +"Filtruji: cislo 3 neni sude.\n" +"Filtruji: cislo 4 je sude.\n" +"Filtruji: cislo 5 neni sude.\n" +"Filtruji: cislo 6 je sude.\n" +"Filtruji: cislo 7 neni sude.\n" +"Filtruji: cislo 8 je sude.\n" +"Filtruji: cislo 9 neni sude.\n" +"Aplikuji mapu na prvni list, cisla se ztrojnasobi.\n" +"Aplikuji mapu na druhy list, cisla se ztrojnasobi.\n" +"Nasobim 0 trema.\n" +"Nasobim 2 trema.\n" +"Nasobim 4 trema.\n" +"Nasobim 6 trema.\n" +"Nasobim 8 trema.\n" +"Aplikuji mapu na prvni list, cisla se vydeli dvema.\n" +"Aplikuji mapu na druhy list, cisla se vydeli dvema.\n" +"Delim 0 dvema.\n" +"Delim 6 dvema.\n" +"Delim 12 dvema.\n" +"Delim 18 dvema.\n" +"Delim 24 dvema.\n" +"Aplikuji filtr na prvni list, suda cisla zustanou.\n" +"Aplikuji filtr na druhy list, suda cisla zustanou.\n" +"Filtruji: cislo 0 neni vetsi nez 3.\n" +"Filtruji: cislo 3 neni vetsi nez 3.\n" +"Filtruji: cislo 6 je vetsi nez 3.\n" +"Filtruji: cislo 9 je vetsi nez 3.\n" +"Filtruji: cislo 12 je vetsi nez 3.\n" +"Zahazuji prvni prvek prvniho listu volanim metody tail.\n" +"Filtruji: cislo 0 je sude.\n" +"Filtruji: cislo 0 je sude.\n" +"Nasobim 0 trema.\n" +"Delim 0 dvema.\n" +"Filtruji: cislo 0 neni vetsi nez 3.\n" +"Filtruji: cislo 0 je sude.\n" +"Filtruji: cislo 1 neni sude.\n" +"Filtruji: cislo 2 je sude.\n" +"Filtruji: cislo 2 je sude.\n" +"Nasobim 2 trema.\n" +"Delim 6 dvema.\n" +"Filtruji: cislo 3 neni vetsi nez 3.\n" +"Filtruji: cislo 2 je sude.\n" +"Filtruji: cislo 3 neni sude.\n" +"Filtruji: cislo 4 je sude.\n" +"Filtruji: cislo 4 je sude.\n" +"Nasobim 4 trema.\n" +"Delim 12 dvema.\n" +"Filtruji: cislo 6 je vetsi nez 3.\n" +"Filtruji: cislo 4 je sude.\n" +"Zahazuji prvni prvek druheho listu volanim metody tail.\n" +"Oba heady by se mely shodovat.\n" +"Head prvniho listu:\n" +"Filtruji: cislo 5 neni sude.\n" +"Filtruji: cislo 6 je sude.\n" +"Filtruji: cislo 6 je sude.\n" +"Nasobim 6 trema.\n" +"Delim 18 dvema.\n" +"Filtruji: cislo 9 je vetsi nez 3.\n" +"9\n" +"Head druheho listu:\n" +"9");
- System.out.println("Konec ukazkoveho vystupu.");
- System.out.println("\nkonec complexView:\n");
- }
- public static void tailOfSimpleView(Function kratTri){
- System.out.println("\ntailOfSimpleView:\n");
- System.out.println("Cistim list.");
- listInt=ListFactory.nil();
- System.out.println("Pridavam prvek: 1");
- listInt=listInt.append(1);
- System.out.println("List bude view.");
- listInt=listInt.view();
- System.out.println("\nVas vystup:");
- System.out.println("Zahazuji prvni prvek volanim metody tail.");
- listInt=listInt.tail();
- System.out.println("Aplikuji mapu, cisla se ztrojnasobi.");
- listInt=listInt.map(kratTri);
- System.out.println("List je prazdny: "+listInt.isEmpty());
- System.out.println("Cistim list.");
- listInt=ListFactory.nil();
- System.out.println("Pridavam prvek: 1");
- listInt=listInt.append(1);
- System.out.println("Pridavam prvek: 2");
- listInt=listInt.append(2);
- System.out.println("List bude view.");
- listInt=listInt.view();
- System.out.println("Zahazuji prvni prvek volanim metody tail.");
- listInt=listInt.tail();
- System.out.println("Aplikuji mapu, cisla se ztrojnasobi.");
- listInt=listInt.map(kratTri);
- System.out.println("List je prazdny: "+listInt.isEmpty());
- System.out.println("Head:");
- System.out.println(listInt.head());
- System.out.println("Konec vaseho vystupu.");
- System.out.println("\nUkazkovy vystup");
- System.out.println("Zahazuji prvni prvek volanim metody tail.\n" +"Aplikuji mapu, cisla se ztrojnasobi.\n" +"List je prazdny: true\n" +"Cistim list.\n" +"Pridavam prvek: 1\n" +"Pridavam prvek: 2\n" +"List bude view.\n" +"Zahazuji prvni prvek volanim metody tail.\n" +"Aplikuji mapu, cisla se ztrojnasobi.\n" +"List je prazdny: false\n" +"Head:\n" +"Nasobim 2 trema.\n" +"6");
- System.out.println("Konec ukazkoveho vystupu.");
- System.out.println("\nkonec tailOfSimpleView:\n");
- }
- static Pr2List<Integer> listInt = ListFactory.nil();
- public static void main(String[] args) {
- Function<Integer, Integer> kratTri = new Function<Integer, Integer>() {
- @Override
- public Integer apply(Integer input) {
- System.out.println("Nasobim "+input+" trema.");
- return input*3;
- }};
- Function<Integer, Integer> kratDva = new Function<Integer, Integer>() {
- @Override
- public Integer apply(Integer input) {
- System.out.println("Nasobim "+input+" dvema.");
- return input*2;
- }};
- Function<Integer, Integer> delenoDvema = new Function<Integer, Integer>() {
- @Override
- public Integer apply(Integer input) {
- System.out.println("Delim "+input+" dvema.");
- return input/2;
- }};
- Predicate<Integer> liche = new Predicate<Integer>(){
- @Override
- public boolean apply(Integer t) {
- System.out.print("Filtruji: ");
- if (t % 2 == 1) {
- System.out.println("cislo "+t+" je liche.");
- } else {
- System.out.println("cislo "+t+" neni liche.");
- }
- return t % 2 == 1;
- }};
- Predicate<Integer> sude = new Predicate<Integer>(){
- @Override
- public boolean apply(Integer t) {
- System.out.print("Filtruji: ");
- if (t % 2 == 0) {
- System.out.println("cislo "+t+" je sude.");
- } else {
- System.out.println("cislo "+t+" neni sude.");
- }
- return t % 2 == 0;
- }};
- Predicate<Integer> vetsiNezTri = new Predicate<Integer>(){
- @Override
- public boolean apply(Integer t) {
- System.out.print("Filtruji: ");
- if (t > 3) {
- System.out.println("cislo "+t+" je vetsi nez 3.");
- } else {
- System.out.println("cislo "+t+" neni vetsi nez 3.");
- }
- return t > 3;
- }};
- header();
- System.out.println("\n\n\nTestovani:");
- appendAndFilter(sude);
- listInt=ListFactory.nil();
- System.out.println("Vycisteni seznamu.");
- consAndMapAndIsEmpty(kratDva);
- viewAndviewFilter(sude);
- viewMap(kratDva);
- System.out.println("Testování upload systemu:");
- complexView(sude, vetsiNezTri, kratTri, delenoDvema);
- tailOfSimpleView(kratTri);
- System.out.println("Konec testovani.");
- }
Advertisement
Add Comment
Please, Sign In to add comment