Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
- /*
- perbalansivmas- pasukimas (rotation)
- jei kraste - viengubas (kairys zag, dešinys zag)
- jei vienas ten kitas ten (dvigubas - vienas į dešinę kitas į kirę) (D zigzag, K zagzig)
- */
- package edu.ktu.ds.lab2.karalaitis;
- import edu.ktu.ds.lab2.utils.*;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.Collections;
- import java.util.Iterator;
- import java.util.Locale;
- /**
- *
- * @author Armandas
- */
- public class ManualTest {
- // static ParsableBstSet<Book> booksSet = new ParsableBstSet<>(Book::new);
- // static ParsableSortedSet<Book> cSeries = new ParsableBstSet<>(Book::new, Book.byPrice);
- public static void main(String[] args) throws CloneNotSupportedException {
- Locale.setDefault(Locale.US);
- executeTest();
- }
- public static void executeTest() throws CloneNotSupportedException {
- Ks.oun("Pradedamas testavimas...");
- Ks.oun("------------------------------------------------------------");
- Book[] books = gautiMasyva(); //sudedu knygas į masyvą
- ParsableBstSet<Book> booksSet = sudetiDuomenis(books); //sudedu į BST medį
- Ks.oun("Knygų BST medis:");
- Ks.oun(booksSet.toVisualizedString(""));
- Ks.oun("------------------------------------------------------------");
- booksSet = sudetiDuomenis(books);
- Ks.oun("Testuojamas headSet():"); //testuojamas headSet
- testHeadSet(booksSet, books[3]);
- Ks.oun("------------------------------------------------------------");
- booksSet = sudetiDuomenis(books);
- Ks.oun("Testuojamas testSubSet():"); //testuojamas subSet
- testSubSet(booksSet, books[1], books[6]);
- Ks.oun("------------------------------------------------------------");
- booksSet = sudetiDuomenis(books);
- Ks.oun("Testuojamas tailSet():"); //testuojamas tailSet
- testTailSet(booksSet, books[2]);
- Ks.oun("------------------------------------------------------------");
- Ks.oun("Privalomi BST metodai ištestuoti");
- Ks.oun("^_^");
- Ks.oun("Testuojami individualūs BST metodai");
- Ks.oun("------------------------------------------------------------");
- booksSet = sudetiDuomenis(books);
- Ks.oun("Testuojamas last():"); //10 individualus - last()
- last(booksSet);
- Ks.oun("------------------------------------------------------------");
- booksSet = sudetiDuomenis(books);
- Ks.oun("Testuojamas individualus haedSet():"); //8 individualus - headSet()
- testHeadSet2(booksSet, books[3], false);
- Ks.oun("------------------------------------------------------------");
- booksSet = sudetiDuomenis(books);
- Ks.oun("Testuojamas individualus subSet():"); //14 individualus - subSet()
- testSubSet2(booksSet, books[1], true, books[6], true);
- Ks.oun("------------------------------------------------------------");
- Ks.oun("Individualūs BST metodai ištestuoti");
- Ks.oun("^_^");
- Ks.oun("Testuojamas AVL");
- Ks.oun("------------------------------------------------------------");
- ParsableAvlSet<Book> booksSetAVL = sudetiDuomenisAVL(books); //sudedu duom i AVL
- Ks.oun("Pradinis AVL medis:");
- Ks.oun(booksSetAVL.toVisualizedString(""));
- Ks.oun("------------------------------------------------------------");
- Ks.oun("Testuojamas AVL remove:"); //testuojamas AVL remove
- AVLRemove(booksSetAVL, books[4]);
- Ks.oun("------------------------------------------------------------");
- // booksSet = sudetiDuomenis(books);
- // Ks.oun(booksSet.height());
- Ks.oun("TESTAVIMAS BAIGTAS");
- Ks.oun("------------------------------------------------------------");
- }
- public static ParsableAvlSet<Book> sudetiDuomenisAVL(Book[] books) {
- ParsableAvlSet<Book> booksSet = new ParsableAvlSet<>(Book::new);
- for (Book a : books) {
- booksSet.add(a);
- }
- return booksSet;
- }
- public static void testSubSet2(ParsableBstSet<Book> booksSet, Book pirma, boolean inclusive1, Book antra, boolean inclusive2) throws CloneNotSupportedException {
- Ks.oun("Subsetinamos knygos: " + "\n "
- + pirma + " inclusive: " + inclusive1 + ";\n "
- + antra + " inclusive: " + inclusive2 + ";");
- Ks.oun(booksSet.subSet(pirma, inclusive1, antra, inclusive2).toVisualizedString(""));
- }
- public static void testHeadSet2(ParsableBstSet<Book> booksSet, Book knyga, boolean inclusive) {
- Ks.oun("Headsetinta knyga: " + knyga + "; incliusive " + inclusive);
- Ks.oun(booksSet.headSet(knyga, inclusive).toVisualizedString(""));
- }
- public static void last(ParsableBstSet<Book> booksSet) {
- Ks.oun("Paskutinis elementas: ");
- Ks.oun(booksSet.last());
- }
- public static Book[] gautiMasyva() {
- Book a1 = new Book("Kazys Saja", "Gudragalviai", 2018, 2000, 9.6);
- Book a2 = new Book("Andrius Pauliukevičius", "Tobulas maistas sportuojantiems", 2019, 2000, 8.0);
- Book a3 = new Book("Kristijonas Donelaitis", "Metai", 2014, 3000, 9.1);
- Book a4 = new Book("Vydūnas", "Probočių šešėliai", 2004, 2100, 8.6);
- Book a5 = new Book("Algirdas Butkevičius", "Prietaisas", 2017, 30000, 8.56);
- Book a6 = new Book("Vincas Mykolaitis-Putinas", "Altorių Šešėly", 2004, 21000, 8.678);
- Book a7 = new Book("Dievas", "Biblija", 2017, 30000, 8.22);
- Book[] books = {a3, a4, a5, a1, a2, a6, a7};
- return books;
- }
- public static ParsableBstSet<Book> sudetiDuomenis(Book[] books) throws CloneNotSupportedException {
- ParsableBstSet<Book> booksSet = new ParsableBstSet<>(Book::new);
- for (Book a : books) {
- booksSet.add(a);
- }
- return booksSet;
- }
- public static void testHeadSet(ParsableBstSet<Book> booksSet, Book knyga4) throws CloneNotSupportedException {
- Ks.oun("Headsetinta knyga: ");
- Ks.oun(booksSet.headSet(knyga4).toVisualizedString(""));
- }
- public static void testSubSet(ParsableBstSet<Book> booksSet, Book pirma, Book antra) throws CloneNotSupportedException {
- Ks.oun("Knygos, esančios tarp šių knygų: " + pirma + " ir " + antra);
- Ks.oun("SubSet Testas:");
- Ks.oun(booksSet.subSet(pirma, antra).toVisualizedString(""));
- }
- public static void testTailSet(ParsableBstSet<Book> booksSet, Book testuojama) throws CloneNotSupportedException {
- Ks.oun("TailSet pagal knygą: " + testuojama);
- Ks.oun("TailSet Testas:");
- Ks.oun(booksSet.tailSet(testuojama).toVisualizedString(""));
- }
- public static void AVLRemove(ParsableAvlSet<Book> booksSet, Book removable) throws CloneNotSupportedException {
- Ks.oun("Išmetu šitą knygą: " + removable);
- Ks.oun("Po pašalinimo: ");
- booksSet.remove(removable);
- Ks.oun(booksSet.toVisualizedString(""));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement