StepPanelTest.java 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package org.leumasjaffe.recipe.view;
  2. import static org.junit.jupiter.api.Assertions.*;
  3. import static org.hamcrest.MatcherAssert.assertThat;
  4. import static org.hamcrest.collection.IsArrayWithSize.arrayWithSize;
  5. import static org.hamcrest.number.OrderingComparison.greaterThanOrEqualTo;
  6. import static org.mockito.Mockito.*;
  7. import java.util.Arrays;
  8. import org.junit.jupiter.api.BeforeEach;
  9. import org.junit.jupiter.api.Test;
  10. import org.junit.jupiter.api.extension.ExtendWith;
  11. import org.junit.platform.runner.JUnitPlatform;
  12. import org.junit.runner.RunWith;
  13. import org.leumasjaffe.mock.MockObserverListener;
  14. import org.leumasjaffe.recipe.model.Amount;
  15. import org.leumasjaffe.recipe.model.Duration;
  16. import org.leumasjaffe.recipe.model.Ingredient;
  17. import org.leumasjaffe.recipe.model.Step;
  18. import org.mockito.Mock;
  19. import org.mockito.Spy;
  20. import org.mockito.junit.jupiter.MockitoExtension;
  21. @ExtendWith(MockitoExtension.class)
  22. @RunWith(JUnitPlatform.class)
  23. class StepPanelTest extends SwingTestCase {
  24. @Spy MockObserverListener listener;
  25. Duration dur;
  26. @Mock Step stuff;
  27. StepPanel panel;
  28. @BeforeEach
  29. void setUp() {
  30. dur = new Duration(Duration.Display.SECONDS, 0, 30);
  31. doReturn(dur).when(stuff).getDuration();
  32. doReturn("These are test instructions").when(stuff).getInstruction();
  33. doReturn(Arrays.asList(new Ingredient("Onion", "Sliced", new Amount("100 g"))))
  34. .when(stuff).getIngredients();
  35. panel = new StepPanel(0, stuff);
  36. listener.setObserved(stuff);
  37. // setObserved invokes our callback.
  38. clearInvocations(listener);
  39. }
  40. @Test
  41. void testFilledOutWithContent() {
  42. assertEquals("Step 1", panel.getLblIndex().getText());
  43. assertEquals("These are test instructions", panel.getTxtpnInstructions().getText());
  44. assertThat(panel.getPanelIngredients().getComponents(),
  45. arrayWithSize(greaterThanOrEqualTo(1)));
  46. }
  47. }