1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.commons.betwixt.expression;
18
19 import junit.framework.TestCase;
20
21 import org.apache.commons.betwixt.Options;
22
23 public class TestContextOptions extends TestCase {
24
25
26 private static final String OPTION_NAME_ONE = "Option1";
27 private static final String OPTION_NAME_TWO = "Option2";
28 private static final String OPTION_NAME_THREE = "Option3";
29 private static final String OPTION_NAME_FOUR = "Option4";
30 private static final String ALPHA = "ALPHA";
31 private static final String BETA = "BETA";
32 private static final String GAMMA = "GAMMA";
33
34 public void testOptionInheritance() throws Exception {
35
36 Options optionsAlpha = new Options();
37 optionsAlpha.addOption(OPTION_NAME_TWO, ALPHA);
38 optionsAlpha.addOption(OPTION_NAME_THREE, ALPHA);
39 optionsAlpha.addOption(OPTION_NAME_FOUR, ALPHA);
40 Options optionsBeta = new Options();
41 optionsBeta.addOption(OPTION_NAME_TWO, BETA);
42 optionsBeta.addOption(OPTION_NAME_THREE, BETA);
43 Options optionsGamma = new Options();
44 optionsGamma.addOption(OPTION_NAME_TWO, GAMMA);
45
46 Context context = new Context();
47 context.pushOptions(optionsAlpha);
48 context.pushOptions(optionsBeta);
49 context.pushOptions(optionsGamma);
50
51 assertNull("Null when no option set", context.getInheritedOption(OPTION_NAME_ONE));
52 assertEquals("Return first value when that is set", GAMMA, context.getInheritedOption(OPTION_NAME_TWO));
53 assertEquals("Return first value that is set", BETA, context.getInheritedOption(OPTION_NAME_THREE));
54 assertEquals("Return first value that is set", ALPHA, context.getInheritedOption(OPTION_NAME_FOUR));
55
56 }
57 }