Advertisement
Talar97

[PIO] Kolokwium

Jan 31st, 2019
376
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.49 KB | None | 0 0
  1. package com.Talar;
  2.  
  3. public class Main {
  4.  
  5.  
  6.     public static void main(String[] args) {
  7.         Container c = new Container();
  8.  
  9.         Pack p1 = new Pack("Pudlo", 5.25);
  10.         Pack p2 = new Pack("Karton", 4.75);
  11.         Pack p3 = new Pack("Paczka", 5.00);
  12.         Pack p4;
  13.  
  14.         try{
  15.             p4 = new Pack(null, 1);
  16.         }catch(IllegalArgumentException e){
  17.             System.out.println("Bล‚ad: " + e);
  18.         }
  19.  
  20.         try{
  21.             p4 = new Pack("AAA", -5);
  22.         }catch(IllegalArgumentException e){
  23.             System.out.println("Bล‚ad: " + e);
  24.         }
  25.  
  26.         p4 = new Pack("Paczka", 5);
  27.  
  28.         c.push(p1);
  29.         c.push(p2);
  30.         c.push(p3);
  31.         c.push(p4);
  32.         c.print();
  33.         System.out.println("Waga wszystkich paczek: " + c.totalWeight() + "kg");
  34.  
  35.         System.out.println("\nPo usunieciu: ");
  36.         c.removePacks("Paczka");
  37.         c.print();
  38.         System.out.println("Waga wszystkich paczek: " + c.totalWeight() + "kg");
  39.     }
  40. }
  41.  
  42.  
  43. package com.Talar;
  44.  
  45. //klasa pack: nazwa (string), weight (double)
  46.  
  47. public class Pack {
  48.     private String name;
  49.     private double weight;
  50.  
  51.     public Pack(String name, double weight) {
  52.         if(name != null && !name.isEmpty()){
  53.             this.name = name;
  54.         }
  55.         else throw new IllegalArgumentException("Pusta nazwa!");
  56.  
  57.         if(weight > 0){
  58.             this.weight = weight;
  59.         }
  60.         else throw new IllegalArgumentException("Bledna waga!");
  61.     }
  62.  
  63.     public String getName() {
  64.         return name;
  65.     }
  66.  
  67.     public double getWeight() {
  68.         return weight;
  69.     }
  70. }
  71.  
  72.  
  73. package com.Talar;
  74.  
  75. import java.util.List;
  76. import java.util.ArrayList;
  77. import java.util.Iterator;
  78.  
  79. public class Container {
  80.     private List<Pack> packs = new ArrayList<Pack>();
  81.  
  82.     public Container() { }
  83.  
  84.     public void push(Pack p){
  85.         if(p != null){
  86.             packs.add(p);
  87.         }
  88.         else throw new IllegalArgumentException("Obiekt nie istnieje");
  89.     }
  90.  
  91.     public void print(){
  92.         for(Pack p : packs){
  93.             System.out.println(p.getName() +", " + p.getWeight());
  94.         }
  95.     }
  96.  
  97.     public double totalWeight(){
  98.         double result = 0;
  99.         for(Pack p : packs){
  100.             result += p.getWeight();
  101.         }
  102.  
  103.         return result;
  104.     }
  105.  
  106.     public boolean removePacks(String name){
  107.         boolean result = false;
  108.         for(Iterator<Pack> it = packs.iterator(); it.hasNext(); ){
  109.             Pack p = it.next();
  110.             if(p.getName().equals(name)){
  111.                 it.remove();
  112.                 result = true;
  113.             }
  114.         }
  115.         return result;
  116.     }
  117. }
  118.  
  119. package com.Talar;
  120.  
  121. import org.junit.Before;
  122. import org.junit.Test;
  123.  
  124. import static org.junit.Assert.*;
  125.  
  126. public class PackTest {
  127.  
  128.     Pack p;
  129.  
  130.     @Before
  131.     public void setUp() throws Exception{
  132.         p = new Pack("Paczka",5.00);
  133.     }
  134.  
  135.     @Test(expected = IllegalArgumentException.class)
  136.     public void createObjNull(){
  137.         p = new Pack(null, 5);
  138.     }
  139.  
  140.     @Test(expected = IllegalArgumentException.class)
  141.     public void createObjWroghWeight(){
  142.         p = new Pack("Paczka", -5);
  143.     }
  144.  
  145.     @Test(expected = IllegalArgumentException.class)
  146.     public void createObjEmptyName(){
  147.         p = new Pack("", 5);
  148.     }
  149.  
  150.     @Test
  151.     public void getName() {
  152.         assertEquals("Paczka", p.getName());
  153.     }
  154.  
  155.     @Test
  156.     public void getWeight() {
  157.         assertEquals(5.00, p.getWeight(), 0);
  158.     }
  159. }
  160.  
  161. package com.Talar;
  162.  
  163. import org.junit.Before;
  164. import org.junit.Test;
  165.  
  166. import static org.junit.Assert.*;
  167.  
  168. public class ContainerTest {
  169.  
  170.     Container c;
  171.  
  172.     @Before
  173.     public void setUp() throws Exception {
  174.         c = new Container();
  175.     }
  176.  
  177.     @Test
  178.     public void push() {
  179.         Pack p = new Pack("Paczka", 5);
  180.         c.push(p);
  181.     }
  182.  
  183.     @Test(expected = IllegalArgumentException.class)
  184.     public void pushNull(){
  185.         Pack p = null;
  186.         c.push(p);
  187.     }
  188.  
  189.     @Test
  190.     public void totalWeight() {
  191.         Pack p = new Pack("Paczka", 5);
  192.         c.push(p);
  193.         assertEquals(5, c.totalWeight(), 0);
  194.     }
  195.  
  196.     @Test
  197.     public void removeExistingPacks() {
  198.         Pack p = new Pack("Paczka", 5);
  199.         c.push(p);
  200.         assertEquals(true, c.removePacks("Paczka"));
  201.     }
  202.  
  203.     @Test
  204.     public void removeNotExistingPacks(){
  205.         Pack p = new Pack("Paczka", 5);
  206.         c.push(p);
  207.         assertEquals(false, c.removePacks("Karton"));
  208.     }
  209. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement