source: java/main/src/test/java/com/framsticks/params/ParamBuilderTest.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: 1.9 KB
Line 
1package com.framsticks.params;
2
3import org.testng.annotations.Test;
4
5import com.framsticks.params.types.FloatParam;
6import com.framsticks.params.types.StringParam;
7import com.framsticks.parsers.AccessStash;
8import com.framsticks.parsers.MultiParamLoader;
9import com.framsticks.test.TestConfiguration;
10import static org.fest.assertions.Assertions.*;
11import static com.framsticks.params.ParamsUtil.getParam;
12
13@Test
14public class ParamBuilderTest extends TestConfiguration {
15
16        ParamBuilder builder;
17        FramsClass builderFramsClass;
18        Access access;
19
20        @Test
21        public void createBuilderFramsClass() {
22                builderFramsClass = FramsClass.build().forClass(ParamBuilder.class);
23
24                assertThat(builderFramsClass.getParamCount()).isEqualTo(10);
25                assertThat(builderFramsClass.getName()).isEqualTo("prop");
26                assertThat(builderFramsClass.getId()).isEqualTo("prop");
27                assertThat(getParam(builderFramsClass, "flags", ValueParam.class).getDef(Object.class)).isEqualTo(new Integer(0));
28                assertThat(getParam(builderFramsClass, "id", Param.class)).isInstanceOf(StringParam.class);
29        }
30
31        @Test(dependsOnMethods = { "createBuilderFramsClass" })
32        public void loadParam() throws Exception {
33                access = new ReflectionAccess(ParamBuilder.class, builderFramsClass);
34                Source source = ListSource.createFrom("prop:", "id:v", "name:variable", "type:f", "help:just a testing variable", "");
35
36                MultiParamLoader loader = new MultiParamLoader();
37                loader.setNewSource(source);
38                loader.setAccessProvider(new AccessStash().add(access));
39                loader.addBreakCondition(MultiParamLoader.Status.AfterObject);
40
41                MultiParamLoader.Status status = loader.go();
42
43                assertThat(status).isEqualTo(MultiParamLoader.Status.AfterObject);
44                Object object = loader.returnObject();
45                assertThat(object).isInstanceOf(ParamBuilder.class);
46
47                builder = (ParamBuilder) object;
48
49                Param param = builder.finish();
50                assertThat(param).isInstanceOf(FloatParam.class);
51        }
52
53}
Note: See TracBrowser for help on using the repository browser.