Advertisement
Guest User

Untitled

a guest
Nov 11th, 2019
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 7.50 KB | None | 0 0
  1. /*
  2. * To change this license header, choose License Headers in Project Properties.
  3. * To change this template file, choose Tools | Templates
  4. * and open the template in the editor.
  5.  */
  6.  
  7.  /*
  8. perbalansivmas- pasukimas (rotation)
  9. jei kraste - viengubas (kairys zag, dešinys zag)
  10. jei vienas ten kitas ten (dvigubas - vienas į dešinę kitas į kirę) (D zigzag, K zagzig)
  11.  */
  12. package edu.ktu.ds.lab2.karalaitis;
  13.  
  14. import edu.ktu.ds.lab2.utils.*;
  15. import java.util.ArrayList;
  16.  
  17. import java.util.Arrays;
  18. import java.util.Collections;
  19. import java.util.Iterator;
  20. import java.util.Locale;
  21.  
  22. /**
  23.  *
  24.  * @author Armandas
  25.  */
  26. public class ManualTest {
  27.  
  28. //    static ParsableBstSet<Book> booksSet = new ParsableBstSet<>(Book::new);
  29. //    static ParsableSortedSet<Book> cSeries = new ParsableBstSet<>(Book::new, Book.byPrice);
  30.     public static void main(String[] args) throws CloneNotSupportedException {
  31.         Locale.setDefault(Locale.US);
  32.         executeTest();
  33.     }
  34.  
  35.     public static void executeTest() throws CloneNotSupportedException {
  36.  
  37.         Ks.oun("Pradedamas testavimas...");
  38.         Ks.oun("------------------------------------------------------------");
  39.         Book[] books = gautiMasyva();                                           //sudedu knygas į masyvą
  40.         ParsableBstSet<Book> booksSet = sudetiDuomenis(books);                  //sudedu į BST medį
  41.         Ks.oun("Knygų BST medis:");
  42.         Ks.oun(booksSet.toVisualizedString(""));
  43.         Ks.oun("------------------------------------------------------------");
  44.         booksSet = sudetiDuomenis(books);
  45.         Ks.oun("Testuojamas headSet():");                                       //testuojamas headSet
  46.         testHeadSet(booksSet, books[3]);
  47.         Ks.oun("------------------------------------------------------------");
  48.         booksSet = sudetiDuomenis(books);
  49.         Ks.oun("Testuojamas testSubSet():");                                    //testuojamas subSet
  50.         testSubSet(booksSet, books[1], books[6]);
  51.         Ks.oun("------------------------------------------------------------");
  52.         booksSet = sudetiDuomenis(books);
  53.         Ks.oun("Testuojamas tailSet():");                                       //testuojamas tailSet
  54.         testTailSet(booksSet, books[2]);
  55.         Ks.oun("------------------------------------------------------------");
  56.  
  57.         Ks.oun("Privalomi BST metodai ištestuoti");
  58.         Ks.oun("^_^");
  59.         Ks.oun("Testuojami individualūs BST metodai");
  60.  
  61.         Ks.oun("------------------------------------------------------------");
  62.         booksSet = sudetiDuomenis(books);
  63.         Ks.oun("Testuojamas last():");                                          //10 individualus - last()
  64.         last(booksSet);
  65.         Ks.oun("------------------------------------------------------------");
  66.         booksSet = sudetiDuomenis(books);
  67.         Ks.oun("Testuojamas individualus haedSet():");                          //8  individualus - headSet()
  68.         testHeadSet2(booksSet, books[3], false);
  69.         Ks.oun("------------------------------------------------------------");
  70.         booksSet = sudetiDuomenis(books);
  71.         Ks.oun("Testuojamas individualus subSet():");                           //14 individualus - subSet()
  72.         testSubSet2(booksSet, books[1], true, books[6], true);
  73.         Ks.oun("------------------------------------------------------------");
  74.  
  75.         Ks.oun("Individualūs BST metodai ištestuoti");
  76.         Ks.oun("^_^");
  77.         Ks.oun("Testuojamas AVL");
  78.  
  79.         Ks.oun("------------------------------------------------------------");
  80.         ParsableAvlSet<Book> booksSetAVL = sudetiDuomenisAVL(books);            //sudedu duom i AVL
  81.         Ks.oun("Pradinis AVL medis:");
  82.         Ks.oun(booksSetAVL.toVisualizedString(""));
  83.         Ks.oun("------------------------------------------------------------");
  84.         Ks.oun("Testuojamas AVL remove:");                                      //testuojamas AVL remove
  85.         AVLRemove(booksSetAVL, books[4]);
  86.         Ks.oun("------------------------------------------------------------");
  87.  
  88. //        booksSet = sudetiDuomenis(books);
  89. //        Ks.oun(booksSet.height());                
  90.         Ks.oun("TESTAVIMAS BAIGTAS");
  91.         Ks.oun("------------------------------------------------------------");
  92.     }
  93.  
  94.     public static ParsableAvlSet<Book> sudetiDuomenisAVL(Book[] books) {
  95.         ParsableAvlSet<Book> booksSet = new ParsableAvlSet<>(Book::new);
  96.  
  97.         for (Book a : books) {
  98.             booksSet.add(a);
  99.         }
  100.  
  101.         return booksSet;
  102.     }
  103.  
  104.     public static void testSubSet2(ParsableBstSet<Book> booksSet, Book pirma, boolean inclusive1, Book antra, boolean inclusive2) throws CloneNotSupportedException {
  105.         Ks.oun("Subsetinamos knygos: " + "\n "
  106.                 + pirma + " inclusive: " + inclusive1 + ";\n "
  107.                 + antra + " inclusive: " + inclusive2 + ";");
  108.         Ks.oun(booksSet.subSet(pirma, inclusive1, antra, inclusive2).toVisualizedString(""));
  109.     }
  110.  
  111.     public static void testHeadSet2(ParsableBstSet<Book> booksSet, Book knyga, boolean inclusive) {
  112.         Ks.oun("Headsetinta knyga: " + knyga + "; incliusive " + inclusive);
  113.         Ks.oun(booksSet.headSet(knyga, inclusive).toVisualizedString(""));
  114.     }
  115.  
  116.     public static void last(ParsableBstSet<Book> booksSet) {
  117.         Ks.oun("Paskutinis elementas: ");
  118.         Ks.oun(booksSet.last());
  119.     }
  120.  
  121.     public static Book[] gautiMasyva() {
  122.         Book a1 = new Book("Kazys Saja", "Gudragalviai", 2018, 2000, 9.6);
  123.         Book a2 = new Book("Andrius Pauliukevičius", "Tobulas maistas sportuojantiems", 2019, 2000, 8.0);
  124.         Book a3 = new Book("Kristijonas Donelaitis", "Metai", 2014, 3000, 9.1);
  125.         Book a4 = new Book("Vydūnas", "Probočių šešėliai", 2004, 2100, 8.6);
  126.         Book a5 = new Book("Algirdas Butkevičius", "Prietaisas", 2017, 30000, 8.56);
  127.         Book a6 = new Book("Vincas Mykolaitis-Putinas", "Altorių Šešėly", 2004, 21000, 8.678);
  128.         Book a7 = new Book("Dievas", "Biblija", 2017, 30000, 8.22);
  129.  
  130.         Book[] books = {a3, a4, a5, a1, a2, a6, a7};
  131.  
  132.         return books;
  133.     }
  134.  
  135.     public static ParsableBstSet<Book> sudetiDuomenis(Book[] books) throws CloneNotSupportedException {
  136.         ParsableBstSet<Book> booksSet = new ParsableBstSet<>(Book::new);
  137.  
  138.         for (Book a : books) {
  139.             booksSet.add(a);
  140.         }
  141.  
  142.         return booksSet;
  143.     }
  144.  
  145.     public static void testHeadSet(ParsableBstSet<Book> booksSet, Book knyga4) throws CloneNotSupportedException {
  146.         Ks.oun("Headsetinta knyga: ");
  147.         Ks.oun(booksSet.headSet(knyga4).toVisualizedString(""));
  148.     }
  149.  
  150.     public static void testSubSet(ParsableBstSet<Book> booksSet, Book pirma, Book antra) throws CloneNotSupportedException {
  151.         Ks.oun("Knygos, esančios tarp šių knygų: " + pirma + " ir " + antra);
  152.         Ks.oun("SubSet Testas:");
  153.         Ks.oun(booksSet.subSet(pirma, antra).toVisualizedString(""));
  154.     }
  155.  
  156.     public static void testTailSet(ParsableBstSet<Book> booksSet, Book testuojama) throws CloneNotSupportedException {
  157.         Ks.oun("TailSet pagal knygą: " + testuojama);
  158.         Ks.oun("TailSet Testas:");
  159.         Ks.oun(booksSet.tailSet(testuojama).toVisualizedString(""));
  160.     }
  161.  
  162.     public static void AVLRemove(ParsableAvlSet<Book> booksSet, Book removable) throws CloneNotSupportedException {
  163.         Ks.oun("Išmetu šitą knygą: " + removable);
  164.         Ks.oun("Po pašalinimo: ");
  165.         booksSet.remove(removable);
  166.         Ks.oun(booksSet.toVisualizedString(""));
  167.     }
  168. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement