1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.ini4j;
17
18 import org.easymock.classextension.EasyMock;
19
20 import org.ini4j.sample.Dwarf;
21 import org.ini4j.sample.Dwarfs;
22
23 import static org.junit.Assert.*;
24
25 import org.junit.Test;
26
27
28
29
30 public class IniHandlerTest
31 {
32 private static final String DOPEY_WEIGHT = "${bashful/weight}";
33 private static final String DOPEY_HEIGHT = "${doc/height}";
34 private static final String GRUMPY_HEIGHT = "${dopey/height}";
35 private static final String SLEEPY_HEIGHT = "${doc/height}8";
36 private static final String SNEEZY_HOME_PAGE = "${happy/homePage}/~sneezy";
37
38 @Test public void testHandler() throws Exception
39 {
40 IniParser parser = new IniParser();
41 IniHandler handler;
42
43 handler = newHandler();
44 EasyMock.replay(handler);
45 parser.parse(Helper.getResourceStream(Helper.DWARFS_INI), handler);
46 EasyMock.verify(handler);
47 handler = newHandler();
48 EasyMock.replay(handler);
49 parser.parseXML(Helper.getResourceStream(Helper.DWARFS_XML), handler);
50 EasyMock.verify(handler);
51 }
52
53 protected IniHandler newHandler() throws Exception
54 {
55 IniHandler handler = EasyMock.createMock(IniHandler.class);
56 Dwarf dwarf;
57
58 handler.startIni();
59 dwarf = DwarfsData.bashful;
60 handler.startSection(Dwarfs.PROP_BASHFUL);
61 handler.handleOption(Dwarf.PROP_WEIGHT, String.valueOf(dwarf.getWeight()));
62 handler.handleOption(Dwarf.PROP_HEIGHT, String.valueOf(dwarf.getHeight()));
63 handler.handleOption(Dwarf.PROP_AGE, String.valueOf(dwarf.getAge()));
64 handler.handleOption(Dwarf.PROP_HOME_PAGE, String.valueOf(dwarf.getHomePage()));
65 handler.handleOption(Dwarf.PROP_HOME_DIR, String.valueOf(dwarf.getHomeDir()));
66 handler.endSection();
67 dwarf = DwarfsData.doc;
68 handler.startSection(Dwarfs.PROP_DOC);
69 handler.handleOption(Dwarf.PROP_WEIGHT, String.valueOf(dwarf.getWeight()));
70 handler.handleOption(Dwarf.PROP_HEIGHT, String.valueOf(dwarf.getHeight()));
71 handler.handleOption(Dwarf.PROP_AGE, String.valueOf(dwarf.getAge()));
72 handler.handleOption(Dwarf.PROP_HOME_PAGE, String.valueOf(dwarf.getHomePage()));
73 handler.handleOption(Dwarf.PROP_HOME_DIR, String.valueOf(dwarf.getHomeDir()));
74 handler.endSection();
75 dwarf = DwarfsData.dopey;
76 handler.startSection(Dwarfs.PROP_DOPEY);
77 handler.handleOption(Dwarf.PROP_WEIGHT, DOPEY_WEIGHT);
78 handler.handleOption(Dwarf.PROP_HEIGHT, DOPEY_HEIGHT);
79 handler.handleOption(Dwarf.PROP_AGE, String.valueOf(dwarf.getAge()));
80 handler.handleOption(Dwarf.PROP_HOME_PAGE, String.valueOf(dwarf.getHomePage()));
81 handler.handleOption(Dwarf.PROP_HOME_DIR, String.valueOf(dwarf.getHomeDir()));
82 handler.endSection();
83 dwarf = DwarfsData.grumpy;
84 handler.startSection(Dwarfs.PROP_GRUMPY);
85 handler.handleOption(Dwarf.PROP_WEIGHT, String.valueOf(dwarf.getWeight()));
86 handler.handleOption(Dwarf.PROP_HEIGHT, GRUMPY_HEIGHT);
87 handler.handleOption(Dwarf.PROP_AGE, String.valueOf(dwarf.getAge()));
88 handler.handleOption(Dwarf.PROP_HOME_PAGE, String.valueOf(dwarf.getHomePage()));
89 handler.handleOption(Dwarf.PROP_HOME_DIR, String.valueOf(dwarf.getHomeDir()));
90 handler.endSection();
91 dwarf = DwarfsData.happy;
92 handler.startSection(Dwarfs.PROP_HAPPY);
93 handler.handleOption(Dwarf.PROP_WEIGHT, String.valueOf(dwarf.getWeight()));
94 handler.handleOption(Dwarf.PROP_HEIGHT, String.valueOf(dwarf.getHeight()));
95 handler.handleOption(Dwarf.PROP_AGE, String.valueOf(dwarf.getAge()));
96 handler.handleOption(EasyMock.eq(Dwarf.PROP_HOME_PAGE), (String) EasyMock.anyObject());
97 handler.handleOption(Dwarf.PROP_HOME_DIR, String.valueOf(dwarf.getHomeDir()));
98 handler.endSection();
99 dwarf = DwarfsData.sleepy;
100 handler.startSection(Dwarfs.PROP_SLEEPY);
101 handler.handleOption(Dwarf.PROP_WEIGHT, String.valueOf(dwarf.getWeight()));
102 handler.handleOption(Dwarf.PROP_HEIGHT, SLEEPY_HEIGHT);
103 handler.handleOption(Dwarf.PROP_AGE, String.valueOf(dwarf.getAge()));
104 handler.handleOption(Dwarf.PROP_HOME_PAGE, String.valueOf(dwarf.getHomePage()));
105 handler.handleOption(Dwarf.PROP_HOME_DIR, String.valueOf(dwarf.getHomeDir()));
106 handler.handleOption(Dwarf.PROP_FORTUNE_NUMBER, String.valueOf(dwarf.getFortuneNumber()[0]));
107 handler.endSection();
108 dwarf = DwarfsData.sneezy;
109 handler.startSection(Dwarfs.PROP_SNEEZY);
110 handler.handleOption(Dwarf.PROP_WEIGHT, String.valueOf(dwarf.getWeight()));
111 handler.handleOption(Dwarf.PROP_HEIGHT, String.valueOf(dwarf.getHeight()));
112 handler.handleOption(Dwarf.PROP_AGE, String.valueOf(dwarf.getAge()));
113 handler.handleOption(Dwarf.PROP_HOME_PAGE, SNEEZY_HOME_PAGE);
114 handler.handleOption(Dwarf.PROP_HOME_DIR, String.valueOf(dwarf.getHomeDir()));
115 handler.handleOption(Dwarf.PROP_FORTUNE_NUMBER, String.valueOf(dwarf.getFortuneNumber()[0]));
116 handler.handleOption(Dwarf.PROP_FORTUNE_NUMBER, String.valueOf(dwarf.getFortuneNumber()[1]));
117 handler.handleOption(Dwarf.PROP_FORTUNE_NUMBER, String.valueOf(dwarf.getFortuneNumber()[2]));
118 handler.handleOption(Dwarf.PROP_FORTUNE_NUMBER, String.valueOf(dwarf.getFortuneNumber()[3]));
119 handler.endSection();
120 dwarf = DwarfsData.happy;
121 handler.startSection(Dwarfs.PROP_HAPPY);
122 handler.handleOption(Dwarf.PROP_HOME_PAGE, String.valueOf(dwarf.getHomePage()));
123 handler.endSection();
124 handler.endIni();
125
126 return handler;
127 }
128 }