77import edu .wpi .grip .core .Pipeline ;
88import edu .wpi .grip .core .Step ;
99import edu .wpi .grip .core .SubtractionOperation ;
10+ import edu .wpi .grip .core .operations .composite .BlurOperation ;
11+ import edu .wpi .grip .core .operations .composite .DesaturateOperation ;
1012import edu .wpi .grip .core .sockets .InputSocket ;
1113import edu .wpi .grip .core .sockets .OutputSocket ;
1214import edu .wpi .grip .core .util .MockExceptionWitness ;
@@ -49,6 +51,8 @@ public class PipelineUITest extends ApplicationTest {
4951 private EventBus eventBus ;
5052 private OperationMetaData additionOperation ;
5153 private OperationMetaData subtractionOperation ;
54+ private OperationMetaData blurOperation ;
55+ private OperationMetaData desaturateOperation ;
5256 private PipelineController pipelineController ;
5357 private Pipeline pipeline ;
5458
@@ -66,6 +70,10 @@ public void start(Stage stage) {
6670 AdditionOperation (isf , osf ));
6771 subtractionOperation = new OperationMetaData (SubtractionOperation .DESCRIPTION , () -> new
6872 SubtractionOperation (isf , osf ));
73+ blurOperation = new OperationMetaData (BlurOperation .DESCRIPTION , () -> new
74+ BlurOperation (isf , osf ));
75+ desaturateOperation = new OperationMetaData (DesaturateOperation .DESCRIPTION , () -> new
76+ DesaturateOperation (isf , osf ));
6977 pipelineController = injector .getInstance (PipelineController .class );
7078 final Scene scene = new Scene (TestAnnotationFXMLLoader .load (pipelineController ), 800 , 600 );
7179 stage .setScene (scene );
@@ -101,6 +109,27 @@ public void testConnectingTwoOperations() {
101109
102110 }
103111
112+ @ Test
113+ public void testMinimizeButton () {
114+ Step addStep = addOperation (1 , additionOperation );
115+ Step desaturateStep = addOperation (1 , desaturateOperation );
116+ Step blurStep = addOperation (1 , blurOperation );
117+
118+ drag (StyleClassNameUtility .cssSelectorForOutputSocketHandleOn (desaturateStep ), MouseButton
119+ .PRIMARY ).dropTo (StyleClassNameUtility .cssSelectorForInputSocketHandleOn (blurStep ));
120+
121+ clickOn (".pipeline .blur-step .expand" , MouseButton .PRIMARY );
122+ Connection connection0 = assertStepConnected ("The desat step did not connect to the blur "
123+ + "step" , desaturateStep , blurStep );
124+ verifyThat (".pipeline" , NodeMatchers .hasChildren (1 , "."
125+ + StyleClassNameUtility .classNameFor (connection0 )));
126+ clickOn (".pipeline .blur-step .expand" , MouseButton .PRIMARY );
127+ Connection connection1 = assertStepConnected ("The desat step did not connect to the blur "
128+ + "step" , desaturateStep , blurStep );
129+ verifyThat (".pipeline" , NodeMatchers .hasChildren (1 , "."
130+ + StyleClassNameUtility .classNameFor (connection1 )));
131+ }
132+
104133 @ Test
105134 public void testMoveOperation () {
106135 final Step step1 = MockStep .createMockStepWithOperation ();
0 commit comments