|
|
@@ -12,7 +12,6 @@ import org.junit.jupiter.api.extension.ExtendWith;
|
|
|
import org.leumasjaffe.mock.MockObserverListener;
|
|
|
import org.leumasjaffe.observer.ObserverDispatch;
|
|
|
import org.leumasjaffe.recipe.model.Amount;
|
|
|
-import org.leumasjaffe.recipe.model.Duration;
|
|
|
import org.leumasjaffe.recipe.model.Ingredient;
|
|
|
import org.leumasjaffe.recipe.model.Step;
|
|
|
import org.mockito.Spy;
|
|
|
@@ -21,28 +20,33 @@ import org.mockito.junit.jupiter.MockitoExtension;
|
|
|
@ExtendWith(MockitoExtension.class)
|
|
|
class StepPanelIT extends SwingTestCase {
|
|
|
@Spy MockObserverListener listener;
|
|
|
+
|
|
|
List<Ingredient> ingredients;
|
|
|
- @Spy Step stuff;
|
|
|
- StepPanel panel;
|
|
|
+ Step stuff;
|
|
|
+
|
|
|
+ StepPanel panel = new StepPanel();
|
|
|
|
|
|
@BeforeEach
|
|
|
void setUp() {
|
|
|
- Duration dur = new Duration(Duration.Display.SECONDS, 0, 30);
|
|
|
ingredients = new ArrayList<>(Arrays.asList(new Ingredient("Onion", "Sliced", new Amount("100 g"))));
|
|
|
- doReturn(dur).when(stuff).getDuration();
|
|
|
- doReturn("These are test instructions").when(stuff).getInstruction();
|
|
|
- doReturn(ingredients).when(stuff).getIngredients();
|
|
|
+
|
|
|
+ stuff = new Step();
|
|
|
+ stuff.setIngredients(ingredients);
|
|
|
|
|
|
- panel = new StepPanel(stuff);
|
|
|
+ panel.setModel(stuff);
|
|
|
listener.setObserved(stuff);
|
|
|
// setObserved invokes our callback.
|
|
|
clearInvocations(listener);
|
|
|
}
|
|
|
+
|
|
|
+ private AutoGrowPanel<IngredientPanel, Ingredient> getPanelIngredients() {
|
|
|
+ return panel.getPanelIngredients();
|
|
|
+ }
|
|
|
|
|
|
@Test
|
|
|
void testRecievesSignalWhenNewElementAdded() {
|
|
|
final IngredientPanel newIngredient =
|
|
|
- (IngredientPanel) panel.getPanelIngredients().getComponent(1);
|
|
|
+ (IngredientPanel) getPanelIngredients().getComponent(1);
|
|
|
|
|
|
newIngredient.getTxtName().setText("Bacon");
|
|
|
waitForSwing();
|
|
|
@@ -53,7 +57,7 @@ class StepPanelIT extends SwingTestCase {
|
|
|
@Test
|
|
|
void testNewItemCanProduceUpdate() {
|
|
|
final IngredientPanel newIngredient =
|
|
|
- (IngredientPanel) panel.getPanelIngredients().getComponent(1);
|
|
|
+ (IngredientPanel) getPanelIngredients().getComponent(1);
|
|
|
newIngredient.getTxtName().setText("Bacon");
|
|
|
waitForSwing();
|
|
|
|
|
|
@@ -65,7 +69,7 @@ class StepPanelIT extends SwingTestCase {
|
|
|
@Test
|
|
|
void testReceivesSignalWhenElementRemoved() {
|
|
|
final IngredientPanel oldIngredient =
|
|
|
- (IngredientPanel) panel.getPanelIngredients().getComponent(0);
|
|
|
+ (IngredientPanel) getPanelIngredients().getComponent(0);
|
|
|
oldIngredient.getTxtName().setText("");
|
|
|
waitForSwing();
|
|
|
|
|
|
@@ -76,7 +80,7 @@ class StepPanelIT extends SwingTestCase {
|
|
|
void testIgnoresOldItemUpdates() {
|
|
|
final Ingredient ing = ingredients.get(0);
|
|
|
final IngredientPanel oldIngredient =
|
|
|
- (IngredientPanel) panel.getPanelIngredients().getComponent(0);
|
|
|
+ (IngredientPanel) getPanelIngredients().getComponent(0);
|
|
|
oldIngredient.getTxtName().setText("");
|
|
|
|
|
|
waitForSwing();
|