Advertisement
desislava_topuzakova

Untitled

Oct 7th, 2023
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.99 KB | None | 0 0
  1. import craftsmanLab.core.*;
  2. import craftsmanLab.models.*;
  3.  
  4. import org.junit.Before;
  5. import org.junit.Test;
  6.  
  7. import java.time.LocalDate;
  8. import java.util.ArrayList;
  9. import java.util.List;
  10.  
  11. import static org.junit.Assert.assertEquals;
  12. import static org.junit.Assert.assertTrue;
  13.  
  14. public class Test030 {
  15.  
  16. private CraftsmanLab lab;
  17.  
  18. @Before
  19. public void setup() {
  20. this.lab = new CraftsmanLabImpl();
  21. }
  22.  
  23. @Test
  24. public void getLeastProfitable() {
  25. verifyCorrectness();
  26. lab = new CraftsmanLabImpl();
  27.  
  28. for (int i = 0; i < 10000; i++) {
  29. this.lab.addCraftsman(new Craftsman(String.valueOf(i), 10 * i, 10 + i));
  30. }
  31.  
  32. long start = System.currentTimeMillis();
  33. for (int i = 0; i < 100000; i++) {
  34. this.lab.getLeastProfitable();
  35. }
  36. long stop = System.currentTimeMillis();
  37.  
  38. assertTrue(stop - start < 15);
  39. }
  40.  
  41. private void verifyCorrectness() {
  42. Craftsman craftsman1 = new Craftsman("Bai Pesho", 100, 0);
  43. Craftsman craftsman2 = new Craftsman("Bai Gosho", 10, 950);
  44.  
  45. ApartmentRenovation apart1 = new ApartmentRenovation("plovdi1", 100, 10, LocalDate.now());
  46. ApartmentRenovation apart2 = new ApartmentRenovation("plovdi2", 100, 10, LocalDate.now());
  47. ApartmentRenovation apart3 = new ApartmentRenovation("plovdi3", 100, 10, LocalDate.now());
  48.  
  49. lab.addCraftsman(craftsman1);
  50. lab.addCraftsman(craftsman2);
  51. lab.addApartment(apart1);
  52. lab.addApartment(apart2);
  53. lab.addApartment(apart3);
  54.  
  55. lab.assignRenovations();
  56.  
  57. assertEquals(craftsman1.totalEarnings, 2000.0, 0);
  58. assertEquals(craftsman2.totalEarnings, 1050.0, 0);
  59.  
  60. assertEquals(lab.getContractor(apart1), craftsman1);
  61. assertEquals(lab.getContractor(apart2), craftsman2);
  62. assertEquals(lab.getContractor(apart3), craftsman1);
  63.  
  64. assertEquals(lab.getLeastProfitable(), craftsman2);
  65. }
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement