|
|
@@ -6,16 +6,20 @@ import static org.mockito.Mockito.*;
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
+import java.util.function.Consumer;
|
|
|
+import java.util.function.IntConsumer;
|
|
|
|
|
|
import javax.swing.JTextField;
|
|
|
import javax.swing.event.DocumentListener;
|
|
|
import javax.swing.text.BadLocationException;
|
|
|
|
|
|
+import org.junit.jupiter.api.BeforeEach;
|
|
|
import org.junit.jupiter.api.Test;
|
|
|
import org.junit.jupiter.api.extension.ExtendWith;
|
|
|
import org.junit.platform.runner.JUnitPlatform;
|
|
|
import org.junit.runner.RunWith;
|
|
|
import org.leumasjaffe.recipe.view.AutoGrowPanel.DocumentListenable;
|
|
|
+import org.mockito.Mock;
|
|
|
import org.mockito.junit.jupiter.MockitoExtension;
|
|
|
|
|
|
@ExtendWith(MockitoExtension.class)
|
|
|
@@ -41,6 +45,8 @@ class AutoGrowPanelTest extends SwingTestCase {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ @Mock Consumer<MockComponent> add;
|
|
|
+ @Mock IntConsumer remove;
|
|
|
List<MockComponent> components = new ArrayList<>();
|
|
|
|
|
|
private MockComponent mocked() {
|
|
|
@@ -50,8 +56,7 @@ class AutoGrowPanelTest extends SwingTestCase {
|
|
|
}
|
|
|
|
|
|
private AutoGrowPanel create(MockComponent... mocks) {
|
|
|
- return new AutoGrowPanel(m -> m, this::mocked,
|
|
|
- m -> {}, i -> {}, mocks);
|
|
|
+ return new AutoGrowPanel(m -> m, this::mocked, add, remove, mocks);
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
@@ -59,6 +64,7 @@ class AutoGrowPanelTest extends SwingTestCase {
|
|
|
AutoGrowPanel panel = create();
|
|
|
|
|
|
assertThat(panel.getComponents(), arrayWithSize(1));
|
|
|
+ verify(add, never()).accept(any());
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
@@ -66,6 +72,7 @@ class AutoGrowPanelTest extends SwingTestCase {
|
|
|
AutoGrowPanel panel = create(mocked(), mocked());
|
|
|
|
|
|
assertThat(panel.getComponents(), arrayWithSize(3));
|
|
|
+ verify(add, never()).accept(any());
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
@@ -78,6 +85,7 @@ class AutoGrowPanelTest extends SwingTestCase {
|
|
|
|
|
|
components.get(1).setText("B");
|
|
|
assertThat(panel.getComponents(), arrayWithSize(3));
|
|
|
+ verify(add, times(2)).accept(any());
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
@@ -87,7 +95,8 @@ class AutoGrowPanelTest extends SwingTestCase {
|
|
|
components.get(0).setText("");
|
|
|
|
|
|
assertThat(panel.getComponents(), arrayWithSize(1));
|
|
|
- verify(components.get(0), never()).removeDocumentListener(any());
|
|
|
+ verify(add, never()).accept(any());
|
|
|
+ verify(remove, never()).accept(anyInt());
|
|
|
}
|
|
|
|
|
|
@Test
|
|
|
@@ -99,6 +108,7 @@ class AutoGrowPanelTest extends SwingTestCase {
|
|
|
mock.setText("");
|
|
|
|
|
|
assertThat(panel.getComponents(), arrayWithSize(1));
|
|
|
+ verify(remove, times(1)).accept(0);
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -111,5 +121,6 @@ class AutoGrowPanelTest extends SwingTestCase {
|
|
|
mock.getDocument().insertString(0, "B", null);
|
|
|
|
|
|
assertThat(panel.getComponents(), arrayWithSize(2));
|
|
|
+ verify(remove, never()).accept(anyInt());
|
|
|
}
|
|
|
}
|