source: java/main/src/test/java/com/framsticks/gui/ProcedureBrowserTest.java @ 193

Last change on this file since 193 was 193, checked in by Maciej Komosinski, 10 years ago

Set svn:eol-style native for all textual files

  • Property svn:eol-style set to native
File size: 3.8 KB
Line 
1
2package com.framsticks.gui;
3
4import static org.fest.assertions.Assertions.assertThat;
5
6import org.fest.swing.fixture.JPanelFixture;
7import org.testng.annotations.Test;
8
9import com.framsticks.params.Access;
10import com.framsticks.params.EventListener;
11import com.framsticks.params.ReflectionAccess;
12import com.framsticks.params.types.EventParam;
13import com.framsticks.params.types.StringParam;
14import com.framsticks.parsers.XmlLoader;
15import com.framsticks.structure.LocalTree;
16import com.framsticks.structure.Path;
17import com.framsticks.structure.Tree;
18import com.framsticks.structure.messages.ValueChange;
19import com.framsticks.test.TestClass;
20import com.framsticks.util.dispatching.Future;
21// import com.framsticks.util.dispatching.Dispatching;
22import com.framsticks.util.dispatching.RunAt;
23import static com.framsticks.params.ParamsUtil.getParam;
24import static com.framsticks.structure.TreeOperations.*;
25
26@Test
27public class ProcedureBrowserTest extends BrowserBaseTest {
28
29        LocalTree tree;
30
31        @Override
32        protected void configureBrowser() {
33                browser = new XmlLoader().load(Browser.class, getClass().getResourceAsStream("/configs/ProcedureBrowserTest.xml"));
34
35                assertThat(browser.getTrees().size()).isEqualTo(1);
36                assertThat(browser.getTrees().get("test")).isInstanceOf(LocalTree.class);
37
38                tree = (LocalTree) browser.getTrees().get("test");
39        }
40
41        @Test(timeOut = 10000)
42        public void testShow() {
43                tree.dispatch(new RunAt<Tree>(failOnException) {
44                        @Override
45                        protected void runAt() {
46                                assertThat(tree.getRootObject()).isInstanceOf(TestClass.class);
47                        }
48                });
49
50                clickAndExpandPath("test");
51
52                tree.dispatch(new RunAt<Tree>(failOnException) {
53                        @Override
54                        protected void runAt() {
55                                assertThat(getParam(bindAccess(tree, "/"), "history")).isInstanceOf(StringParam.class);
56                        }
57                });
58
59                // monitor.useFor(4.0);
60
61                tree.dispatch(new RunAt<Tree>(failOnException) {
62                        @Override
63                        protected void runAt() {
64                                Access access = bindAccess(tree, "/");
65                                assertThat(access).isInstanceOf(ReflectionAccess.class);
66                                assertThat(getParam(access, 0).getId()).isEqualTo("name");
67                                assertThat(getParam(access, 1).getId()).isEqualTo("history");
68                                assertThat(getParam(access, 2).getId()).isEqualTo("history_changed");
69                                assertThat(getParam(access, 3).getId()).isEqualTo("appendHistory");
70                                assertThat(getParam(access, 4).getId()).isEqualTo("resetHistory");
71
72                                assertThat(access.get("history", String.class)).isEqualTo("initial|");
73                        }
74                });
75
76                // frame.panel("TestClass");
77                final JPanelFixture appendHistory = frame.panel("TestClass").panel("appendHistory");
78                appendHistory.panel("arg0").textBox("value").enterText("Żółw");
79                assertThat(appendHistory.panel("arg0").textBox("value").text()).isEqualTo("Żółw");
80                clickButton(appendHistory.button("call"));
81                waitForIdle();
82
83                final EventListener<ValueChange> listener = new EventListener<ValueChange>() {
84
85                        @Override
86                        public void action(ValueChange argument) {
87                                assertThat(argument.value).isEqualTo("");
88                        }
89                };
90
91                tree.dispatch(new RunAt<Tree>(failOnException) {
92                        @Override
93                        protected void runAt() {
94                                Access access = bindAccess(tree, "/");
95                                assertThat(access.get("history", String.class)).isEqualTo("initial|Żółw|");
96
97                                tree.addListener(Path.to(tree, "/"), getParam(access, "history_changed", EventParam.class), listener, ValueChange.class, Future.doNothing(Void.class, failOnException));
98                        }
99                });
100
101                clickButton(frame.panel("TestClass").panel("resetHistory").button("call"));
102                waitForIdle();
103
104                tree.dispatch(new RunAt<Tree>(failOnException) {
105                        @Override
106                        protected void runAt() {
107                                Access access = bindAccess(tree, "/");
108                                assertThat(access.get("history", String.class)).isEqualTo("");
109
110                                tree.removeListener(Path.to(tree, "/"), getParam(access, "history_changed", EventParam.class), listener, Future.doNothing(Void.class, failOnException));
111                        }
112                });
113        }
114}
Note: See TracBrowser for help on using the repository browser.