ElementPanelTest.java 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. package org.leumasjaffe.recipe.view.summary;
  2. import static org.hamcrest.MatcherAssert.assertThat;
  3. import static org.hamcrest.collection.IsArrayWithSize.arrayWithSize;
  4. import static org.junit.jupiter.api.Assertions.*;
  5. import static org.mockito.Mockito.*;
  6. import java.util.Arrays;
  7. import org.junit.jupiter.api.BeforeEach;
  8. import org.junit.jupiter.api.Test;
  9. import org.junit.jupiter.api.extension.ExtendWith;
  10. import org.junit.platform.runner.JUnitPlatform;
  11. import org.junit.runner.RunWith;
  12. import org.leumasjaffe.observer.ObserverDispatch;
  13. import org.leumasjaffe.recipe.model.Amount;
  14. import org.leumasjaffe.recipe.model.Ingredient;
  15. import org.leumasjaffe.recipe.view.SwingTestCase;
  16. import org.leumasjaffe.recipe.model.Element;
  17. import org.mockito.Mock;
  18. import org.mockito.junit.jupiter.MockitoExtension;
  19. @ExtendWith(MockitoExtension.class)
  20. @RunWith(JUnitPlatform.class)
  21. class ElementPanelTest extends SwingTestCase {
  22. @Mock Element stuff;
  23. ElementPanel panel;
  24. @BeforeEach
  25. void setUp() {
  26. doReturn("Curry").when(stuff).getName();
  27. doReturn(Arrays.asList(
  28. new Ingredient("Onions", "", new Amount("100 g")),
  29. new Ingredient("Garlic", "", new Amount("2 tsp"))))
  30. .when(stuff).getIngredients();
  31. panel = new ElementPanel(stuff);
  32. }
  33. @Test
  34. void testHasContent() {
  35. assertEquals("Curry", panel.getLblProductName().getText());
  36. assertThat(panel.getPanelIngredients().getComponents(),
  37. arrayWithSize(2));
  38. }
  39. @Test
  40. void testRegeneratesListWhenProductNotify() {
  41. doReturn(Arrays.asList(new Ingredient("Onions", "", new Amount("100 g"))))
  42. .when(stuff).getIngredients();
  43. ObserverDispatch.notifySubscribers(stuff);
  44. waitForSwing();
  45. assertThat(panel.getPanelIngredients().getComponents(),
  46. arrayWithSize(1));
  47. }
  48. }