diff --git a/.idea/.name b/.idea/.name new file mode 100644 index 0000000..effee0e --- /dev/null +++ b/.idea/.name @@ -0,0 +1 @@ +JavaCore2 \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml index 7193838..8b13f4a 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -7,5 +7,7 @@ - + + + \ No newline at end of file diff --git a/JavaCore2.iml b/JavaCore2.iml index 24ab829..da975dc 100644 --- a/JavaCore2.iml +++ b/JavaCore2.iml @@ -1,5 +1,6 @@ + @@ -10,8 +11,20 @@ + + + + + + + + + + + + @@ -32,6 +45,19 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/apiTests.xml b/apiTests.xml new file mode 100644 index 0000000..550e8d7 --- /dev/null +++ b/apiTests.xml @@ -0,0 +1,23 @@ + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/chromedriver.exe b/chromedriver.exe deleted file mode 100644 index 4f88879..0000000 Binary files a/chromedriver.exe and /dev/null differ diff --git a/pom.xml b/pom.xml index badff96..9bec2ec 100644 --- a/pom.xml +++ b/pom.xml @@ -19,9 +19,26 @@ 11 + + org.apache.maven.plugins + maven-surefire-plugin + 3.0.0-M3 + + + ${browser}.xml + + + + + + org.mariadb.jdbc + mariadb-java-client + 2.6.0 + + org.testng testng @@ -29,17 +46,52 @@ test + + io.rest-assured + rest-assured-all + 4.3.0 + test + + org.seleniumhq.selenium selenium-java 3.141.59 + + com.google.code.gson + gson + 2.8.6 + + commons-io commons-io 2.6 + + org.apache.logging.log4j + log4j-api + 2.13.2 + + + org.apache.logging.log4j + log4j-core + 2.13.2 + + + io.rest-assured + json-path + 4.3.0 + test + + + io.rest-assured + rest-assured + 4.3.0 + test + \ No newline at end of file diff --git a/src/main/java/MyFile.java b/src/main/java/MyFile.java deleted file mode 100644 index 12d2458..0000000 --- a/src/main/java/MyFile.java +++ /dev/null @@ -1,2 +0,0 @@ -public class MyFile { -} diff --git a/src/main/java/hWA10/Airplane.java b/src/main/java/hWA10/Airplane.java new file mode 100644 index 0000000..0d6acc5 --- /dev/null +++ b/src/main/java/hWA10/Airplane.java @@ -0,0 +1,102 @@ +package hWA10; + +public class Airplane { + private String brand; + private String model; + private int capacity; + private int [] numPassengers; + private String condition; + private int price; + private int numHr; + private String type; + + public Airplane(String brand, String model, int capacity, int[] numPassengers, String condition, int price, int numHr, String type) { + this.brand = brand; + this.model = model; + this.capacity = capacity; + this.numPassengers = numPassengers; + this.condition = condition; + this.price = price; + this.numHr = numHr; + this.type = type; + } + + + public Airplane() { + + } + + public String getType() { + return type; + } + + public int getPrice() { + return price; + } + + public String getCondition() { + return condition; + } + + public String getBrand() { + return brand; + } + + public String getModel() { + return model; + } + + public int getCapacity() { + return capacity; + } + + public int getNumHr() { + return numHr; + } + + public int[] getNumPassengers() { + return numPassengers; + } + + public void setType(String type) { + this.type = type; + } + + public void setPrice(int price) { + this.price = price; + } + + public void setCondition(String condition) { + this.condition = condition; + } + + public void setModel(String model) { + this.model = model; + } + + public void setBrand(String brand) { + this.brand = brand; + } + + public void setCapacity(int capacity) { + this.capacity = capacity; + } + + public void setNumHr(int numHr) { + if (numHr > 0 && numHr < 18000){ + this.numHr = numHr; + return; + } + System.out.println("wrong numbers of hr"); + this.numHr=0; + } + + public void setNumPassengers(int[] numPassengers) { + this.numPassengers = numPassengers; + } + + public void printInfo(){ + for(int x: numPassengers){ + System.out.println("Airplane: "+brand+", model:"+model+", Type: "+type+", condition: "+condition +"\nnumber of passengers is "+x);} + } +} diff --git a/src/main/java/hWA10/Boat.java b/src/main/java/hWA10/Boat.java new file mode 100644 index 0000000..d2f03f0 --- /dev/null +++ b/src/main/java/hWA10/Boat.java @@ -0,0 +1,136 @@ +package hWA10; + +public class Boat { + private String name; + private int year; + private int price; + private String engine; + private String portName; + private double tankVolume; + private double spead; + private int[] numPassengers; + private String type; + + public Boat(String name, int year, int price, String engine, String portName, double tankVolume, double spead, int[] numPassengers, String type) { + this.name = name; + this.year = year; + this.price = price; + this.engine = engine; + this.portName = portName; + this.tankVolume = tankVolume; + this.spead = spead; + this.numPassengers = numPassengers; + this.type = type; + } + + public Boat(String name, int year, int price, String engine, String type) { + this.name = name; + this.year = year; + this.price = price; + this.engine = engine; + this.portName = portName; + this.type = type; + } + + public Boat(String name, int year, String engine, double tankVolume, double spead, int[] numPassengers, String type) { + this.name = name; + this.year = year; + this.engine = engine; + this.portName = portName; + this.tankVolume = tankVolume; + this.spead = spead; + this.numPassengers = numPassengers; + this.type = type; + } + + public Boat() { + } + + public String getName() { + return name; + } + + public int getPrice() { + return price; + } + + public double getSpead() { + return spead; + } + + public double getTankVolume() { + return tankVolume; + } + + public int getYear() { + return year; + } + + public int[] getNumPassengers() { + return numPassengers; + } + + public String getEngine() { + return engine; + } + + public String getPortName() { + return portName; + } + + public String getType() { + return type; + } + + public void setPrice(int price) { + this.price = price; + } + + public void setName(String name) { + this.name = name; + } + + public void setEngine(String engine) { + this.engine = engine; + } + + public void setNumPassengers(int[] nunPassengers) { + this.numPassengers = nunPassengers; + } + + public void setPortName(String portName) { + this.portName = portName; + } + + public void setSpead(double spead) { + this.spead = spead; + } + + public void setTankVolume(double tankVolume) { + if (tankVolume > 300 && tankVolume < 1500) { + this.tankVolume = tankVolume; + return; + } + System.out.println("wrong size of tank"); + this.tankVolume = 300; + } + + public void setType(String type) { + this.type = type; + } + + public void setYear(int year) { + if (year > 1930 && year < 2020) { + this.year = year; + return; + } + System.out.println("wrong year"); + this.year = 2020; + } + + public void printInfo() { + for (int x : numPassengers) { + System.out.println("Boat: " + name + "\nYear of construction - " + year + "\nEngine: " + engine + "\nPort: " + portName + "\nNumber of Passengers: " + x); + } + } +} diff --git a/src/main/java/hWA10/Book.java b/src/main/java/hWA10/Book.java new file mode 100644 index 0000000..b9ed83f --- /dev/null +++ b/src/main/java/hWA10/Book.java @@ -0,0 +1,111 @@ +package hWA10; + +public class Book { + private String name; + private int[] numberOfPages; + private String digital; + private String author; + private int year; + private String hardEdition; + private String condition; + + public Book(String name, int[] numberOfPages, String digital, String author, int year, String hardEdition, String condition) { + this.name = name; + this.numberOfPages = numberOfPages; + this.digital = digital; + this.author = author; + this.year = year; + this.hardEdition = hardEdition; + this.condition = condition; + } + + + public Book() { + } + + public String getCondition() { + return condition; + } + + public int getYear() { + return year; + } + + public String getName() { + return name; + } + + public String getAuthor() { + return author; + } + + public int[] getNumberOfPages() { + return numberOfPages; + } + + public String getDigital() { + return digital; + } + + public String getHardEdition() { + return hardEdition; + } + + public void setCondition(String condition) { + this.condition = condition; + } + + public void setYear(int year) { + if (year > 1850 && year < 2020) { + this.year = year; + return; + } + System.out.println("wrong year"); + this.year = 2020; + } + + + public void setName(String name) { + if (name.length() < 2) { + System.out.println("wrong name of Book"); + this.name = "00"; + return; + } + this.name = name; + } + + public void setAuthor(String author) { + if (author.length() < 2) { + System.out.println("wrong name of author"); + this.author = "00"; + return; + } + this.author = author; + } + + public void setDigital(String digital) { + this.digital = digital; + } + + public void setHardEdition(String hardEdition) { + this.hardEdition = hardEdition; + } + + public void setNumberOfPages(int[] numberOfPages) { + this.numberOfPages = numberOfPages; + } + + + + + + public void printInfo (){ + for(int x: numberOfPages) + + { + + System.out.println("Book " + name + ", Author: " + author + ", was edited in " + year + "\nNumber of pages: " + x); + } + } +} + diff --git a/src/main/java/hWA10/Work.java b/src/main/java/hWA10/Work.java new file mode 100644 index 0000000..07f7e6f --- /dev/null +++ b/src/main/java/hWA10/Work.java @@ -0,0 +1,72 @@ +package hWA10; + +public class Work { + public static void main(String[]args) { + Boat myBoat = new Boat(); + + int[] numPass={4,6,8,10,12}; + myBoat.setEngine("gas"); + myBoat.setName("Estrela do mar"); + myBoat.setNumPassengers(numPass); + myBoat.setPortName("Porto"); + myBoat.setPrice(12000); + myBoat.setSpead(12); + myBoat.setTankVolume(320); + myBoat.setType("leasure"); + myBoat.setYear(2012); + + myBoat.printInfo(); + System.out.println("========================"); + + Boat newBoat = new Boat("Caravela",2020, 1800000,"GAS","Cascais",1800.0,18.2,numPass,"leasure"); + newBoat.printInfo(); + + + + System.out.println("********************"); + + Book myBook = new Book(); + + int[]nPages ={108,253,304}; + myBook.setAuthor("Kardashian"); + myBook.setCondition("used"); + myBook.setDigital("yes"); + myBook.setHardEdition("yes"); + myBook.setName("One day of my Life"); + myBook.setYear(2019); + myBook.setNumberOfPages(nPages); + + myBook.printInfo(); + System.out.println("========================"); + + + + + Book newBook = new Book("What else",nPages,"yes","Komarov", 2020,"No","new"); + + newBook.printInfo(); + + System.out.println("********************"); + + Airplane myPlane = new Airplane(); + int [] numPassPlain={4,8,6}; + myPlane.setBrand("Airbus"); + myPlane.setCapacity(18000); + myPlane.setCondition("used"); + myPlane.setModel("A-320"); + myPlane.setNumHr(120); + myPlane.setPrice(1800000); + myPlane.setType("industrial"); + myPlane.setNumPassengers(numPass); + + + myPlane.printInfo(); + System.out.println("========================"); + + Airplane newPlain = new Airplane("Boing","770", 180000, numPassPlain, "new",24000000, 0, "industrial"); + + newPlain.printInfo(); + + + } +} diff --git a/src/main/java/hWA11/Address.java b/src/main/java/hWA11/Address.java new file mode 100644 index 0000000..fd2f00f --- /dev/null +++ b/src/main/java/hWA11/Address.java @@ -0,0 +1,34 @@ +package hWA11; + +public class Address { + private String strAddress; + private String sity; + private String county; + private int zipCode; + + public Address(String strAddress, String sity, String county, int zipCode) { + this.strAddress = strAddress; + this.sity = sity; + this.county = county; + this.zipCode = zipCode; + } + + public String getStrAddress() { + return strAddress; + } + + public String getSity() { + return sity; + } + + public String getCounty() { + return county; + } + + public int getZipCode() { + return zipCode; + } + public void printInfo(){ + System.out.println("Address: "+strAddress+", "+sity+", "+county+", "+zipCode); + } +} diff --git a/src/main/java/hWA11/Computer.java b/src/main/java/hWA11/Computer.java new file mode 100644 index 0000000..5debf71 --- /dev/null +++ b/src/main/java/hWA11/Computer.java @@ -0,0 +1,28 @@ +package hWA11; + +public class Computer { + private Monitor monitor; + private SysBlock sysBlock; + private Mouse mouse; + private KeyBoard keyboard; + + public Computer(Monitor monitor, SysBlock sysBlock, Mouse mouse, KeyBoard keyboard) { + this.monitor = monitor; + this.sysBlock = sysBlock; + this.mouse = mouse; + this.keyboard = keyboard; + } + + public SysBlock getSysBlock() { + return sysBlock; + } + + public void printInfo(){ + monitor.printInfo(); + keyboard.printInfo(); + mouse.printInfo(); + sysBlock.printInfo(); + + } + +} diff --git a/src/main/java/hWA11/Contact.java b/src/main/java/hWA11/Contact.java new file mode 100644 index 0000000..ae13b12 --- /dev/null +++ b/src/main/java/hWA11/Contact.java @@ -0,0 +1,30 @@ +package hWA11; + +public class Contact { + private Name name; + private Address address; + private Insurance insurance; + + public Contact(Name name, Address address, Insurance insurance) { + this.name = name; + this.address = address; + this.insurance = insurance; + } + + public Name getName() { + return name; + } + + public Address getAddress() { + return address; + } + + public Insurance getInsurance() { + return insurance; + } + public void printInfo(){ + name.printInfo(); + address.printInfo(); + insurance.printInfo(); + } +} diff --git a/src/main/java/hWA11/Cpu_cooler.java b/src/main/java/hWA11/Cpu_cooler.java new file mode 100644 index 0000000..d6be6ca --- /dev/null +++ b/src/main/java/hWA11/Cpu_cooler.java @@ -0,0 +1,22 @@ +package hWA11; + +public class Cpu_cooler { + private String type; + private String brand; + + public Cpu_cooler(String type, String brand) { + this.type = type; + this.brand = brand; + } + + public String getType() { + return type; + } + + public String getBrand() { + return brand; + } + public void printInfo(){ + System.out.println("CPU cooler{brand=" + brand + ", type=" + type + "}"); + } +} diff --git a/src/main/java/hWA11/Gpu.java b/src/main/java/hWA11/Gpu.java new file mode 100644 index 0000000..739d64a --- /dev/null +++ b/src/main/java/hWA11/Gpu.java @@ -0,0 +1,22 @@ +package hWA11; + +public class Gpu { + private String brand; + private String model; + + public Gpu(String brand, String model) { + this.brand = brand; + this.model = model; + } + + public String getBrand() { + return brand; + } + + public String getModel() { + return model; + } + public void printInfo(){ + System.out.println("GPU{brand=" + brand + ", model=" + model + "}"); + } +} diff --git a/src/main/java/hWA11/Hdd.java b/src/main/java/hWA11/Hdd.java new file mode 100644 index 0000000..6374819 --- /dev/null +++ b/src/main/java/hWA11/Hdd.java @@ -0,0 +1,22 @@ +package hWA11; + +public class Hdd { + private String brand; + private int capacity; + + public Hdd(String brand, int capacity) { + this.brand = brand; + this.capacity = capacity; + } + + public String getBrand() { + return brand; + } + + public int getCapacity() { + return capacity; + } + public void printInfo(){ + System.out.println("HDD{brand=" + brand + ", capacity=" + capacity + "}"); + } +} diff --git a/src/main/java/hWA11/Insurance.java b/src/main/java/hWA11/Insurance.java new file mode 100644 index 0000000..9b1dd88 --- /dev/null +++ b/src/main/java/hWA11/Insurance.java @@ -0,0 +1,33 @@ +package hWA11; + +public class Insurance { + private String type; + private String startDate; + private int duration; + private int price; + private String planName; + + public Insurance(String type, String startDate, int duration, int price, String planName) { + this.type = type; + this.startDate = startDate; + this.duration = duration; + this.price = price; + this.planName = planName; + } + + public String getPlanName() { + return planName; + } + + public String getStartDate() { + return startDate; + } + + public int getDuration() { + return duration; + } + + public void printInfo(){ + System.out.println("Insurance type: "+type+"\nPlan: "+planName+"\nStart: " +startDate+"\n\tDuration: "+duration+ " monthes"+"\nPrice per month: "+price); + } +} diff --git a/src/main/java/hWA11/KeyBoard.java b/src/main/java/hWA11/KeyBoard.java new file mode 100644 index 0000000..6c41a47 --- /dev/null +++ b/src/main/java/hWA11/KeyBoard.java @@ -0,0 +1,12 @@ +package hWA11; + +public class KeyBoard { + private String brand; + + public KeyBoard(String brand) { + this.brand = brand; + } + public void printInfo(){ + System.out.println("Keyboard brand = " + brand); + } +} diff --git a/src/main/java/hWA11/Memory.java b/src/main/java/hWA11/Memory.java new file mode 100644 index 0000000..509801d --- /dev/null +++ b/src/main/java/hWA11/Memory.java @@ -0,0 +1,22 @@ +package hWA11; + +public class Memory { + private String brand; + private int capacity; + + public Memory(String brand, int capacity) { + this.brand = brand; + this.capacity = capacity; + } + + public String getBrand() { + return brand; + } + + public int getCapacity() { + return capacity; + } + public void printInfo(){ + System.out.println("Memory{brand=" + brand + ", copacity=" + capacity + "}"); + } +} diff --git a/src/main/java/hWA11/Monitor.java b/src/main/java/hWA11/Monitor.java new file mode 100644 index 0000000..104ae19 --- /dev/null +++ b/src/main/java/hWA11/Monitor.java @@ -0,0 +1,18 @@ +package hWA11; + +public class Monitor { + private String brand; + private String model; + private int diag; + + public Monitor(String brand, String model, int diag) { + this.brand = brand; + this.model = model; + this.diag = diag; + } + + public void printInfo() { + String xx= "Monitor{brand=" + brand + ", model=" + model + ", diag=" + diag +'}'; + System.out.println(xx); + } +} diff --git a/src/main/java/hWA11/MotherBoard.java b/src/main/java/hWA11/MotherBoard.java new file mode 100644 index 0000000..3dfc6e3 --- /dev/null +++ b/src/main/java/hWA11/MotherBoard.java @@ -0,0 +1,22 @@ +package hWA11; + +public class MotherBoard { + private String brand; + private String model; + + public MotherBoard(String brand, String model) { + this.brand = brand; + this.model = model; + } + + public String getBrand() { + return brand; + } + + public String getModel() { + return model; + } + public void printInfo(){ + System.out.println("MothrBoard{brand=" + brand + ", model=" + model + "}"); + } +} diff --git a/src/main/java/hWA11/Mouse.java b/src/main/java/hWA11/Mouse.java new file mode 100644 index 0000000..0c8c1d2 --- /dev/null +++ b/src/main/java/hWA11/Mouse.java @@ -0,0 +1,12 @@ +package hWA11; + +public class Mouse { + private String brand; + + public Mouse(String brand) { + this.brand = brand; + } + public void printInfo(){ + System.out.println("Mouse = "+ brand); + } +} diff --git a/src/main/java/hWA11/Name.java b/src/main/java/hWA11/Name.java new file mode 100644 index 0000000..2a314dc --- /dev/null +++ b/src/main/java/hWA11/Name.java @@ -0,0 +1,22 @@ +package hWA11; + +public class Name { + private String name; + private String lastName; + + public Name(String name, String lastName) { + this.name = name; + this.lastName = lastName; + } + + public String getName() { + return name; + } + + public String getLastName() { + return lastName; + } + public void printInfo(){ + System.out.println("Name{ "+name+" "+lastName+" }"); + } +} diff --git a/src/main/java/hWA11/PowerSupply.java b/src/main/java/hWA11/PowerSupply.java new file mode 100644 index 0000000..c67eb74 --- /dev/null +++ b/src/main/java/hWA11/PowerSupply.java @@ -0,0 +1,22 @@ +package hWA11; + +public class PowerSupply { + private String brand; + private int power; + + public PowerSupply(String brand, int power) { + this.brand = brand; + this.power = power; + } + + public String getBrand() { + return brand; + } + + public int getPower() { + return power; + } + public void printInfo(){ + System.out.println("Power Supply{brand=" + brand + ", power=" + power + "}"); + } +} diff --git a/src/main/java/hWA11/Prosessor.java b/src/main/java/hWA11/Prosessor.java new file mode 100644 index 0000000..4da672f --- /dev/null +++ b/src/main/java/hWA11/Prosessor.java @@ -0,0 +1,22 @@ +package hWA11; + +public class Prosessor { + private String brand; + private String model; + + public Prosessor(String brand, String model) { + this.brand = brand; + this.model = model; + } + + public String getBrand() { + return brand; + } + + public String getModel() { + return model; + } + public void printInfo(){ + System.out.println("Prosessor{brand=" + brand + ", model=" + model +"}"); + } +} diff --git a/src/main/java/hWA11/SysBlock.java b/src/main/java/hWA11/SysBlock.java new file mode 100644 index 0000000..d60555e --- /dev/null +++ b/src/main/java/hWA11/SysBlock.java @@ -0,0 +1,59 @@ +package hWA11; + +public class SysBlock { + private Prosessor prosessor; + private MotherBoard motherBoard; + private Gpu gpu; + private Memory memory; + private Cpu_cooler cpuCooler; + private Hdd hdd; + private PowerSupply powerSupply; + + public SysBlock(Prosessor prosessor, MotherBoard motherBoard, Gpu gpu, Memory memory, Cpu_cooler cpuCooler, Hdd hdd, PowerSupply powerSupply) { + this.prosessor = prosessor; + this.motherBoard = motherBoard; + this.gpu = gpu; + this.memory = memory; + this.cpuCooler = cpuCooler; + this.hdd = hdd; + this.powerSupply = powerSupply; + } + + public Prosessor getProsessor() { + return prosessor; + } + + public MotherBoard getMotherBoard() { + return motherBoard; + } + + public Gpu getGpu() { + return gpu; + } + + public Memory getMemory() { + return memory; + } + + public Cpu_cooler getCpuCooler() { + return cpuCooler; + } + + public Hdd getHdd() { + return hdd; + } + + public PowerSupply getPowerSupply() { + return powerSupply; + } + public void printInfo(){ + prosessor.printInfo(); + motherBoard.printInfo(); + gpu.printInfo(); + memory.printInfo(); + cpuCooler.printInfo(); + hdd.printInfo(); + powerSupply.printInfo(); + + } +} diff --git a/src/main/java/hWA11/Work.java b/src/main/java/hWA11/Work.java new file mode 100644 index 0000000..9dbacf3 --- /dev/null +++ b/src/main/java/hWA11/Work.java @@ -0,0 +1,34 @@ +package hWA11; + +public class Work { + public static void main(String[]args){ + + Mouse mouse=new Mouse("Apple"); + Monitor monitor =new Monitor("Apple","27'iMac",27); + KeyBoard keyBoard = new KeyBoard("Apple"); + + Prosessor prosessor = new Prosessor("Intel", "I9"); + MotherBoard motherBoard = new MotherBoard("Azuz","z-390"); + Gpu gpu = new Gpu("MSI", "RX580"); + Memory memory=new Memory("Corser", 32); + Cpu_cooler cpuCooler = new Cpu_cooler("Air","Corsar"); + Hdd hdd=new Hdd("Intel", 600); + PowerSupply powerSupply = new PowerSupply("Corsar", 700); + + SysBlock sysBlock=new SysBlock(prosessor,motherBoard,gpu, memory, cpuCooler, hdd, powerSupply); + Computer myComputer = new Computer(monitor, sysBlock, mouse, keyBoard); + + + myComputer.printInfo(); + System.out.println("Memory capacity of my computer is : "+myComputer.getSysBlock().getMemory().getCapacity()); + + System.out.println("______________________"); + + Insurance insurance=new Insurance("STM","May/7/2020",6,125,"NatGen PPO 100000"); + Address address = new Address("138 Paelhe Str.","Huston","Baton Ruge",78701); + Name name = new Name("Lana","Coelha"); + + Contact contact = new Contact(name,address, insurance); + contact.printInfo(); + } +} diff --git a/src/main/java/hWA12/Boat.java b/src/main/java/hWA12/Boat.java new file mode 100644 index 0000000..43e3f5c --- /dev/null +++ b/src/main/java/hWA12/Boat.java @@ -0,0 +1,17 @@ +package hWA12; + +public class Boat extends Transport { + private String boatType; + + public Boat(int price, String type, String fuel, String boatType) { + super(price, type, fuel); + this.boatType = boatType; + } + + public String getBoatType() { + return boatType; + } + public String toString(){ + return "Boat type:" +boatType+" it's a "+type+" type;\nPrice: "+price+"\nfuel: "+fuel; + } +} diff --git a/src/main/java/hWA12/Motor.java b/src/main/java/hWA12/Motor.java new file mode 100644 index 0000000..12ba2a5 --- /dev/null +++ b/src/main/java/hWA12/Motor.java @@ -0,0 +1,28 @@ +package hWA12; + +public class Motor{ + private int hPw; + private String motorType; + private String brand; + + public Motor(int hPw, String motorType, String brand) { + this.hPw = hPw; + this.motorType = motorType; + this.brand = brand; + } + + public int gethPw() { + return hPw; + } + + public String getMotorType() { + return motorType; + } + + public String getBrand() { + return brand; + } + public String toString(){ + return "Motor "+brand+" with "+hPw+" horse Powers \ntype of motor: "+motorType+"."; + } +} diff --git a/src/main/java/hWA12/Plane.java b/src/main/java/hWA12/Plane.java new file mode 100644 index 0000000..da470fe --- /dev/null +++ b/src/main/java/hWA12/Plane.java @@ -0,0 +1,30 @@ +package hWA12; + +public class Plane extends Transport { + protected int quantOfIlluminators; + protected int quantOfHoursOnAir; + protected Motor motor; + + public Plane(int quantityOfWheels, int price, String type, String fuel, int quantOfIlluminators, int quantOfHoursOnAir, Motor motor) { + super(quantityOfWheels, price, type, fuel); + this.quantOfIlluminators = quantOfIlluminators; + this.quantOfHoursOnAir = quantOfHoursOnAir; + this.motor=motor; + } + + + public int getQuantOfIlluminators() { + return quantOfIlluminators; + } + + public int getQuantOfHoursOnAir() { + return quantOfHoursOnAir; + } + public Motor getMotor() { + return motor; + } + + public String toString(){ + return"Plane with: "+quantityOfWheels+" wheels, \ntype of plane: "+type+", \nquantity of H on air: "+quantOfHoursOnAir+",\nprice: "+price +",\nMotor:"+motor.toString(); + } +} diff --git a/src/main/java/hWA12/Transport.java b/src/main/java/hWA12/Transport.java new file mode 100644 index 0000000..c758ec4 --- /dev/null +++ b/src/main/java/hWA12/Transport.java @@ -0,0 +1,40 @@ +package hWA12; + +public class Transport { + protected int quantityOfWheels; + protected int price; + protected String type; + protected String fuel; + + public Transport(int quantityOfWheels, int price, String type, String fuel) { + this.quantityOfWheels = quantityOfWheels; + this.price = price; + this.type = type; + this.fuel = fuel; + } + public Transport(int price, String type, String fuel) { + this.price = price; + this.type = type; + this.fuel = fuel; + } + public Transport(){} + + public int getQuantityOfWheels() { + return quantityOfWheels; + } + + public int getPrice() { + return price; + } + + public String getType() { + return type; + } + + public String getFuel() { + return fuel; + } + public void printInfo(){ + + } +} diff --git a/src/main/java/hWA12/Work.java b/src/main/java/hWA12/Work.java new file mode 100644 index 0000000..f57a497 --- /dev/null +++ b/src/main/java/hWA12/Work.java @@ -0,0 +1,18 @@ +package hWA12; + +public class Work { + public static void main(String[]args){ + + Motor planeMotor = new Motor(1800,"hidrawlique","Airbus"); + Plane myPlane = new Plane(6,24000,"Passenger","vodka",24,80,planeMotor); + Transport transport=new Transport (2,1800000,"AirPlane", "kerasine"); + + System.out.println(myPlane.toString()); + System.out.println(myPlane.getPrice()); + + Boat myBoat = new Boat(1200000,"leasure","GAS","super spead rodster"); + System.out.println(myBoat.toString()); + System.out.println("it s a "+myBoat.getType()+" boat"); + + } +} diff --git a/src/main/java/hWA13/Animals.java b/src/main/java/hWA13/Animals.java new file mode 100644 index 0000000..f395a57 --- /dev/null +++ b/src/main/java/hWA13/Animals.java @@ -0,0 +1,8 @@ +package hWA13; + +public interface Animals { + public void move(); + public void breath(); + public void song(); + public int maxAge(); +} diff --git a/src/main/java/hWA13/Carnivorous.java b/src/main/java/hWA13/Carnivorous.java new file mode 100644 index 0000000..a01e8a3 --- /dev/null +++ b/src/main/java/hWA13/Carnivorous.java @@ -0,0 +1,53 @@ +package hWA13; + +public class Carnivorous implements Animals { + protected int maxAge; + protected String typeFood; + + + public Carnivorous(int maxAge, String typeFood, String name, String habitat) { + this.maxAge = maxAge; + this.typeFood = typeFood; + } + + public int getMaxAge() { + return maxAge; + } + + public String getTypeFood() { + return typeFood; + } + + + public void setMaxAge(int maxAge) { + this.maxAge = maxAge; + } + + public void setTypeFood(String typeFood) { + this.typeFood = typeFood; + } + + + + @Override + public void move() { + System.out.println("i can run"); + } + + @Override + public void breath() { + System.out.println("i can breath"); + + } + + @Override + public void song() { + System.out.println("i can make songs"); + + } + + @Override + public int maxAge() { + return maxAge; + } +} diff --git a/src/main/java/hWA13/Cow.java b/src/main/java/hWA13/Cow.java new file mode 100644 index 0000000..262177c --- /dev/null +++ b/src/main/java/hWA13/Cow.java @@ -0,0 +1,41 @@ +package hWA13; + +public class Cow extends Herbivorous { + private String name; + private String habitate; + + public Cow(int maxAge, String typeFood, String name, String habitate) { + super(maxAge, typeFood); + this.name = name; + this.habitate = habitate; + } + + public String getName() { + return name; + } + + public String getHabitate() { + return habitate; + } + + public void setName(String name) { + this.name = name; + } + + public void setHabitate(String habitate) { + this.habitate = habitate; + } + + @Override + public void move() { + System.out.println("I can walk slowly"); + } + public void song(){ + System.out.println("my-myyyyy"); + } + + public String toString(){ + return "Name of animal: "+name+"\ncan live maximum "+ maxAge +" years,"+"\nTipical habitat "+habitate+"\nthis animal favorites food is"+typeFood; + } +} + diff --git a/src/main/java/hWA13/Herbivorous.java b/src/main/java/hWA13/Herbivorous.java new file mode 100644 index 0000000..73a9958 --- /dev/null +++ b/src/main/java/hWA13/Herbivorous.java @@ -0,0 +1,52 @@ +package hWA13; + +public class Herbivorous implements Animals { + protected int maxAge; + protected String typeFood; + + public Herbivorous(int maxAge, String typeFood) { + this.maxAge = maxAge; + this.typeFood = typeFood; + } + + public int getMaxAge() { + return maxAge; + } + + public String getTypeFood() { + return typeFood; + } + + + public void setMaxAge(int maxAge) { + this.maxAge = maxAge; + } + + public void setTypeFood(String typeFood) { + this.typeFood = typeFood; + } + + + + @Override + public void move() { + System.out.println("i can run"); + } + + @Override + public void breath() { + System.out.println("i can breath"); + + } + + @Override + public void song() { + System.out.println("i can make songs"); + + } + + @Override + public int maxAge() { + return maxAge; + } +} diff --git a/src/main/java/hWA13/Jaguar.java b/src/main/java/hWA13/Jaguar.java new file mode 100644 index 0000000..7ed88fa --- /dev/null +++ b/src/main/java/hWA13/Jaguar.java @@ -0,0 +1,36 @@ +package hWA13; + +public class Jaguar extends Carnivorous { + private String name; + private String habitate; + + public Jaguar(int maxAge, String typeFood, String name, String habitat) { + super(maxAge, typeFood, name, habitat); + this.name = name; + this.habitate = habitate; + } + + public String getName() { + return name; + } + + public String getHabitate() { + return habitate; + } + + public void setName(String name) { + this.name = name; + } + + public void setHabitate(String habitate) { + this.habitate = habitate; + } + + @Override + public void move() { + System.out.println("I can run very fast"); + } + public String toString(){ + return "Name of animal: "+name+"\ncan live maximum "+maxAge+" years,"+"\nTipical habitat "+habitate+"\nthis animal favorites food is "+typeFood; + } +} diff --git a/src/main/java/hWA13/Work.java b/src/main/java/hWA13/Work.java new file mode 100644 index 0000000..e518caf --- /dev/null +++ b/src/main/java/hWA13/Work.java @@ -0,0 +1,22 @@ +package hWA13; + +public class Work { + public static void main(String[]args){ + Animals jaguar = new Jaguar(15,"fresh meat","yellow jaguar","tropical forest"); + System.out.println(jaguar.toString()); + jaguar.breath(); + jaguar.maxAge(); + jaguar.move(); + jaguar.song(); + System.out.println("___________"); + + Animals cow = new Cow(10,"fresh and dry herbs", "Burenka","ferm"); + Animals xx=cow; + System.out.println(xx.toString()); + xx.song(); + xx.move(); + xx.breath(); + + + } +} diff --git a/src/main/java/hWA14/Amphibians.java b/src/main/java/hWA14/Amphibians.java new file mode 100644 index 0000000..e4d8a29 --- /dev/null +++ b/src/main/java/hWA14/Amphibians.java @@ -0,0 +1,4 @@ +package hWA14; + +public interface Amphibians extends Vertebrates { +} diff --git a/src/main/java/hWA14/Animals.java b/src/main/java/hWA14/Animals.java new file mode 100644 index 0000000..c859b23 --- /dev/null +++ b/src/main/java/hWA14/Animals.java @@ -0,0 +1,5 @@ +package hWA14; + +public interface Animals extends Life { + public void canMove(); +} diff --git a/src/main/java/hWA14/Area.java b/src/main/java/hWA14/Area.java new file mode 100644 index 0000000..951fda5 --- /dev/null +++ b/src/main/java/hWA14/Area.java @@ -0,0 +1,9 @@ +package hWA14; + +public enum Area { + TROPICS, + SELVA, + DESERT, + FOREST, + OCEAN +} diff --git a/src/main/java/hWA14/Bacteria.java b/src/main/java/hWA14/Bacteria.java new file mode 100644 index 0000000..f19ca2a --- /dev/null +++ b/src/main/java/hWA14/Bacteria.java @@ -0,0 +1,4 @@ +package hWA14; + +public interface Bacteria extends Life { +} diff --git a/src/main/java/hWA14/Birds.java b/src/main/java/hWA14/Birds.java new file mode 100644 index 0000000..f757ac6 --- /dev/null +++ b/src/main/java/hWA14/Birds.java @@ -0,0 +1,4 @@ +package hWA14; + +public interface Birds extends Vertebrates { +} diff --git a/src/main/java/hWA14/BlueWhales.java b/src/main/java/hWA14/BlueWhales.java new file mode 100644 index 0000000..6d8088d --- /dev/null +++ b/src/main/java/hWA14/BlueWhales.java @@ -0,0 +1,65 @@ +package hWA14; + +public class BlueWhales extends Whales{ + private String name; + + public BlueWhales(Area habitat, String name) { + super(habitat); + this.name=name; + } + + public String getName() { + return name; + } + + @Override + public void canSwim() { + System.out.println("I can swim during long time"); + + } + + @Override + public void longOfHair() { + System.out.println("I have very chort hairs"); + + } + + @Override + public void howIMove() { + System.out.println("i can only swim"); + + } + + @Override + public void myNervousSystem() { + System.out.println("I have spinal cord - i am a vertebrates"); + + } + + @Override + public void canMove() { + System.out.println("i move very gracious"); + + } + + @Override + public void breath() { + System.out.println("I breath, then i am out of water"); + + } + + @Override + public void live() { + System.out.println(" i can live a lot of years, more then peoples"); + + } + + @Override + public void reproduction() { + System.out.println("type reproduction: viviparous"); + + } + public String toString(){ + return "i am a "+name+ " My habitat is "+habitat; + } +} diff --git a/src/main/java/hWA14/Carnivores.java b/src/main/java/hWA14/Carnivores.java new file mode 100644 index 0000000..f0c2fea --- /dev/null +++ b/src/main/java/hWA14/Carnivores.java @@ -0,0 +1,35 @@ +package hWA14; + + public abstract class Carnivores implements Mammals { + protected Area habitat; + protected boolean haveLegs; + + public Carnivores(Area habitat, boolean haveLegs) { + this.habitat = habitat; + this.haveLegs = haveLegs; + } + + + public boolean getHaveLegs() { + return haveLegs; + } + + public Area getHabitat() { + return habitat; + } + + public void setHabitat(Area habitat) { + this.habitat = habitat; + } + + public void setHaveLegs(boolean haveLegs) { + this.haveLegs = haveLegs; + } + + public abstract void myMeals(); + + public void longOfHair(){ + System.out.println(" i have hairs"); + }; + +} diff --git a/src/main/java/hWA14/Fish.java b/src/main/java/hWA14/Fish.java new file mode 100644 index 0000000..379bcb4 --- /dev/null +++ b/src/main/java/hWA14/Fish.java @@ -0,0 +1,4 @@ +package hWA14; + +public interface Fish extends Vertebrates { +} diff --git a/src/main/java/hWA14/Fungi.java b/src/main/java/hWA14/Fungi.java new file mode 100644 index 0000000..12f776b --- /dev/null +++ b/src/main/java/hWA14/Fungi.java @@ -0,0 +1,4 @@ +package hWA14; + +public interface Fungi extends Life { +} diff --git a/src/main/java/hWA14/Herbivores.java b/src/main/java/hWA14/Herbivores.java new file mode 100644 index 0000000..c631f07 --- /dev/null +++ b/src/main/java/hWA14/Herbivores.java @@ -0,0 +1,4 @@ +package hWA14; + +public abstract class Herbivores implements Mammals { +} diff --git a/src/main/java/hWA14/Invertebrates.java b/src/main/java/hWA14/Invertebrates.java new file mode 100644 index 0000000..e7d3197 --- /dev/null +++ b/src/main/java/hWA14/Invertebrates.java @@ -0,0 +1,4 @@ +package hWA14; + +public interface Invertebrates extends Animals { +} diff --git a/src/main/java/hWA14/Life.java b/src/main/java/hWA14/Life.java new file mode 100644 index 0000000..c0a75d6 --- /dev/null +++ b/src/main/java/hWA14/Life.java @@ -0,0 +1,8 @@ +package hWA14; + +public interface Life { + public void breath(); + public void live(); + public void reproduction(); + +} diff --git a/src/main/java/hWA14/Lion.java b/src/main/java/hWA14/Lion.java new file mode 100644 index 0000000..3c9a99e --- /dev/null +++ b/src/main/java/hWA14/Lion.java @@ -0,0 +1,128 @@ +package hWA14; + +public class Lion extends Carnivores{ + private String name; + + public Lion(Area habitat, boolean haveLegs,String name) { + super(habitat, haveLegs); + this.name=name; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + @Override + public void myMeals() { + System.out.println("My favorite meal is fresh meat. "); + + } + @Override + public void longOfHair() { + System.out.println(" i have different long of hair "); + + } + + @Override + public void howIMove() + { + System.out.println("I can rune very fast. "); + + } + + @Override + public void myNervousSystem() { + System.out.println(" i have spinal cord and i am vertebral"); + + } + + @Override + public void canMove() { + System.out.println("I can move fast. "); + + } + + @Override + public void breath() { + System.out.println(" I can breath. "); + + } + + @Override + public void live() { + System.out.println(" i still a live. "); + + } + + @Override + public void reproduction() { + System.out.println("type reproduction: viviparous"); + + } + public String toString(){ + return "i am a "+name+ " My habitat is "+habitat+"\nI have legs "+haveLegs; + } + +// public Lion(Area habitat, boolean haveLegs, String name) { +// super(habitat, haveLegs); +// this.name = name; +// } +// +// public String getName() { +// return name; +// } +// +// @Override +// public void myMeals() { +// System.out.println("My favorite meal is fresh meat. "); +// } +// +// @Override +// public void longOfHair() { +// System.out.println(" i have different long of hair "); +// +// } +// +// @Override +// public void howIMove() { +// System.out.println("I can rune very fast. "); +// +// } +// +// @Override +// public void myNervousSystem() { +// System.out.println(" i have spinal cord and i am vertebral"); +// +// } +// +// @Override +// public void canMove() { +// System.out.println("I can move fast. "); +// +// } +// +// @Override +// public void breath() { +// System.out.println(" I can breath. "); +// +// } +// +// @Override +// public void live() { +// System.out.println(" i still a live. "); +// +// } +// +// @Override +// public void reproduction() { +// System.out.println("type reproduction: viviparous"); +// +// } +// public String toString(){ +// return "i am a "+name+ " My habitat is "+habitat+"\nI have legs "+haveLegs; +// } +} diff --git a/src/main/java/hWA14/Mammals.java b/src/main/java/hWA14/Mammals.java new file mode 100644 index 0000000..2572905 --- /dev/null +++ b/src/main/java/hWA14/Mammals.java @@ -0,0 +1,6 @@ +package hWA14; + +public interface Mammals extends Vertebrates { + public void longOfHair(); + + } diff --git a/src/main/java/hWA14/Plants.java b/src/main/java/hWA14/Plants.java new file mode 100644 index 0000000..c52749a --- /dev/null +++ b/src/main/java/hWA14/Plants.java @@ -0,0 +1,4 @@ +package hWA14; + +public interface Plants extends Life { +} diff --git a/src/main/java/hWA14/Primates.java b/src/main/java/hWA14/Primates.java new file mode 100644 index 0000000..6aaa85e --- /dev/null +++ b/src/main/java/hWA14/Primates.java @@ -0,0 +1,4 @@ +package hWA14; + +public abstract class Primates implements Mammals { +} diff --git a/src/main/java/hWA14/Reptiles.java b/src/main/java/hWA14/Reptiles.java new file mode 100644 index 0000000..815b5db --- /dev/null +++ b/src/main/java/hWA14/Reptiles.java @@ -0,0 +1,4 @@ +package hWA14; + +public interface Reptiles extends Vertebrates { +} diff --git a/src/main/java/hWA14/Rodents.java b/src/main/java/hWA14/Rodents.java new file mode 100644 index 0000000..428d28d --- /dev/null +++ b/src/main/java/hWA14/Rodents.java @@ -0,0 +1,4 @@ +package hWA14; + +public abstract class Rodents implements Mammals { +} diff --git a/src/main/java/hWA14/Seals.java b/src/main/java/hWA14/Seals.java new file mode 100644 index 0000000..b222eb5 --- /dev/null +++ b/src/main/java/hWA14/Seals.java @@ -0,0 +1,4 @@ +package hWA14; + +public abstract class Seals implements Mammals { +} diff --git a/src/main/java/hWA14/Vertebrates.java b/src/main/java/hWA14/Vertebrates.java new file mode 100644 index 0000000..ab8c4ac --- /dev/null +++ b/src/main/java/hWA14/Vertebrates.java @@ -0,0 +1,6 @@ +package hWA14; + +public interface Vertebrates extends Animals{ + public void howIMove(); + public void myNervousSystem(); +} diff --git a/src/main/java/hWA14/Whales.java b/src/main/java/hWA14/Whales.java new file mode 100644 index 0000000..ebbfeda --- /dev/null +++ b/src/main/java/hWA14/Whales.java @@ -0,0 +1,16 @@ +package hWA14; + +public abstract class Whales implements Mammals { + protected Area habitat; + + public Whales(Area habitat) { + this.habitat = habitat; + } + + public Area getHabitat() { + return habitat; + } + + public abstract void canSwim(); + +} diff --git a/src/main/java/hWA14/Wolf.java b/src/main/java/hWA14/Wolf.java new file mode 100644 index 0000000..69fdcdd --- /dev/null +++ b/src/main/java/hWA14/Wolf.java @@ -0,0 +1,70 @@ +package hWA14; + +public class Wolf extends Carnivores{ + private String name; + + public Wolf(Area habitat, boolean haveLegs,String name) { + super(habitat, haveLegs); + this.name=name; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + @Override + public void myMeals() { + System.out.println("My favorite meal is fresh rabbits. "); + + } + @Override + public void longOfHair() { + System.out.println(" i have the same long of hair every where "); + + } + + @Override + public void howIMove() + { + System.out.println("I can rune fast "); + + } + + @Override + public void myNervousSystem() { + System.out.println(" i have spinal cord and i am vertebral"); + + } + + @Override + public void canMove() { + System.out.println("I can move fast. "); + + } + + @Override + public void breath() { + System.out.println(" I can breath. "); + + } + + @Override + public void live() { + System.out.println(" i still a live. "); + + } + + @Override + public void reproduction() { + System.out.println("type reproduction: viviparous"); + + } + public String toString(){ + return "i am a "+name+ " My habitat is "+habitat+"\nI have legs "+haveLegs; + } + +} diff --git a/src/main/java/hWA14/Work.java b/src/main/java/hWA14/Work.java new file mode 100644 index 0000000..7b30107 --- /dev/null +++ b/src/main/java/hWA14/Work.java @@ -0,0 +1,49 @@ +package hWA14; + +public class Work { + public static void main (String[]args){ + System.out.println("guess who i am??????:"); + Lion lionone= new Lion(Area.SELVA,true,"lion"); + lionone.breath(); + lionone.live(); + lionone.reproduction(); + lionone.howIMove(); + lionone.longOfHair(); + lionone.myMeals(); + lionone.myNervousSystem(); + System.out.println("My name is "+lionone.getName()); + System.out.println(lionone.toString()); + System.out.println("****************"); + + System.out.println("guess who i am??????:"); + Wolf newWolf = new Wolf(Area.FOREST,true,"SpyderWolf"); + newWolf.breath(); + newWolf.canMove(); + newWolf.howIMove(); + newWolf.longOfHair(); + newWolf.myMeals(); + newWolf.myNervousSystem(); + newWolf.reproduction(); + System.out.println("My name is "+newWolf.getName()); + System.out.println(newWolf.toString()); + System.out.println("*******************"); + + System.out.println("guess who i am??????:"); + BlueWhales superWhales=new BlueWhales(Area.OCEAN,"spyderWhales"); + superWhales.breath(); + superWhales.canMove(); + superWhales.canSwim(); + superWhales.howIMove(); + superWhales.longOfHair(); + superWhales.live(); + superWhales.myNervousSystem(); + superWhales.reproduction(); + System.out.println("My name is "+superWhales.getName()); + System.out.println(superWhales.toString()); + + + + + + } +} diff --git a/src/main/java/hWA15/Address.java b/src/main/java/hWA15/Address.java new file mode 100644 index 0000000..9537429 --- /dev/null +++ b/src/main/java/hWA15/Address.java @@ -0,0 +1,22 @@ +package hWA15; + +public class Address { + private String address1; + private String address2; + + public Address(String address1, String address2) { + this.address1 = address1; + this.address2 = address2; + } + + public String getAddress1() { + return address1; + } + + public String getAddress2() { + return address2; + } + public String printInfo(){ + return "Address is: "+address1+" "+address2; + } +} diff --git a/src/main/java/hWA15/Name.java b/src/main/java/hWA15/Name.java new file mode 100644 index 0000000..9185920 --- /dev/null +++ b/src/main/java/hWA15/Name.java @@ -0,0 +1,22 @@ +package hWA15; + +public class Name { + private String name; + private String lastName; + + public Name(String name, String lastName) { + this.name = name; + this.lastName = lastName; + } + + public String getName() { + return name; + } + + public String getLastName() { + return lastName; + } + public String printInfo(){ + return "name: "+name+"last Name "+lastName; + } +} diff --git a/src/main/java/hWA15/Person.java b/src/main/java/hWA15/Person.java new file mode 100644 index 0000000..0a2c66a --- /dev/null +++ b/src/main/java/hWA15/Person.java @@ -0,0 +1,23 @@ +package hWA15; + +public class Person { + private Name name; + private Address address; + + public Person(Name name, Address address) { + this.name = name; + this.address = address; + } + + public Name getName() { + return name; + } + + public Address getAddress() { + return address; + } + public String printInfo(){ + return name.printInfo()+ " "+address.printInfo(); + + } +} diff --git a/src/main/java/hWA15/Work.java b/src/main/java/hWA15/Work.java new file mode 100644 index 0000000..f54a459 --- /dev/null +++ b/src/main/java/hWA15/Work.java @@ -0,0 +1,70 @@ +package hWA15; + +import java.util.ArrayList; + +public class Work { + public static void main(String[]args){ + ArrayList fruits=new ArrayList<>(); + fruits.add("apple"); + fruits.add("peach"); + fruits.add("pineapple"); + fruits.add("watermelon"); + System.out.println(fruits.size()); + fruits.add(0,"coco"); + System.out.println(fruits.size()); + System.out.println(fruits.get(0)); + fruits.remove("pineapple"); + System.out.println(fruits.size()); + for(String v:fruits){ + System.out.println(v); + } + + ArrayList numbers =new ArrayList<>(); + numbers.add(12); + numbers.add(14); + numbers.add(123); + numbers.add(67); + System.out.println(numbers.size()); + numbers.forEach(x-> System.out.println(x)); + numbers.add(0,800); + numbers.forEach(x-> System.out.println(x)); + numbers.remove(0); + numbers.forEach(v-> System.out.println(v)); + numbers.set(0,0); + numbers.forEach(c-> System.out.println(c)); + + + Name name1 = new Name("Ivan", "Chi"); + Address address1 = new Address("123, Edinger str","Irvine 92604, CA"); + Person person1=new Person(name1,address1); + + Name name2 = new Name("Paul", "Zhu"); + Address address2 = new Address("12, Harvard str","Irvine 92604, CA"); + Person person2=new Person(name2,address2); + + Person person3=new Person(name2,address1); + + Person person4=new Person(name1,address2); + + ArrayList students = new ArrayList<>(); + students.add(person1); + person1.printInfo(); + students.add(person2); + System.out.println(students.size()); + students.forEach(c-> System.out.println(c.printInfo())); + students.set(1,person3); + System.out.println(students.size()); + students.forEach(c-> System.out.println(c.printInfo())); + students.remove(0); + System.out.println(students.size()); + students.forEach(c-> System.out.println(c.printInfo())); + students.add(person4); + System.out.println(students.size()); + students.forEach(c-> System.out.println(c.printInfo())); + + + } + + + } + diff --git a/src/main/java/hWA16/ArtPies.java b/src/main/java/hWA16/ArtPies.java new file mode 100644 index 0000000..8fecb3e --- /dev/null +++ b/src/main/java/hWA16/ArtPies.java @@ -0,0 +1,28 @@ +package hWA16; + +public class ArtPies { + private int year; + private ArtType type; + private String nameOfArtPies; + + public ArtPies(int year, ArtType type, String nameOfArtPies) { + this.year = year; + this.type = type; + this.nameOfArtPies = nameOfArtPies; + } + + public int getYear() { + return year; + } + + public ArtType getType() { + return type; + } + + public String getNameOfArtPies() { + return nameOfArtPies; + } + public String printInfo(){ + return "Artpies: "+type+" "+nameOfArtPies+" Year: "+year; + } +} diff --git a/src/main/java/hWA16/ArtType.java b/src/main/java/hWA16/ArtType.java new file mode 100644 index 0000000..e510951 --- /dev/null +++ b/src/main/java/hWA16/ArtType.java @@ -0,0 +1,9 @@ +package hWA16; + +public enum ArtType { + SCULPTURE, + PORTRAIT, + LANDSCAPE, + NATURMORT + +} diff --git a/src/main/java/hWA16/Artist.java b/src/main/java/hWA16/Artist.java new file mode 100644 index 0000000..24bedea --- /dev/null +++ b/src/main/java/hWA16/Artist.java @@ -0,0 +1,22 @@ +package hWA16; + +public class Artist { + private String name; + private String lastname; + + public Artist(String name, String lastname) { + this.name = name; + this.lastname = lastname; + } + + public String getName() { + return name; + } + + public String getLastname() { + return lastname; + } + public String ptintInfo(){ + return "Name of artist: "+name+" "+lastname; + } +} diff --git a/src/main/java/hWA16/Work.java b/src/main/java/hWA16/Work.java new file mode 100644 index 0000000..a96b413 --- /dev/null +++ b/src/main/java/hWA16/Work.java @@ -0,0 +1,95 @@ +package hWA16; + +import java.util.HashMap; +import java.util.Map; + +public class Work { + public static void main(String[]args){ + Map colorfullfruits = new HashMap<>(); + colorfullfruits.put("mango","yellow"); + colorfullfruits.put("pear","green"); + colorfullfruits.put("strawberry","red"); + colorfullfruits.put("graips","green"); + System.out.println(colorfullfruits.size()); + colorfullfruits.replace("graips","purple"); + colorfullfruits.get("graips"); + colorfullfruits.remove("mango"); + System.out.println(colorfullfruits.size()); + + for (Map.Entry kv:colorfullfruits.entrySet()){ + System.out.print(kv.getKey()+" = "); + System.out.println(kv.getValue()); + } + + for (String key: colorfullfruits.keySet()){ + System.out.println(key); + } + + for (String value:colorfullfruits.values()){ + System.out.println(value); + } + + Map rooms = new HashMap<>(); + rooms.put(1,"entrance"); + rooms.put(2, "gestWC"); + rooms.put(3,"salon"); + rooms.put(4,"bedrooms"); + System.out.println(rooms.size()); + for (Map.Entry kv:rooms.entrySet()){ + System.out.print(kv.getKey()+" = "); + System.out.println(kv.getValue()); + } + rooms.replace(1,"salon"); + + for (Integer key: rooms.keySet()){ + System.out.println(key); + } + rooms.remove(4); + + for (String value:rooms.values()){ + System.out.println(value); + } + + Artist artist1=new Artist("Vasiliy","Petrov-Vodkin"); + ArtPies artPies1 = new ArtPies(1924,ArtType.PORTRAIT,"Burlaki na Volge"); + + Artist artist2=new Artist("Vasiliy","Petrov-Vodkin"); + ArtPies artPies2 = new ArtPies(1928,ArtType.PORTRAIT,"My neighbor"); + + Artist artist3=new Artist("Kozimir","Malevisch"); + ArtPies artPies3 = new ArtPies(1931,ArtType.LANDSCAPE,"Abstraction1"); + + Artist artist4=new Artist("Diaccomo","Carovadgy"); + ArtPies artPies4 = new ArtPies(1861,ArtType.NATURMORT,"After hunting"); + + Artist artist5=new Artist("Valter","Malevitch"); + + Map exponate=new HashMap<>(); + exponate.put(artist1,artPies1); + exponate.put(artist2,artPies2); + exponate.put(artist3,artPies3); + exponate.put(artist4,artPies4); + System.out.println(exponate.size()); + for (Map.Entry kv:exponate.entrySet()){ + System.out.println( kv.getKey().ptintInfo()+" = "+ kv.getValue().printInfo()); + } + exponate.replace(artist4,artPies1); + System.out.println(exponate.size()); + + for (ArtPies value:exponate.values()){ + System.out.println(value.printInfo()); + } + exponate.remove(artist4); + System.out.println(exponate.size()); + + for (Artist key: exponate.keySet()){ + System.out.println(key.ptintInfo()); + } + + + + + + + } +} diff --git a/src/main/java/hWA16_1/Address.java b/src/main/java/hWA16_1/Address.java new file mode 100644 index 0000000..6d79816 --- /dev/null +++ b/src/main/java/hWA16_1/Address.java @@ -0,0 +1,34 @@ +package hWA16_1; + +public class Address { + private String streetAddress; + private String town; + private String state; + private int zip; + + public Address(String streetAddress, String town, String state, int zip) { + this.streetAddress = streetAddress; + this.town = town; + this.state = state; + this.zip = zip; + } + + public String getStreetAddress() { + return streetAddress; + } + + public String getTown() { + return town; + } + + public String getState() { + return state; + } + + public int getZip() { + return zip; + } + public String printInfo(){ + return "Address of Hospital: "+"\nStreet address: "+streetAddress+"\nTown: "+town+"\nState: "+state+" "+zip; + } +} diff --git a/src/main/java/hWA16_1/Doctor.java b/src/main/java/hWA16_1/Doctor.java new file mode 100644 index 0000000..700da0f --- /dev/null +++ b/src/main/java/hWA16_1/Doctor.java @@ -0,0 +1,28 @@ +package hWA16_1; + +public class Doctor { + private String name; + private String lastName; + private Position position; + + public Doctor(String name, String lastName, Position position) { + this.name = name; + this.lastName = lastName; + this.position = position; + } + + public String getName() { + return name; + } + + public String getLastName() { + return lastName; + } + + public Position getPosition() { + return position; + } + public String printInfo(){ + return "Doctor: "+name+" "+lastName+" "+position; + } +} diff --git a/src/main/java/hWA16_1/Hospital.java b/src/main/java/hWA16_1/Hospital.java new file mode 100644 index 0000000..9c0555d --- /dev/null +++ b/src/main/java/hWA16_1/Hospital.java @@ -0,0 +1,55 @@ +package hWA16_1; + +import java.util.ArrayList; +import java.util.HashMap; + +public class Hospital { + private String hospitalName; + private Address address; + private ArrayList doctors; + private HashMap rooms; + private ArrayList acceptedInsurances; + + public Hospital(String hospitalName, Address address, ArrayList doctors, HashMap rooms, ArrayList acceptInacceptInsurances) { + this.hospitalName = hospitalName; + this.address = address; + this.doctors = doctors; + this.rooms = rooms; + this.acceptedInsurances = acceptInacceptInsurances; + } + public Hospital(String hospitalName, Address address,ArrayList acceptInacceptInsurances) { + this.hospitalName = hospitalName; + this.address = address; + this.acceptedInsurances = acceptInacceptInsurances; + + } + + + + public String getHospitalName() { + return hospitalName; + } + + public Address getAddress() { + return address; + } + + public void printInfo(){ + System.out.println(hospitalName + "\n"+address.printInfo()); + System.out.println("List of insurances:"); + acceptedInsurances.forEach(i -> System.out.println(i)); + } + + public ArrayList getDoctors() { + return doctors; + } + + public HashMap getRooms() { + return rooms; + } + + public ArrayList getAcceptInacceptInsurances() { + return acceptedInsurances; + } + +} diff --git a/src/main/java/hWA16_1/InsuranceCompanies.java b/src/main/java/hWA16_1/InsuranceCompanies.java new file mode 100644 index 0000000..1b8413d --- /dev/null +++ b/src/main/java/hWA16_1/InsuranceCompanies.java @@ -0,0 +1,9 @@ +package hWA16_1; + +public enum InsuranceCompanies { + AETNA, + UNITEDHEALTHCARE, + NATIONAL_GENERAL, + PIVOT + +} diff --git a/src/main/java/hWA16_1/Position.java b/src/main/java/hWA16_1/Position.java new file mode 100644 index 0000000..34aa7c4 --- /dev/null +++ b/src/main/java/hWA16_1/Position.java @@ -0,0 +1,11 @@ +package hWA16_1; + +public enum Position { + PHYSICIAN, + OTOLARINGOLOG, + ALLERGOLOG, + CARDIOLOG, + PSICOTERAPEVT + + +} diff --git a/src/main/java/hWA16_1/Work.java b/src/main/java/hWA16_1/Work.java new file mode 100644 index 0000000..9b2cb4a --- /dev/null +++ b/src/main/java/hWA16_1/Work.java @@ -0,0 +1,50 @@ +package hWA16_1; + +import javax.print.Doc; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Map; + +public class Work { + public static void main(String[]args) { + Address address1 = new Address("132, Howard Blvd", "Irvine", "CA", 92604); + Doctor doctor1 = new Doctor("Henry", "Voge", Position.ALLERGOLOG); + Doctor doctor2 = new Doctor("Nancy", "Cromvel", Position.CARDIOLOG); + Doctor doctor3 = new Doctor("Kira", "Vagner", Position.OTOLARINGOLOG); + Doctor doctor4 = new Doctor("Zhi", "Chang", Position.PHYSICIAN); + ArrayList doctors = new ArrayList(); + doctors.add(0, doctor1); + doctors.add(1, doctor2); + doctors.add(2, doctor3); + doctors.add(3, doctor4); + HashMap rooms = new HashMap<>(); + rooms.put(1, "Gastroenterology"); + rooms.put(0, "Alergology"); + rooms.put(3, "Oftalmology"); + rooms.put(2, "Otolaringology"); + rooms.put(4, "Generalist"); + ArrayList acceptInsurances = new ArrayList<>(); + acceptInsurances.add(0, InsuranceCompanies.AETNA); + acceptInsurances.add(1, InsuranceCompanies.NATIONAL_GENERAL); + acceptInsurances.add(2, InsuranceCompanies.PIVOT); + acceptInsurances.add(3, InsuranceCompanies.UNITEDHEALTHCARE); + + + Hospital hospital1 = new Hospital("Hoag Irvine", address1,acceptInsurances); + + hospital1.printInfo(); + + + for(Doctor x:doctors){ + System.out.println( x.printInfo()); + } + + System.out.println("Rooms of the hospital:"); + + for (Map.Entry kv:rooms.entrySet()){ + System.out.println( +kv.getKey()+" - "+ kv.getValue()); + } + + + } +} diff --git a/src/main/java/hWA7/Max.java b/src/main/java/hWA7/Max.java new file mode 100644 index 0000000..477bfca --- /dev/null +++ b/src/main/java/hWA7/Max.java @@ -0,0 +1,14 @@ +package hWA7; + +public class Max { + public static int max(int []listone){ + int max =-100000000; + for(int v:listone){ + if(v>max){ + max = v; + } + } + + return max; + } +} diff --git a/src/main/java/hWA7/Min.java b/src/main/java/hWA7/Min.java new file mode 100644 index 0000000..822722d --- /dev/null +++ b/src/main/java/hWA7/Min.java @@ -0,0 +1,14 @@ +package hWA7; + +public class Min { + public static int min(int []listone){ + int min =100000000; + for(int i=0;i listone[i + 1]) { + temp = listone[i]; + listone[i] = listone[i + 1]; + listone[i + 1] = temp; + newlist = listone; + } + } + } + + + return newlist; + + } +} + + + + diff --git a/src/main/java/hWA7/Sum.java b/src/main/java/hWA7/Sum.java new file mode 100644 index 0000000..70caf8d --- /dev/null +++ b/src/main/java/hWA7/Sum.java @@ -0,0 +1,11 @@ +package hWA7; + +public class Sum { + public static int sum(int[] list1) { + int summa =0; + for (int x : list1) { + summa = summa + x; + } + return summa; + } +} diff --git a/src/main/java/hWA7/Work.java b/src/main/java/hWA7/Work.java new file mode 100644 index 0000000..af3aafd --- /dev/null +++ b/src/main/java/hWA7/Work.java @@ -0,0 +1,34 @@ +package hWA7; + +import static hWA7.Max.max; +import static hWA7.Min.min; +import static hWA7.Sort.sort; +import static hWA7.Sum.sum; + +public class Work { + public static void main(String[]args){ + Sort sort=new Sort(); + Sum sum = new Sum(); + + int[] list = new int[]{2, 3, 4, 5, 6, 7, 8}; + System.out.print(sum(list)); + System.out.println("+++++++++++++++++++++++++++"); + + int[] listone = new int []{3,9,1,8,4,8,5}; + int [] listtwo = sort(listone); + + for (int x:listtwo) { + System.out.print(x+" "); + } + System.out.println("___________________"); + System.out.print(min(listone)); + + System.out.println("___________________"); + System.out.print(max(listone)); + + + + } +} + + diff --git a/src/main/java/hWA8/Airplane.java b/src/main/java/hWA8/Airplane.java new file mode 100644 index 0000000..a1153a8 --- /dev/null +++ b/src/main/java/hWA8/Airplane.java @@ -0,0 +1,19 @@ +package hWA8; + +public class Airplane { + public String brand; + public String model; + public int capacity; + public int numPassangers; + public String condition; + public int price; + public int numHr; + public String type; + + public void printInfo(){ System.out.println("Airplane: "+brand+", model:"+model+", Type: "+type+", condition: "+condition); } + public void commercialInfo(){ System.out.println("Commercia Informatiom of airplane: "+brand+"\nModel:"+model+", Type: "+type+"\nCondition: "+condition+"\n\tPrice: " + +price); } + public void technicalInfo(){ System.out.println("Technical Informatiom of airplane: "+brand+"\nModel:"+model+", Type: "+type+"\nCondition: "+condition+ + "\n\tCapacity: " +capacity+" M3 "+", passangers: "+numPassangers+"\nNumbers of Hr of flight: "+numHr); } + +} diff --git a/src/main/java/hWA8/Boat.java b/src/main/java/hWA8/Boat.java new file mode 100644 index 0000000..5beaef6 --- /dev/null +++ b/src/main/java/hWA8/Boat.java @@ -0,0 +1,18 @@ +package hWA8; + +public class Boat { + public String name; + public int year; + public int price; + public String engine; + public String portName; + public double tankVolume; + public double spead; + public int numPassangers; + public String type; + + public void printInfo(){System.out.println("Boat: "+name+"\nYear of construction - "+year+"\nEngine: "+engine+"\nPort: "+portName);} + public void commercialInfo(){System.out.println("Commercial Information:"+"\nBoat: "+name+", Year of construction"+year+", Engine: "+engine+", Price: "+price);} + public void technicalInfo(){System.out.println("Technical Information:"+"\nBoat: "+name+", Year of construction"+year+", Engine: "+engine+", Volume of tank: "+tankVolume+", Spead: "+spead+" km/h");} + public void capacityOfBoat(){System.out.println("Boat: "+name+" with Capacity of "+numPassangers+" passangers");} +} diff --git a/src/main/java/hWA8/Book.java b/src/main/java/hWA8/Book.java new file mode 100644 index 0000000..dace190 --- /dev/null +++ b/src/main/java/hWA8/Book.java @@ -0,0 +1,17 @@ +package hWA8; + +public class Book { + public String name; + public int numberOfPages; + public String digital; + public String author; + public int year; + public String hardEdition; + public String condition; + + public void printInfo(){System.out.println("Book "+name+", Author: "+author+", was edited in "+year + );} + public void conditionBook(){System.out.println("Book: "+name+"\nCondition: "+condition);} + public void bookEdition(){System.out.println("Book: "+name+", Author "+author+", Digital Edition: "+digital+", Paper Edition: "+hardEdition);} + public void bookSize(){System.out.println("Book: "+name+", Author: "+author+", number of pages: "+numberOfPages);} +} diff --git a/src/main/java/hWA8/Cat.java b/src/main/java/hWA8/Cat.java new file mode 100644 index 0000000..c605594 --- /dev/null +++ b/src/main/java/hWA8/Cat.java @@ -0,0 +1,16 @@ +package hWA8; + +public class Cat { + public String name; + public String bride; + public int age; + public String country; + + public void printInfo(){ + System.out.print("Cat with name: "+name+"\nfrom country: "+country+"\n\tbride: "+bride+"\n\tage: "+age); + System.out.println(""); + } + public void catSlip(){System.out.println("Cat with name "+name+" is sliping");} + public void catSong(){System.out.println("Cat " +name+" say "+ " Miau=Miau");} + public void catMoving(){System.out.println("Cat "+name+" is jumping");} +} diff --git a/src/main/java/hWA8/Work.java b/src/main/java/hWA8/Work.java new file mode 100644 index 0000000..2d81f41 --- /dev/null +++ b/src/main/java/hWA8/Work.java @@ -0,0 +1,132 @@ +package hWA8; + +public class Work { + public static void main(String[] args) { + Cat myCat = new Cat(); + Book myBook = new Book(); + Boat myBoat = new Boat(); + Airplane airplane=new Airplane(); + + myCat.country="USA"; + myCat.age=2; + myCat.bride="DvorCat"; + myCat.name="Pussy"; + + myCat.printInfo(); + myCat.catMoving(); + myCat.catSlip(); + myCat.catSong(); + System.out.println(""); + + myCat.country="Germany"; + myCat.age=8; + myCat.bride="Gipsy"; + myCat.name="Lion"; + + myCat.printInfo(); + myCat.catMoving(); + myCat.catSlip(); + myCat.catSong(); + + System.out.println(""); + + myBook.numberOfPages=208; + myBook.author="Paulo Coelho"; + myBook.hardEdition="Yes"; + myBook.digital="Yes"; + myBook.condition="New"; + myBook.name="Alchemist - 25th Aniv."; + myBook.year=2013; + + myBook.printInfo(); + myBook.bookEdition(); + myBook.bookSize(); + myBook.conditionBook(); + + System.out.println(""); + + myBook.numberOfPages=504; + myBook.author="Karen Cho"; + myBook.hardEdition="Yes"; + myBook.digital="No"; + myBook.condition="Used"; + myBook.name="Gerra na Lua"; + myBook.year=2012; + + myBook.printInfo(); + myBook.bookEdition(); + myBook.bookSize(); + myBook.conditionBook(); + + System.out.println(""); + + myBoat.numPassangers=6; + myBoat.spead=10.0; + myBoat.tankVolume = 100; + myBoat.portName="Dana Point"; + myBoat.engine = "Gas"; + myBoat.name = "Estrela do Mar"; + myBoat.price = 13000; + myBoat.type="leasure"; + myBoat.year=2013; + + myBoat.printInfo(); + myBoat.capacityOfBoat(); + myBoat.commercialInfo(); + myBoat.technicalInfo(); + + + System.out.println(""); + + myBoat.numPassangers=4; + myBoat.spead=10.0; + myBoat.tankVolume = 80; + myBoat.portName="Dana Point"; + myBoat.engine = "Wing"; + myBoat.name = "Coco"; + myBoat.price = 4000; + myBoat.type="leasure"; + myBoat.year=2011; + + myBoat.printInfo(); + myBoat.capacityOfBoat(); + myBoat.commercialInfo(); + myBoat.technicalInfo(); + + System.out.println(""); + airplane.numHr=8000; + airplane.numPassangers=235; + airplane.capacity=18000; + airplane.condition="used"; + airplane.type="commercial"; + airplane.brand="Boing"; + airplane.model="A-999"; + airplane.price=230000; + + airplane.printInfo(); + airplane.commercialInfo(); + airplane.technicalInfo(); + + + + System.out.println(""); + airplane.numHr=1000; + airplane.numPassangers=500; + airplane.capacity=16000; + airplane.condition="new"; + airplane.type="commercial"; + airplane.brand="Airbus"; + airplane.model="A-3565"; + airplane.price=1800000; + + airplane.printInfo(); + airplane.commercialInfo(); + airplane.technicalInfo(); + + + + + + + } +} diff --git a/src/main/java/hWAFibonacciNumbers.java b/src/main/java/hWAFibonacciNumbers.java new file mode 100644 index 0000000..e06e8c7 --- /dev/null +++ b/src/main/java/hWAFibonacciNumbers.java @@ -0,0 +1,14 @@ +public class hWAFibonacciNumbers { + public static void main(String[] args) { + int n=9; + int n1=0;int n2=1; + System.out.println("sequence of "+n+" Fibonacci numbers"); + for(int i=1;i<=n;i++){ + System.out.println(n1+" "); + int someOfTwo = n1+n2; + n1=n2; + n2=someOfTwo; + } + + } +} diff --git a/src/main/java/hWAMaxNumber.java b/src/main/java/hWAMaxNumber.java new file mode 100644 index 0000000..5841694 --- /dev/null +++ b/src/main/java/hWAMaxNumber.java @@ -0,0 +1,19 @@ +public class hWAMaxNumber { + public static void main(String[] args) { + int[] numbers=new int[]{23,1,5,56,567,78,98,6,900}; + printMaxNumber(numbers); + } + public static void printMaxNumber(int[] numbers){ + int max = numbers[0]; + for(int i=1;i list = new ArrayList(); + list.add(2); + list.add(23); + list.add(32); + list.add(88); + list.add(98); + + int max = list.get(0); + for (int xx : list) { + + + for (int i = 1; i < list.size(); i++) { + if (max < xx) { + max = xx; + } + + } + + } + System.out.println(max); + } + } + + + diff --git a/src/main/java/hWAOddNumbers.java b/src/main/java/hWAOddNumbers.java new file mode 100644 index 0000000..2c11154 --- /dev/null +++ b/src/main/java/hWAOddNumbers.java @@ -0,0 +1,14 @@ +public class hWAOddNumbers { + public static void main(String[] args) { + int[] list = new int[]{7, 8, 9, 56, 34, 22, 32, 45, 56, 65}; + printOddNumbers(list); + } + + private static void printOddNumbers(int[] list) { + for(int x:list){ + if(x%2==1){ + System.out.println(x); + } + } + } +} diff --git a/src/main/java/hWASortByKeyNumberHashMap.java b/src/main/java/hWASortByKeyNumberHashMap.java new file mode 100644 index 0000000..e740a2f --- /dev/null +++ b/src/main/java/hWASortByKeyNumberHashMap.java @@ -0,0 +1,28 @@ +import java.util.*; + +public class hWASortByKeyNumberHashMap { + public static void main(String[] args) { + Map list = new HashMap<>(); + list.put(2, "a"); + list.put(4, "k"); + list.put(8, "z"); + list.put(1, "h"); + List listByKey = new ArrayList<>(list.keySet()); + Collections.sort(listByKey); + for(Integer xx:listByKey){ + System.out.println(xx); + } + Map listOne = new HashMap<>(); + + for (Integer i = 0; i < listByKey.size(); i++) { + + listOne.put(listByKey.get(i), list.get(listByKey.get(i))); + + + } + for (Map.Entry kv : listOne.entrySet()) { + System.out.println(kv.getKey()+" " +kv.getValue()); + + } + } +} diff --git a/src/main/java/hWAcountElementsOfArray.java b/src/main/java/hWAcountElementsOfArray.java new file mode 100644 index 0000000..c126583 --- /dev/null +++ b/src/main/java/hWAcountElementsOfArray.java @@ -0,0 +1,51 @@ +import java.util.ArrayList; +import java.util.List; + +public class hWAcountElementsOfArray { + + public static void main(String[] args) { + String[] text = { "a", "a", "r", "d", "f", "f", "a", "a", "a", "a", "a","f","f"}; + //"a", "a", "r", "d", "f", "f", "a", "a", "a", "a", + List result = new ArrayList<>(); + + for (int i = 0; i < text.length - 1; i++) { + // if (text[i].equals(text[i + 1])) { + int count = 1; + String letter = text[i]; + while (letter.equals(text[i]) && i < text.length) { + i++; + count++; + } + result.add(letter + count); + + + } + System.out.println(result); + + +// int s = text.length; +// int count = 1; +// String temp = ""; +// if (s == 0) { +// System.out.println("please, provide numbers for array"); +// } else if (s == 1) { +// System.out.println(text[0] + " " + 1); +// } else +// for (int i = 0; i 0){ + String temp=list[x]; + list[x]=list[j]; + list[j]=temp; + } + } + } + + + for(int i=0;i headers; + protected final String baseUrl = "http://booklibrarywebapidev.azurewebsites.net/"; + + void booksBaseTest(){ + headers=new HashMap<>(); + headers.put("Authorization","Basic YWJjQHh5ei5jb206VGVzdHRlc3QxMjMh"); + headers.put("Content-Type","application/JSON"); + } +} diff --git a/src/test/java/apiTest/HWTestDb.java b/src/test/java/apiTest/HWTestDb.java new file mode 100644 index 0000000..21ed5a9 --- /dev/null +++ b/src/test/java/apiTest/HWTestDb.java @@ -0,0 +1,25 @@ +package apiTest; + + +import helpers.HwDbAdapter; +import models.Playlist; +import models.SongsOfArtist; +import org.testng.Assert; +import org.testng.annotations.Test; + +import java.sql.SQLException; + +public class HWTestDb { + + @Test + public void getSongs_ListOfAllSongs_returned() throws SQLException { + HwDbAdapter.getAllSongs(); + } + @Test + public void getListOfSongsByArtistId() throws SQLException { + SongsOfArtist songs = HwDbAdapter.getListOfSongsByNameOfArtist("Ketsa"); + + Assert.assertTrue(songs.name.equals("Ketsa")); + } + } + diff --git a/src/test/java/apiTest/Hw14SelAndAPI.java b/src/test/java/apiTest/Hw14SelAndAPI.java new file mode 100644 index 0000000..2456c0c --- /dev/null +++ b/src/test/java/apiTest/Hw14SelAndAPI.java @@ -0,0 +1,60 @@ +package apiTest; + +import io.restassured.response.Response; +import org.openqa.selenium.Keys; +import org.openqa.selenium.StaleElementReferenceException; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.chrome.ChromeDriver; +import org.openqa.selenium.support.ui.FluentWait; +import org.testng.annotations.AfterMethod; +import org.testng.annotations.BeforeMethod; +import org.testng.annotations.Test; +import pageObjects.BasePage; +import tests.HomepageTests; + +import java.time.Duration; + +import static io.restassured.RestAssured.given; + +public class Hw14SelAndAPI { + private WebDriver driver; + +// private FluentWait fluentWait; +// private int playlist_id; +// private String token; +// +// @BeforeMethod +// public void startUp() { +// System.setProperty("webdriver.chrome.driver", "chromedriver.exe"); +// driver = new ChromeDriver(); +// +// // explicitWait = new WebDriverWait(driver, 10); +// fluentWait = new FluentWait(driver) +// .withTimeout(Duration.ofSeconds(10)) +// .pollingEvery(Duration.ofMillis(100)) +// .ignoring(Exception.class) +// .ignoring(StaleElementReferenceException.class); +// +//// driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); +// driver.get("https://koelapp.testpro.io/"); +// } +// @AfterMethod +// public void tearDown(){ +// Response response = given() +// .baseUri("https://koelapp.testpro.io/") +// .header("Authorization","Bearer "+token) +// .basePath("api/playlist/"+playlist_id) +// .when() +// .delete(); +// } +// @Test +// +// public String createNewPlaylist(String name) { +// getPlusButton().click(); +// getNewPlaylistNameField().sendKeys(name); +// getNewPlaylistNameField().sendKeys(Keys.ENTER); +// String str = driver.getCurrentUrl(); +// return str.split("/")[5]; +// } + +} diff --git a/src/test/java/apiTest/Hw15books.java b/src/test/java/apiTest/Hw15books.java new file mode 100644 index 0000000..a06362a --- /dev/null +++ b/src/test/java/apiTest/Hw15books.java @@ -0,0 +1,70 @@ +package apiTest; + +import com.google.gson.Gson; +import helpers.Data; +import helpers.TestData; +import helpers.Token; +import io.restassured.RestAssured; +import io.restassured.http.ContentType; +import io.restassured.path.json.JsonPath; +import io.restassured.response.Response; +import models.*; +import org.testng.Assert; +import org.testng.annotations.AfterMethod; +import org.testng.annotations.BeforeMethod; +import org.testng.annotations.Test; + +import java.util.*; + +import static io.restassured.RestAssured.given; + +public class Hw15books { + private String token; + private int playlist_id; + private String newBookLabel; + private int bookId = 802; + private String bookLabel ="Hey"; + private Map headers; + private final String baseUrl = "http://booklibrarywebapidev.azurewebsites.net/"; + + public void booksBaseTest(){ + headers=new HashMap<>(); + headers.put("Authorization","Basic YWJjQHh5ei5jb206VGVzdHRlc3QxMjMh"); + headers.put("Content-Type","application/JSON"); + } + + @Test + public void getAutentificationBooks(){ + RestAssured.baseURI=baseUrl; + RestAssured.given().auth().basic("abc@xyz.com","Testtest123!") + .when() + .get() + .then() + .assertThat() + .statusCode(200); + + + } + + + + @Test + public void getBookById_BookReturned(int bookId,String bookLabel) { + Response response = given() + .baseUri(baseUrl) + .auth().basic("abc@xyz.com","Testtest123!") + .basePath("api/books/id/"+bookId) + .when() + .get() + .then() + .statusCode(200) + .extract() + .response(); + + JsonPath jsonPath = response.jsonPath(); + GetBookByIdResponse getBookByIdResponse = jsonPath.getObject("$", GetBookByIdResponse.class); + newBookLabel=getBookByIdResponse.label; + Assert.assertEquals(bookLabel,newBookLabel); + + } +} diff --git a/src/test/java/apiTest/Hw1Api.java b/src/test/java/apiTest/Hw1Api.java new file mode 100644 index 0000000..d27be8c --- /dev/null +++ b/src/test/java/apiTest/Hw1Api.java @@ -0,0 +1,105 @@ +package apiTest; + +import com.google.gson.Gson; +import helpers.Data; +import helpers.TestData; +import helpers.Token; +import io.restassured.http.ContentType; +import io.restassured.path.json.JsonPath; +import io.restassured.response.Response; +import models.*; +import org.testng.Assert; +import org.testng.annotations.AfterMethod; +import org.testng.annotations.BeforeMethod; +import org.testng.annotations.BeforeSuite; +import org.testng.annotations.Test; + +import java.util.*; + +import static io.restassured.RestAssured.*; + +public class Hw1Api { + private String token; + private int playlist_id; + private String playlistName = TestData.randomString(); + private String newPlaylistName = TestData.randomString(); + + // @Parameters({"email","password"}) + @BeforeSuite + public void init(){ + token = Token.retrieveToken("testpro.user02@testpro.io","te$t$tudent02"); + } + @AfterMethod + public void tearDown(){ + Response response = given() + .baseUri("https://koelapp.testpro.io/") + .header("Authorization","Bearer "+token) + .basePath("api/playlist/"+playlist_id) + .when() + .delete(); + } + + @BeforeMethod + public void playlistTests_createPlaylist_PlaylistCreated() { + + String[] rules = {}; + var playlist = new CreatePlaylistRequest(playlistName, rules); + var requestBody = new Gson().toJson(playlist); + + Response response = given() + .baseUri("https://koelapp.testpro.io/") + .header("Authorization", "Bearer " + token) + .basePath("api/playlist") + .contentType(ContentType.JSON) + .body(requestBody) + .when() + .post() + .then() + .statusCode(200) + .extract() + .response(); + + JsonPath jsonPath = response.jsonPath(); + CreatePlaylistResponse createdPlaylist = jsonPath.getObject("$", CreatePlaylistResponse.class); + playlist_id = createdPlaylist.id; + + + } + + + @Test + public void playlistTests_renamePlaylist_PlaylistRenamed(){ + var reNamedPlaylist = new RenamePlaylistRequest(newPlaylistName); + var requestBodyRenamePlaylist = new Gson().toJson(reNamedPlaylist); + Response responseOne = given() + .baseUri("https://koelapp.testpro.io/") + .header("Authorization","Bearer "+token) + .basePath("api/playlist/"+playlist_id) + .contentType(ContentType.JSON) + .body(requestBodyRenamePlaylist) + .when() + .patch() + .then() + .statusCode(200) + .extract() + .response(); + + JsonPath jsonPathOne = responseOne.jsonPath(); + RenamePlayListResponse renamedPlaylist = jsonPathOne.getObject("$",RenamePlayListResponse.class); + + Assert.assertNotEquals(renamedPlaylist.name,playlistName); + Assert.assertEquals(renamedPlaylist.id,playlist_id); + var data = Data.getData(); + List renamedPlaylists = new ArrayList(Arrays.asList(data.playlists)); + int count=0; + for(Playlist pl:renamedPlaylists){ + if(pl.id==renamedPlaylist.id){ + count++; + } + } + Assert.assertEquals(count,1); + } + + + +} \ No newline at end of file diff --git a/src/test/java/apiTest/PlaylistTestDb.java b/src/test/java/apiTest/PlaylistTestDb.java new file mode 100644 index 0000000..9b3a789 --- /dev/null +++ b/src/test/java/apiTest/PlaylistTestDb.java @@ -0,0 +1,79 @@ +package apiTest; + +import com.google.gson.Gson; +import helpers.Data; +import helpers.DbAdapter; +import helpers.TestData; +import helpers.Token; +import io.restassured.http.ContentType; +import io.restassured.path.json.JsonPath; +import io.restassured.response.Response; +import models.CreatePlaylistRequest; +import models.CreatePlaylistResponse; + +import models.Playlist; +import org.testng.Assert; +import org.testng.annotations.AfterMethod; +import org.testng.annotations.BeforeMethod; +import org.testng.annotations.Test; + +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import static io.restassured.RestAssured.given; + +public class PlaylistTestDb { + private int playlist_id; + private String token; + @BeforeMethod + public void startUp(){ + token = Token.retrieveToken("testpro.user02@testpro.io","te$t$tudent02"); + + } + @AfterMethod + public void tearDown(){ + Response response = given() + .baseUri("https://koelapp.testpro.io/") + .header("Authorization","Bearer "+token) + .basePath("api/playlist/"+playlist_id) + .when() + .delete(); + } + @Test + public void playlistTests_CreatePlaylistDb_PlaylistCreated() throws SQLException { + String playlistName = TestData.randomString(); + String[] rules = {}; + var CreatedPlaylist = new CreatePlaylistRequest(playlistName,rules); + var requestBody = new Gson().toJson(CreatedPlaylist); + + Response response = given() + .baseUri("https://koelapp.testpro.io/") + .header("Authorization","Bearer "+token) + .basePath("api/playlist") + .contentType(ContentType.JSON) + .body(requestBody) + .when() + .post() + .then() + .statusCode(200) + .extract() + .response(); + + JsonPath jsonPath = response.jsonPath(); + CreatePlaylistResponse createdPlaylist = jsonPath.getObject("$",CreatePlaylistResponse.class); + playlist_id=createdPlaylist.id; + Assert.assertEquals(CreatedPlaylist.name,createdPlaylist.name); + Assert.assertEquals(createdPlaylist.songs.length,0); + + Playlist playlist = DbAdapter.getPlaylistsById(playlist_id); + + Assert.assertNotNull(playlist, "Object is not't found on DB"); + + Assert.assertNotEquals(playlistName, playlist.name); + + } + } + + diff --git a/src/test/java/apiTest/PlaylistTests.java b/src/test/java/apiTest/PlaylistTests.java new file mode 100644 index 0000000..2b4494a --- /dev/null +++ b/src/test/java/apiTest/PlaylistTests.java @@ -0,0 +1,99 @@ +package apiTest; + +import com.google.gson.Gson; +import helpers.Data; +import helpers.TestData; +import helpers.Token; +import io.restassured.http.ContentType; +import io.restassured.http.Header; +import io.restassured.http.Headers; +import io.restassured.path.json.JsonPath; +import io.restassured.response.Response; +import models.CreatePlaylistRequest; +import models.CreatePlaylistResponse; +import models.DataResponse; +import models.Playlist; +import org.testng.Assert; +import org.testng.annotations.AfterMethod; +import org.testng.annotations.BeforeMethod; +import org.testng.annotations.Test; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import static io.restassured.RestAssured.*; + +public class PlaylistTests { + private String token; + private int playlist_id; + // @Parameters({"email","password"}) + @BeforeMethod + public void init(){ + token = Token.retrieveToken("testpro.user02@testpro.io","te$t$tudent02"); + } + @AfterMethod + public void tearDown(){ + Response response = given() + .baseUri("https://koelapp.testpro.io/") + .header("Authorization","Bearer "+token) + .basePath("api/playlist/"+playlist_id) + .when() + .delete(); + } + + @Test + public void playlistTests_CreatePlaylist_PlaylistCreated(){ + String playlistName = TestData.randomString(); + String[] rules = {}; + var playlist = new CreatePlaylistRequest(playlistName,rules); + var requestBody = new Gson().toJson(playlist); + + Response response = given() + .baseUri("https://koelapp.testpro.io/") + .header("Authorization","Bearer "+token) + .basePath("api/playlist") + .contentType(ContentType.JSON) + .body(requestBody) + .when() + .post() + .then() + .statusCode(200) + .extract() + .response(); + + JsonPath jsonPath = response.jsonPath(); + CreatePlaylistResponse createdPlaylist = jsonPath.getObject("$",CreatePlaylistResponse.class); + playlist_id=createdPlaylist.id; + Assert.assertEquals(playlist.name,createdPlaylist.name); + Assert.assertEquals(createdPlaylist.songs.length,0); + var data = Data.getData(); + List playlists = new ArrayList(Arrays.asList(data.playlists)); + int count=0; + for(Playlist pl:playlists){ + if(pl.id==createdPlaylist.id){ + count++; + } + } + Assert.assertEquals(count,1); + } + + @Test + public void getAllData_DataReturned(){ + Response response = given() + .baseUri("https://koelapp.testpro.io/") + .header("Authorization","Bearer "+token) + .basePath("api/data") + .when() + .get() + .then() + .statusCode(200) + .extract() + .response(); + + JsonPath jsonPath = response.jsonPath(); + var data = jsonPath.getObject("$", DataResponse.class); + System.out.println(data.playlists.length); + } + +} \ No newline at end of file diff --git a/src/test/java/apiTest/RenamePlaylist.java b/src/test/java/apiTest/RenamePlaylist.java new file mode 100644 index 0000000..80b857a --- /dev/null +++ b/src/test/java/apiTest/RenamePlaylist.java @@ -0,0 +1,79 @@ +package apiTest; + +import com.google.gson.Gson; +import helpers.Data; +import helpers.TestData; +import helpers.Token; +import io.restassured.http.ContentType; +import io.restassured.path.json.JsonPath; +import io.restassured.response.Response; +import models.Playlist; +import models.RenamePlayListResponse; +import models.RenamePlaylistRequest; +import org.testng.Assert; +import org.testng.annotations.AfterMethod; +import org.testng.annotations.BeforeMethod; +import org.testng.annotations.Test; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import static io.restassured.RestAssured.given; + +public class RenamePlaylist { + private int id; + private String token; + @BeforeMethod + public void startUp(){ + String name = TestData.randomString(); + var createdPlaylist = Data.createPlaylist(name); + id = createdPlaylist.id; + token = Token.retrieveToken("testpro.user02@testpro.io","te$t$tudent02"); + + } + @AfterMethod + public void tearDown(){ + Response response = given() + .baseUri("https://koelapp.testpro.io/") + .header("Authorization","Bearer "+token) + .basePath("api/playlist/"+id) + .when() + .delete(); + + } + @Test + public void renamePlaylist_PlaylistRenamed(){ + String newName= TestData.randomString(); + RenamePlaylistRequest renamePlaylistRequest = new RenamePlaylistRequest(newName); + var requestBodyRenamePlaylist = new Gson().toJson(renamePlaylistRequest); + Response responseOne = given() + .baseUri("https://koelapp.testpro.io/") + .header("Authorization","Bearer "+token) + .basePath("api/playlist/"+id) + .contentType(ContentType.JSON) + .body(requestBodyRenamePlaylist) + .when() + .patch() + .then() + .statusCode(200) + .extract() + .response(); + + JsonPath jsonPathOne = responseOne.jsonPath(); + var playlist = jsonPathOne.getObject("$",RenamePlayListResponse.class); + + Assert.assertNotEquals(playlist.name,newName); + Assert.assertEquals(playlist.id,id); + var data = Data.getData(); + int count =0; + for(Playlist pl: data.playlists){ + if(pl.name.equals(newName)){ + + count++; + } + } + Assert.assertEquals(count,1); + } +} + diff --git a/src/test/java/apiTest/TestDb.java b/src/test/java/apiTest/TestDb.java new file mode 100644 index 0000000..dc25a16 --- /dev/null +++ b/src/test/java/apiTest/TestDb.java @@ -0,0 +1,27 @@ +package apiTest; + +import helpers.DbAdapter; +import models.Playlist; +import org.testng.Assert; +import org.testng.annotations.Test; + +import java.sql.SQLException; + +public class TestDb { + @Test + public void getArtists_ListOfArtistReturned() throws SQLException { + DbAdapter.getArtists(); + } + + @Test + public void getPlaylists_ListOfPlaylists_returned() throws SQLException { + DbAdapter.getAllPlaylists(); + } + + @Test + public void getSinglePlaylistById() throws SQLException { + Playlist pl = DbAdapter.getPlaylistsById(19); + Assert.assertEquals(pl.name,"Dima"); + } + +} diff --git a/src/test/java/browserFactory/BrowserFactory.java b/src/test/java/browserFactory/BrowserFactory.java index 6ce023d..ba2ea78 100644 --- a/src/test/java/browserFactory/BrowserFactory.java +++ b/src/test/java/browserFactory/BrowserFactory.java @@ -26,7 +26,7 @@ private static WebDriver getOperaDriver() { OperaOptions options = new OperaOptions(); options.addArguments("window-size=1400,1000"); // options.addArguments("--headless"); - System.setProperty("webdriver.opera.driver","operadriver.exe"); + System.setProperty("webdriver.opera.driver","operadriver"); return new OperaDriver(options); } @@ -34,7 +34,7 @@ private static WebDriver getChromeDriver() { ChromeOptions options = new ChromeOptions(); options.addArguments("window-size=1400,1000"); options.addArguments("--headless"); - System.setProperty("webdriver.chrome.driver","chromedriver.exe"); + System.setProperty("webdriver.chrome.driver","chromedriver"); return new ChromeDriver(options); } @@ -43,8 +43,8 @@ private static WebDriver getFirefoxDriver() { FirefoxOptions options = new FirefoxOptions(); options.addArguments("--width=1400"); options.addArguments("--height=1000"); -// options.addArguments("--headless"); - System.setProperty("webdriver.gecko.driver","geckodriver.exe"); + options.addArguments("--headless"); + System.setProperty("webdriver.gecko.driver","geckodriver"); return new FirefoxDriver(options); } } diff --git a/src/test/java/hWASel5.java b/src/test/java/hWASel5.java new file mode 100644 index 0000000..c1476b1 --- /dev/null +++ b/src/test/java/hWASel5.java @@ -0,0 +1,95 @@ +import org.openqa.selenium.By; +import org.openqa.selenium.Keys; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.WebElement; +import org.openqa.selenium.chrome.ChromeDriver; +import org.testng.Assert; +import org.testng.annotations.AfterMethod; +import org.testng.annotations.BeforeMethod; +import org.testng.annotations.Test; +import org.openqa.selenium.By; +import org.openqa.selenium.StaleElementReferenceException; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.chrome.ChromeDriver; +import org.openqa.selenium.support.ui.ExpectedConditions; +import org.openqa.selenium.support.ui.FluentWait; +import org.openqa.selenium.support.ui.WebDriverWait; +import org.testng.annotations.AfterMethod; +import org.testng.annotations.BeforeMethod; +import org.testng.annotations.Test; + +import java.time.Duration; +import java.util.List; +import java.util.concurrent.TimeUnit; + + + +public class hWASel5 { + private WebDriver driver; + private WebDriverWait explicitWait; + private FluentWait fluentWait; + + @BeforeMethod + public void startUp() { + System.setProperty("webdriver.chrome.driver", "chromedriver"); + driver = new ChromeDriver(); + + explicitWait = new WebDriverWait(driver, 10); + fluentWait = new FluentWait(driver) + .withTimeout(Duration.ofSeconds(10)) + .pollingEvery(Duration.ofMillis(100)) + .ignoring(Exception.class) + .ignoring(StaleElementReferenceException.class); + + driver.get("https://koelapp.testpro.io/"); + + } + + @AfterMethod + public void tearDown() throws InterruptedException { + Thread.sleep(5000); + driver.quit(); + } + + @Test(enabled = true) + public void login_CorrectCredentialsFluent_SuccessfulLogin() { + var email = driver.findElement(By.xpath("//*[@type='email']")); + email.sendKeys("testpro.user02@testpro.io"); + + var password = driver.findElement(By.xpath("//*[@type='password']")); + password.sendKeys("te$t$tudent02"); + + var loginButton = driver.findElement(By.xpath("//*[@type='submit']")); + loginButton.click(); + + fluentWait.until(x -> x.findElement(By.xpath("//*[@class='home active']")).isDisplayed()); + + var homeButton = driver.findElement(By.xpath("//*[@class='home active']")); + homeButton.click(); + } + + @Test(enabled = true) + public void login_WrongPasswordFluent_SuccessfulLogin() { + var email = driver.findElement(By.xpath("//*[@type='email']")); + email.sendKeys("testpro.user02@testpro.io"); + + var password = driver.findElement(By.xpath("//*[@type='password']")); + password.sendKeys("te$t$tudent02"); + + var loginButton = driver.findElement(By.xpath("//*[@type='submit']")); + loginButton.click(); + + + fluentWait.until(x->x.findElement(By.className("error"))); + + List error = driver.findElements(By.xpath("//*[@class='error']")); + + Assert.assertEquals(error.size(),1); + Assert.assertTrue(error.size()==1); + Assert.assertEquals(error.size(),1,"custom error message"); + + } + } + + + diff --git a/src/test/java/helpers/Data.java b/src/test/java/helpers/Data.java new file mode 100644 index 0000000..aceb1b7 --- /dev/null +++ b/src/test/java/helpers/Data.java @@ -0,0 +1,61 @@ +package helpers; + +import com.google.gson.Gson; +import io.restassured.http.ContentType; +import io.restassured.path.json.JsonPath; +import io.restassured.response.Response; +import models.CreatePlaylistRequest; +import models.CreatePlaylistResponse; +import models.DataResponse; +import models.Playlist; +import org.testng.Assert; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import static io.restassured.RestAssured.given; + +public class Data { + public static DataResponse getData() { + String token = Token.retrieveToken("testpro.user02@testpro.io", "te$t$tudent02"); + Response response = given() + .baseUri("https://koelapp.testpro.io/") + .header("Authorization", "Bearer " + token) + .basePath("api/data") + .when() + .get() + .then() + .statusCode(200) + .extract() + .response(); + + JsonPath jsonPath = response.jsonPath(); + return jsonPath.getObject("$", DataResponse.class); + } + + public static CreatePlaylistResponse createPlaylist(String playlistName) { + String token = Token.retrieveToken("testpro.user02@testpro.io", "te$t$tudent02"); + String[] rules = {}; + var playlist = new CreatePlaylistRequest(playlistName, rules); + var requestBody = new Gson().toJson(playlist); + + Response response = given() + .baseUri("https://koelapp.testpro.io/") + .header("Authorization", "Bearer " + token) + .basePath("api/playlist") + .contentType(ContentType.JSON) + .body(requestBody) + .when() + .post() + .then() + .statusCode(200) + .extract() + .response(); + + JsonPath jsonPath = response.jsonPath(); + return jsonPath.getObject("$", CreatePlaylistResponse.class); + + + } +} \ No newline at end of file diff --git a/src/test/java/helpers/DbAdapter.java b/src/test/java/helpers/DbAdapter.java new file mode 100644 index 0000000..cf42bd5 --- /dev/null +++ b/src/test/java/helpers/DbAdapter.java @@ -0,0 +1,102 @@ +package helpers; + +import models.Artist; +import models.Playlist; +import models.Song; + +import java.sql.*; +import java.util.ArrayList; +import java.util.List; + +public class DbAdapter { + static final String JDBC_DRIVER = "org.mariadb.jdbc.Driver"; + static final String DB_URL = "jdbc:mariadb://koelapp.testpro.io/dbkoel"; + static final String USER = "dbuser02"; + static final String PASS = "pa$$02"; + + static Connection conn = null; + static Statement stmt = null; + + public static List getArtists() throws SQLException { + List artists = new ArrayList(); + try { + Class.forName(JDBC_DRIVER); + conn = DriverManager.getConnection(DB_URL, USER, PASS); + stmt = conn.createStatement(); + + String sqlQuery = "SELECT * FROM artists"; + ResultSet rs = stmt.executeQuery(sqlQuery); + while (rs.next()) { + String name = rs.getString("name"); + int id = rs.getInt("id"); + + Artist artist = new Artist(id,name); + artists.add(artist); + } + } catch (SQLException | ClassNotFoundException err) { + err.printStackTrace(); + } finally { + if (conn != null) { + conn.close(); + } + } + return artists; + } + + public static List getAllPlaylists() throws SQLException { + List playlists = new ArrayList(); + try { + Class.forName(JDBC_DRIVER); + conn = DriverManager.getConnection(DB_URL, USER, PASS); + stmt = conn.createStatement(); + + String sqlQuery = "SELECT * FROM playlists"; + ResultSet rs = stmt.executeQuery(sqlQuery); + while (rs.next()) { + String name = rs.getString("name"); + int id = rs.getInt("id"); + + Playlist playlist = new Playlist(id,name); + playlists.add(playlist); + } + } catch (SQLException | ClassNotFoundException err) { + err.printStackTrace(); + } finally { + if (conn != null) { + conn.close(); + } + } + return playlists; + } + + public static Playlist getPlaylistsById(int id) throws SQLException { + Playlist returnedPlaylist = new Playlist(); + try { + Class.forName(JDBC_DRIVER); + conn = DriverManager.getConnection(DB_URL, USER, PASS); + stmt = conn.createStatement(); + + String sqlQuery = "SELECT id, name FROM playlists WHERE id="+id; + List pls = new ArrayList<>(); + ResultSet rs = stmt.executeQuery(sqlQuery); + while (rs.next()) { + String name = rs.getString("name"); + + Playlist playlist = new Playlist(id,name); + pls.add(playlist); + } + if(pls.size()==0){ + return null; + } + returnedPlaylist = pls.get(0); + } catch (SQLException | ClassNotFoundException err) { + err.printStackTrace(); + } finally { + if (conn != null) { + conn.close(); + } + } + return returnedPlaylist; + } + +} diff --git a/src/test/java/helpers/HwDbAdapter.java b/src/test/java/helpers/HwDbAdapter.java new file mode 100644 index 0000000..3bc0a6d --- /dev/null +++ b/src/test/java/helpers/HwDbAdapter.java @@ -0,0 +1,81 @@ +package helpers; + +import models.Playlist; +import models.Song; +import models.SongsOfArtist; + +import java.sql.*; +import java.util.ArrayList; +import java.util.List; + +public class HwDbAdapter { + static final String JDBC_DRIVER = "org.mariadb.jdbc.Driver"; + static final String DB_URL = "jdbc:mariadb://koelapp.testpro.io/dbkoel"; + static final String USER = "dbuser02"; + static final String PASS = "pa$$02"; + + static Connection conn = null; + static Statement stmt = null; + public static List getAllSongs() throws SQLException { + List songs = new ArrayList(); + try { + Class.forName(JDBC_DRIVER); + conn = DriverManager.getConnection(DB_URL, USER, PASS); + stmt = conn.createStatement(); + + String sqlQuery = "SELECT * FROM songs"; + ResultSet rs = stmt.executeQuery(sqlQuery); + while (rs.next()) { + String id = rs.getString("id"); + int album_id=rs.getInt("album_id"); + int artist_id=rs.getInt("artist_id"); + String title = rs.getString("title"); + int track = rs.getInt("track"); + double length = rs.getDouble("length"); + + Song song = new Song(id,album_id,artist_id,title,track,length); + songs.add(song); + } + } catch (SQLException | ClassNotFoundException err) { + err.printStackTrace(); + } finally { + if (conn != null) { + conn.close(); + } + } + return songs; + } + + public static SongsOfArtist getListOfSongsByNameOfArtist(String name) throws SQLException { + SongsOfArtist returnedListOfSongs = new SongsOfArtist(name); + try { + Class.forName(JDBC_DRIVER); + conn = DriverManager.getConnection(DB_URL, USER, PASS); + stmt = conn.createStatement(); + + String sqlQuery = "select s.track, s.title,a.name, al.name albums_name,s.length/60 AS length from albums al join artists a on al.artist_id=a.id join songs s on al.artist_id =s.artist_id where a.id = "+name+" group by s.title"; + List sngs = new ArrayList<>(); + ResultSet s = stmt.executeQuery(sqlQuery); + while (s.next()) { + int track = s.getInt("track"); + String title = s.getString("title"); + String artist_name = s.getString("name"); + String albums_name = s.getString("albums_name"); + double length = s.getDouble("length"); + + + + SongsOfArtist song = new SongsOfArtist(track,title,name,albums_name,length); + sngs.add(song); + } + + } catch (SQLException | ClassNotFoundException err) { + err.printStackTrace(); + } finally { + if (conn != null) { + conn.close(); + } + } + return returnedListOfSongs; + } +} diff --git a/src/test/java/helpers/TestData.java b/src/test/java/helpers/TestData.java new file mode 100644 index 0000000..e33cbbb --- /dev/null +++ b/src/test/java/helpers/TestData.java @@ -0,0 +1,13 @@ + +package helpers; + +import org.apache.commons.lang3.RandomStringUtils; + +public class TestData { + public static String randomString(){ + int length = 10; + boolean useLetters = true; + boolean useNumbers = false; + return RandomStringUtils.random(length, useLetters, useNumbers); + } +} \ No newline at end of file diff --git a/src/test/java/helpers/Token.java b/src/test/java/helpers/Token.java new file mode 100644 index 0000000..cbb507e --- /dev/null +++ b/src/test/java/helpers/Token.java @@ -0,0 +1,35 @@ +package helpers; + +import com.google.gson.Gson; +import io.restassured.http.ContentType; +import io.restassured.path.json.JsonPath; +import io.restassured.response.Response; +import models.TokenRequest; +import models.TokenResponse; + +import static io.restassured.RestAssured.given; + +public class Token { + public static String retrieveToken(String login, String pwd){ + String token = ""; + var credentials = new TokenRequest(login,pwd); + var requestBody = new Gson().toJson(credentials); + + Response response = given() + .baseUri("https://koelapp.testpro.io/") + .basePath("api/me") + .contentType(ContentType.JSON) + .body(requestBody) + .when() + .post() + .then() + .statusCode(200) + .extract() + .response(); + + JsonPath jsonPath = response.jsonPath(); + var responseBody = jsonPath.getObject("$", TokenResponse.class); + token = responseBody.token; + return token; + } +} diff --git a/src/test/java/models/Albums.java b/src/test/java/models/Albums.java new file mode 100644 index 0000000..f8c5e7d --- /dev/null +++ b/src/test/java/models/Albums.java @@ -0,0 +1,7 @@ +package models; + +public class Albums { + public int id; + public int artist_id; + public String name; +} diff --git a/src/test/java/models/Artist.java b/src/test/java/models/Artist.java new file mode 100644 index 0000000..0d1435a --- /dev/null +++ b/src/test/java/models/Artist.java @@ -0,0 +1,11 @@ +package models; + +public class Artist { + public int id; + public String name; + + public Artist(int id, String name) { + this.id = id; + this.name = name; + } +} diff --git a/src/test/java/models/CreatePlaylistRequest.java b/src/test/java/models/CreatePlaylistRequest.java new file mode 100644 index 0000000..ff41e38 --- /dev/null +++ b/src/test/java/models/CreatePlaylistRequest.java @@ -0,0 +1,11 @@ +package models; + +public class CreatePlaylistRequest { + public String name; + public String[] rules; + + public CreatePlaylistRequest(String name, String[] rules) { + this.name = name; + this.rules = rules; + } +} \ No newline at end of file diff --git a/src/test/java/models/CreatePlaylistResponse.java b/src/test/java/models/CreatePlaylistResponse.java new file mode 100644 index 0000000..06c37ab --- /dev/null +++ b/src/test/java/models/CreatePlaylistResponse.java @@ -0,0 +1,13 @@ +package models; + +public class CreatePlaylistResponse { + public String name; + public int id; + public String[] songs; + + public CreatePlaylistResponse(String name, int id, String[] songs) { + this.name = name; + this.id = id; + this.songs = songs; + } +} \ No newline at end of file diff --git a/src/test/java/models/CurrentUser.java b/src/test/java/models/CurrentUser.java new file mode 100644 index 0000000..27907fa --- /dev/null +++ b/src/test/java/models/CurrentUser.java @@ -0,0 +1,9 @@ +package models; + +public class CurrentUser { + public int id; + public String name; + public String email; + public boolean is_admin; + public Preferences[] preferences; +} \ No newline at end of file diff --git a/src/test/java/models/DataResponse.java b/src/test/java/models/DataResponse.java new file mode 100644 index 0000000..028e0cc --- /dev/null +++ b/src/test/java/models/DataResponse.java @@ -0,0 +1,21 @@ +package models; + +public class DataResponse { + public Albums[] albums; + public boolean allowDownload; + public Artist[] artists; + public String cdnUrl; + public CurrentUser currentUser; + public String currentVersion; + public Interaction[] interactions; + public String latestVersion; + public Playlist[] playlists; + public String[] recentlyPlayed; + public Settings[] settings; + public Song[] songs; + public boolean supportsTranscoding; + public boolean useLastfm; + public boolean useYouTube; + public boolean useiTunes; + public User[] users; +} \ No newline at end of file diff --git a/src/test/java/models/GetBookByIdResponse.java b/src/test/java/models/GetBookByIdResponse.java new file mode 100644 index 0000000..720406e --- /dev/null +++ b/src/test/java/models/GetBookByIdResponse.java @@ -0,0 +1,17 @@ +package models; + +public class GetBookByIdResponse { + public int bookId; + public String label; + public String author; + public String genre; + public String condition; + + public GetBookByIdResponse(int bookId, String label, String author, String genre, String condition) { + this.bookId = bookId; + this.label = label; + this.author = author; + this.genre = genre; + this.condition = condition; + } +} diff --git a/src/test/java/models/Interaction.java b/src/test/java/models/Interaction.java new file mode 100644 index 0000000..5d12726 --- /dev/null +++ b/src/test/java/models/Interaction.java @@ -0,0 +1,7 @@ +package models; + +public class Interaction { + public String song_id; + public boolean liked; + public int play_count; +} \ No newline at end of file diff --git a/src/test/java/models/Playlist.java b/src/test/java/models/Playlist.java new file mode 100644 index 0000000..9b98c54 --- /dev/null +++ b/src/test/java/models/Playlist.java @@ -0,0 +1,17 @@ +package models; + +public class Playlist { + public int id; + public String name; + public String[] rules; + public boolean is_smart; + + public Playlist(int id, String name) { + this.id = id; + this.name = name; + } + + public Playlist() { + + } +} \ No newline at end of file diff --git a/src/test/java/models/Preferences.java b/src/test/java/models/Preferences.java new file mode 100644 index 0000000..d15e832 --- /dev/null +++ b/src/test/java/models/Preferences.java @@ -0,0 +1,5 @@ +package models; + +public class Preferences { + public String lastfm_session_key; +} \ No newline at end of file diff --git a/src/test/java/models/RenamePlayListResponse.java b/src/test/java/models/RenamePlayListResponse.java new file mode 100644 index 0000000..2777a07 --- /dev/null +++ b/src/test/java/models/RenamePlayListResponse.java @@ -0,0 +1,10 @@ +package models; + +public class RenamePlayListResponse { + public int id; + public String name; + public RenamePlayListResponse(int id, String name){ + this.id = id; + this.name=name; + } +} diff --git a/src/test/java/models/RenamePlaylistRequest.java b/src/test/java/models/RenamePlaylistRequest.java new file mode 100644 index 0000000..0a88e81 --- /dev/null +++ b/src/test/java/models/RenamePlaylistRequest.java @@ -0,0 +1,9 @@ +package models; + +public class RenamePlaylistRequest { + public String name; + + public RenamePlaylistRequest(String name){ + this.name=name; + } +} diff --git a/src/test/java/models/Settings.java b/src/test/java/models/Settings.java new file mode 100644 index 0000000..91107b0 --- /dev/null +++ b/src/test/java/models/Settings.java @@ -0,0 +1,5 @@ +package models; + +public class Settings { + public String media_path; +} \ No newline at end of file diff --git a/src/test/java/models/Song.java b/src/test/java/models/Song.java new file mode 100644 index 0000000..c729e87 --- /dev/null +++ b/src/test/java/models/Song.java @@ -0,0 +1,27 @@ +package models; + + + + public class Song { + public String id; + public int album_id; + public int artist_id; + public String title; + public String created_at; + public int disc; + public int track; + public double length; + + public Song(String id, int album_id, int artist_id, String title, int track, double length) { + this.id = id; + this.album_id = album_id; + this.artist_id = artist_id; + this.title = title; + this.track = track; + this.length = length; + } + public Song(){ + + } + } + diff --git a/src/test/java/models/SongsOfArtist.java b/src/test/java/models/SongsOfArtist.java new file mode 100644 index 0000000..de5d9b1 --- /dev/null +++ b/src/test/java/models/SongsOfArtist.java @@ -0,0 +1,21 @@ +package models; + +public class SongsOfArtist { + public int track; + public String title; + public String name; + public String albums_name; + public double length; + + public SongsOfArtist(int track, String title, String name, String albums_name, double length) { + this.track = track; + this.title = title; + this.name = name; + this.albums_name = albums_name; + this.length = length; + } + public SongsOfArtist(String name){ + this.name=name; + + } +} diff --git a/src/test/java/models/TokenRequest.java b/src/test/java/models/TokenRequest.java new file mode 100644 index 0000000..98b4446 --- /dev/null +++ b/src/test/java/models/TokenRequest.java @@ -0,0 +1,11 @@ +package models; + +public class TokenRequest { + public String email; + public String password; + + public TokenRequest(String email, String password) { + this.email = email; + this.password = password; + } +} diff --git a/src/test/java/models/TokenResponse.java b/src/test/java/models/TokenResponse.java new file mode 100644 index 0000000..fcdc76b --- /dev/null +++ b/src/test/java/models/TokenResponse.java @@ -0,0 +1,7 @@ +package models; + +public class TokenResponse { + public String token; + + } + diff --git a/src/test/java/models/User.java b/src/test/java/models/User.java new file mode 100644 index 0000000..88995a5 --- /dev/null +++ b/src/test/java/models/User.java @@ -0,0 +1,8 @@ +package models; + +public class User { + public int id; + public String name; + public String email; + public boolean is_admin; +} \ No newline at end of file diff --git a/src/test/java/pageObjects/BasePage.java b/src/test/java/pageObjects/BasePage.java index 778bef4..d6a0e7a 100644 --- a/src/test/java/pageObjects/BasePage.java +++ b/src/test/java/pageObjects/BasePage.java @@ -17,7 +17,7 @@ public class BasePage { public BasePage(WebDriver driver) { this.driver = driver; - explicitWait = new WebDriverWait(driver, 10); + explicitWait = new WebDriverWait(driver, 15); this.fluentWait = new FluentWait(this.driver) .withTimeout(Duration.ofSeconds(10)) .pollingEvery(Duration.ofMillis(100)) diff --git a/src/test/java/pageObjects/HomePage.java b/src/test/java/pageObjects/HomePage.java index 68ce8c6..8fa99c5 100644 --- a/src/test/java/pageObjects/HomePage.java +++ b/src/test/java/pageObjects/HomePage.java @@ -17,26 +17,31 @@ public boolean isHomepage(){ return true; } public WebElement getPlusButton(){ - explicitWait.until(ExpectedConditions.elementToBeClickable(By.cssSelector(HomePageSelectors.plusButtonCssSelector))); - return driver.findElement(By.cssSelector(HomePageSelectors.plusButtonCssSelector)); + explicitWait.until(ExpectedConditions.elementToBeClickable(By.xpath(HomePageSelectors.plusButtonXPath))); + return driver.findElement(By.xpath(HomePageSelectors.plusButtonXPath)); } private WebElement getNewPlaylistNameField(){ + explicitWait.until(ExpectedConditions.elementToBeClickable(By.xpath(HomePageSelectors.newPlaylistFieldXpath))); return driver.findElement(By.xpath(HomePageSelectors.newPlaylistFieldXpath)); } private String getPlaylistXpath(String name){ return "//a[text()='"+name+"']"; } - public void createNewPlaylist(String name) { + + + public String createNewPlaylist(String name) { getPlusButton().click(); getNewPlaylistNameField().sendKeys(name); getNewPlaylistNameField().sendKeys(Keys.ENTER); + String str = driver.getCurrentUrl(); + return str.split("/")[5]; } public boolean isPlaylistCreated(String name){ var list = driver.findElements(By.xpath(getPlaylistXpath(name))); return list.size()>0; } - public void leftHandScrollDown(String name) { + public void leftHandScrollDown(String name) { JavascriptExecutor js = (JavascriptExecutor) driver; WebElement playlist = driver.findElement(By.xpath(getPlaylistXpath(name))); js.executeScript("arguments[0].scrollIntoView();", playlist); @@ -54,5 +59,62 @@ public void renamePlayList(String oldName, String newName) { textField.sendKeys(Keys.CONTROL + "a"); textField.sendKeys(newName); textField.sendKeys(Keys.ENTER); + } + public WebElement getAllSongsButton(){ + explicitWait.until(ExpectedConditions.elementToBeClickable(By.xpath(HomePageSelectors.allSongsButtonXpath))); + return driver.findElement(By.xpath(HomePageSelectors.allSongsButtonXpath)); + + } + public WebElement getTitleSong(){ + explicitWait.until(ExpectedConditions.elementToBeClickable(By.xpath(HomePageSelectors.titleOfSongXpath))); + return driver.findElement(By.xpath(HomePageSelectors.titleOfSongXpath)); + } + + public WebElement getAddToButton(){ + explicitWait.until(ExpectedConditions.elementToBeClickable(By.xpath(HomePageSelectors.addToButtonXPath))); + return driver.findElement(By.xpath(HomePageSelectors.addToButtonXPath)); + } + public WebElement getCreateNewPlayListFieldXpath() + { + explicitWait.until(ExpectedConditions.elementToBeClickable(By.xpath(HomePageSelectors.createNewPlayListFieldXpath))); + return driver.findElement(By.xpath(HomePageSelectors.createNewPlayListFieldXpath)); + } + public WebElement getSaveNewPlayListButtonXpath() + { + explicitWait.until(ExpectedConditions.elementToBeClickable(By.xpath(HomePageSelectors.saveNewPlayListButtonXpath))); + return driver.findElement(By.xpath(HomePageSelectors.saveNewPlayListButtonXpath)); + } + + public WebElement getDeletePlayListButton() + { + explicitWait.until(ExpectedConditions.elementToBeClickable(By.xpath(HomePageSelectors.deletePlayListButtonXpath))); + return driver.findElement(By.xpath(HomePageSelectors.deletePlayListButtonXpath)); + } + + public WebElement getOkForDeletePlayList() + { + explicitWait.until(ExpectedConditions.elementToBeClickable(By.xpath(HomePageSelectors.okForDeletePlayListXpath ))); + return driver.findElement(By.xpath(HomePageSelectors.okForDeletePlayListXpath )); + } + + public void createNewPlayListAndAddSongToPlayList(String name){ + getAllSongsButton().click(); + + Actions actions = new Actions(driver); + actions.contextClick(getTitleSong()).perform(); + getAddToButton().click(); + getCreateNewPlayListFieldXpath().sendKeys(name); + getSaveNewPlayListButtonXpath().click(); + + } + public void deletePlayList(String name){ + explicitWait.until(ExpectedConditions.elementToBeClickable(By.xpath(getPlaylistXpath(name) ))); + var list = driver.findElement(By.xpath(getPlaylistXpath(name))); + list.click(); + getDeletePlayListButton().click(); + getOkForDeletePlayList().click(); + + + } } diff --git a/src/test/java/pageObjects/HomePageSelectors.java b/src/test/java/pageObjects/HomePageSelectors.java index 0462436..a416574 100644 --- a/src/test/java/pageObjects/HomePageSelectors.java +++ b/src/test/java/pageObjects/HomePageSelectors.java @@ -2,6 +2,20 @@ public class HomePageSelectors { public static final String homeButtonXpath = "//*[@class='home active']"; - public static final String plusButtonCssSelector = ".fa.fa-plus-circle"; - public static final String newPlaylistFieldXpath = "//*[@class='777create']/*"; + + public static final String plusButtonXPath = "//*[contains(@class,'create')]"; + + public static final String newPlaylistFieldXpath = "//*[@class='create']/*"; + public static final String allSongsButtonXpath = "//*[@href='#!/songs']"; + public static final String titleOfSongXpath = "(//*[@class= 'title'])[3]"; + public static final String addSongToPlayListxpath = "(//*[@class= 'has-sub'])[1]"; + public static final String addToButtonXPath = "//button[contains(text(),'Add')]"; + public static final String createNewPlayListFieldXpath = "(//*[@data-v-f7ac59cc and @placeholder= 'Playlist name'])[2]"; + public static final String saveNewPlayListButtonXpath = "(//*[@data-v-f7ac59cc and @type= 'submit'])[2]"; + public static final String deletePlayListButtonXpath = "//*[@title='Delete this playlist']"; + public static final String okForDeletePlayListXpath = "//*[@class='ok']"; + } + + + diff --git a/src/test/java/pageObjects/HomePageSelectorsOne.java b/src/test/java/pageObjects/HomePageSelectorsOne.java new file mode 100644 index 0000000..25eaa96 --- /dev/null +++ b/src/test/java/pageObjects/HomePageSelectorsOne.java @@ -0,0 +1,19 @@ +package pageObjects; + +public class HomePageSelectorsOne { + + + public static final String homeButtonXpath = "//*[@class='home active']"; + public static final String plusButtonXPath = "//*[contains(@class,'create')]"; + + public static final String newPlaylistFieldXpath = "//*[@class='create']/*"; + public static final String allSongsButtonXpath = "//*[@href='#!/songs']"; + public static final String titleOfSongXpath = "(//*[@class= 'title'])[3]"; + public static final String addSongToPlayListxpath = "(//*[@class= 'has-sub'])[1]"; + public static final String addToButtonXPath = "//button[contains(text(),'Add')]"; + public static final String createNewPlayListFieldXpath = "(//*[@data-v-f7ac59cc and @placeholder= 'Playlist name'])[2]"; + public static final String saveNewPlayListButtonXpath = "(//*[@data-v-f7ac59cc and @type= 'submit'])[2]"; + public static final String deletePlayListButtonXpath = "//*[@title='Delete this playlist']"; + public static final String okForDeletePlayListXpath = "//button[@class='ok']"; + } + diff --git a/src/test/java/pageObjects/LoginPage.java b/src/test/java/pageObjects/LoginPage.java index 1634d85..6291c52 100644 --- a/src/test/java/pageObjects/LoginPage.java +++ b/src/test/java/pageObjects/LoginPage.java @@ -44,4 +44,4 @@ public boolean isError() { } return true; } -} +} \ No newline at end of file diff --git a/src/test/java/tests/BaseTest.java b/src/test/java/tests/BaseTest.java index 7059652..a709170 100644 --- a/src/test/java/tests/BaseTest.java +++ b/src/test/java/tests/BaseTest.java @@ -7,12 +7,23 @@ import org.testng.ITestResult; import org.testng.annotations.AfterMethod; import org.testng.annotations.BeforeMethod; +import org.testng.annotations.Parameters; public class BaseTest { protected WebDriver driver; + @Parameters({"browser"}) @BeforeMethod - public void startUp() throws NoSuchMethodException { - driver = BrowserFactory.createWebDriver(BrowserType.CHROME); + public void startUp(String browserName) throws NoSuchMethodException { + BrowserType browser; + switch (browserName){ + case "CHROME": browser=BrowserType.CHROME; + break; + case "FIREFOX": browser = BrowserType.FIREFOX; + break; + default: throw new NoSuchMethodException("Browser not defined"); + } + + driver = BrowserFactory.createWebDriver(browser); } @AfterMethod diff --git a/src/test/java/tests/HomepageTests.java b/src/test/java/tests/HomepageTests.java index 1d57099..8426f44 100644 --- a/src/test/java/tests/HomepageTests.java +++ b/src/test/java/tests/HomepageTests.java @@ -1,24 +1,48 @@ package tests; +import io.restassured.http.Header; +import io.restassured.response.Response; import listeners.RetryAnalyzer; import org.testng.Assert; +import org.testng.annotations.AfterMethod; import org.testng.annotations.Parameters; import org.testng.annotations.Test; import pageObjects.HomePage; import pageObjects.LoginPage; +import static io.restassured.RestAssured.given; + + public class HomepageTests extends BaseTest{ + private String id; + + @AfterMethod + public void tearDown(){ + Header header = new Header("Authorization", "Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJzdWIiOjMwMCwiaXNzIjoiaHR0cHM6Ly9rb2VsYXBwLnRlc3Rwcm8uaW8vYXBpL21lIiwiaWF0IjoxNTg5OTUxNjE3LCJleHAiOjE1OTA1NTY0MTcsIm5iZiI6MTU4OTk1MTYxNywianRpIjoiWVZqMWE2QTJTMnMyY3BraCJ9.rJkzNr4CP-kWTFPMwrIlGmWlu8zE-J44KQEnC0fZcOU"); + Response response = + given() + .baseUri("https://koelapp.testpro.io/") + .header(header) + .when() + .delete("api/playlist/"+id) + .then() + .statusCode(200) + .extract() + .response(); + } @Parameters({"email","password","playlist"}) @Test(retryAnalyzer = RetryAnalyzer.class) public void loginTest_createNewPlaylist_newPlaylistCreated(String login, String pwd, String playlist) { LoginPage loginPage = new LoginPage(driver); loginPage.openPage(); HomePage homePage = loginPage.login(login,pwd); - homePage.createNewPlaylist(playlist); + id = homePage.createNewPlaylist(playlist); + System.out.println(id); + Assert.assertTrue(homePage.isPlaylistCreated(playlist)); } @Parameters({"email","password","playlist", "new-playlist"}) - @Test + @Test (retryAnalyzer = RetryAnalyzer.class) public void scrollDown(String login, String pwd, String playlist, String newPlaylist){ LoginPage loginPage = new LoginPage(driver); loginPage.openPage(); @@ -29,4 +53,18 @@ public void scrollDown(String login, String pwd, String playlist, String newPlay Assert.assertTrue(homePage.isPlaylistCreated(newPlaylist)); } + @Parameters({"email","password","playlist"}) + @Test + public void addSongToPlayListAndDelitPlayList(String login, String pwd, String playlist){ + LoginPage loginPage = new LoginPage(driver); + loginPage.openPage(); + HomePage homePage = loginPage.login(login,pwd); + homePage.createNewPlayListAndAddSongToPlayList(playlist); + Assert.assertTrue(homePage.isPlaylistCreated(playlist)); + driver.navigate().refresh(); + homePage.deletePlayList(playlist); + driver.navigate().refresh(); + Assert.assertFalse(homePage.isPlaylistCreated(playlist)); + + } } diff --git a/src/test/java/tests/HomepageTests_new.java b/src/test/java/tests/HomepageTests_new.java index 998a796..787a450 100644 --- a/src/test/java/tests/HomepageTests_new.java +++ b/src/test/java/tests/HomepageTests_new.java @@ -1,12 +1,13 @@ package tests; +import listeners.RetryAnalyzer; import org.testng.Assert; import org.testng.annotations.Test; import pageObjects.HomePage; import pageObjects.LoginPage; public class HomepageTests_new extends BaseTest{ - @Test + @Test (retryAnalyzer = RetryAnalyzer.class) public void new_loginTest_createNewPlaylist_newPlaylistCreated() { LoginPage loginPage = new LoginPage(driver); loginPage.openPage(); @@ -14,7 +15,7 @@ public void new_loginTest_createNewPlaylist_newPlaylistCreated() { homePage.createNewPlaylist("HeyYoPlaylist"); Assert.assertTrue(homePage.isPlaylistCreated("HeyYoPlaylist")); } - @Test + @Test (retryAnalyzer = RetryAnalyzer.class) public void new_scrollDown(){ LoginPage loginPage = new LoginPage(driver); loginPage.openPage(); @@ -25,4 +26,17 @@ public void new_scrollDown(){ Assert.assertTrue(homePage.isPlaylistCreated("newName")); } + @Test + public void new_addSongToPlayListAndDelitPlayList(){ + LoginPage loginPage = new LoginPage(driver); + loginPage.openPage(); + HomePage homePage = loginPage.login("testpro.user02@testpro.io","te$t$tudent02"); + homePage.createNewPlayListAndAddSongToPlayList("anna"); + Assert.assertTrue(homePage.isPlaylistCreated("anna")); + driver.navigate().refresh(); + homePage.deletePlayList("anna"); + driver.navigate().refresh(); + Assert.assertFalse(homePage.isPlaylistCreated("anna")); + + } } diff --git a/src/test/java/tests/LoginTests.java b/src/test/java/tests/LoginTests.java index 95fe41c..e1194ba 100644 --- a/src/test/java/tests/LoginTests.java +++ b/src/test/java/tests/LoginTests.java @@ -29,6 +29,7 @@ public void loginTest_incorrectCredentials_notLoggedToApp(String login, String p } @Test (retryAnalyzer = RetryAnalyzer.class, enabled = false) public void test_Fails(){ + Assert.assertTrue(false); } @DataProvider(name = "Summing") @@ -60,4 +61,30 @@ public void test_StringSum(String a, String b, String c){ String xx = a + b; Assert.assertEquals(xx,c); } + @DataProvider (name="Air_Tikets_price") + public Object[][] createData3() { + return new Object[][]{ + + {1, 100, 0}, + {4, 100, 50}, + {18, 100, 100}, + {68, 100, 75} + }; + } + @Test (dataProvider = "Air_Tikets_price") + public void test_Ait_Ticket_Price(int age, int price, int finalPrice) { + int finalPriceOne=0; + if (age < 2) { + finalPriceOne = price * 0; + } else if (age >= 2 && age <= 10) { + finalPriceOne = price / 2; + } else if (age > 10 && age < 65) { + finalPriceOne = price; + } else if (age >= 65) { + finalPriceOne = price * 3 / 4; + } + + + Assert.assertEquals(finalPrice,finalPriceOne); + } } diff --git a/src/test/java/tests/PetstoreApiTests.java b/src/test/java/tests/PetstoreApiTests.java new file mode 100644 index 0000000..cc40106 --- /dev/null +++ b/src/test/java/tests/PetstoreApiTests.java @@ -0,0 +1,25 @@ +package tests; + + +import io.restassured.response.Response; +import org.testng.annotations.Test; +import static io.restassured.RestAssured.*; + +public class PetstoreApiTests { + @Test + public void getPetById(){ + Response response = + given() + .baseUri("https://petstore.swagger.io/") + .when() + .get("v2/pet/111") + .then() + .statusCode(200) + .extract() + .response(); +// Response response = get("https://petstore.swagger.io/v2/pet/111") +// .thenReturn(); + var jsonPath = response.jsonPath(); + System.out.println(jsonPath.prettify()); + } +} \ No newline at end of file diff --git a/testng.xml b/testngChrome.xml similarity index 82% rename from testng.xml rename to testngChrome.xml index b98953c..17d7e93 100644 --- a/testng.xml +++ b/testngChrome.xml @@ -8,21 +8,24 @@ - - - + + + + + + diff --git a/testngFirefox.xml b/testngFirefox.xml new file mode 100644 index 0000000..9868ceb --- /dev/null +++ b/testngFirefox.xml @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file