Bukkit-API  1.7.9-R0.2
The inofficial Bukkit-API
ConfigurationTest.java
1 package org.bukkit.configuration;
2 
3 import java.util.LinkedHashMap;
4 import java.util.Arrays;
5 import java.util.HashMap;
6 import java.util.HashSet;
7 import java.util.Map;
8 import java.util.Set;
9 import org.bukkit.util.Vector;
10 import org.junit.Test;
11 import static org.junit.Assert.*;
12 
13 public abstract class ConfigurationTest {
14  public abstract Configuration getConfig();
15 
16  public Map<String, Object> getTestValues() {
17  HashMap<String, Object> result = new LinkedHashMap<String, Object>();
18 
19  result.put("integer", Integer.MIN_VALUE);
20  result.put("string", "String Value");
21  result.put("long", Long.MAX_VALUE);
22  result.put("true-boolean", true);
23  result.put("false-boolean", false);
24  result.put("vector", new Vector(12345.67, 64, -12345.6789));
25  result.put("list", Arrays.asList(1, 2, 3, 4, 5));
26  result.put("42", "The Answer");
27 
28  return result;
29  }
30 
31  /**
32  * Test of addDefault method, of class Configuration.
33  */
34  @Test
35  public void testAddDefault() {
36  Configuration config = getConfig();
37  Map<String, Object> values = getTestValues();
38 
39  for (Map.Entry<String, Object> entry : values.entrySet()) {
40  String path = entry.getKey();
41  Object object = entry.getValue();
42 
43  config.addDefault(path, object);
44 
45  assertEquals(object, config.get(path));
46  assertTrue(config.contains(path));
47  assertFalse(config.isSet(path));
48  assertTrue(config.getDefaults().isSet(path));
49  }
50  }
51 
52  /**
53  * Test of addDefaults method, of class Configuration.
54  */
55  @Test
56  public void testAddDefaults_Map() {
57  Configuration config = getConfig();
58  Map<String, Object> values = getTestValues();
59 
60  config.addDefaults(values);
61 
62  for (Map.Entry<String, Object> entry : values.entrySet()) {
63  String path = entry.getKey();
64  Object object = entry.getValue();
65 
66  assertEquals(object, config.get(path));
67  assertTrue(config.contains(path));
68  assertFalse(config.isSet(path));
69  assertTrue(config.getDefaults().isSet(path));
70  }
71  }
72 
73  /**
74  * Test of addDefaults method, of class Configuration.
75  */
76  @Test
78  Configuration config = getConfig();
79  Map<String, Object> values = getTestValues();
80  Configuration defaults = getConfig();
81 
82  for (Map.Entry<String, Object> entry : values.entrySet()) {
83  defaults.set(entry.getKey(), entry.getValue());
84  }
85 
86  config.addDefaults(defaults);
87 
88  for (Map.Entry<String, Object> entry : values.entrySet()) {
89  String path = entry.getKey();
90  Object object = entry.getValue();
91 
92  assertEquals(object, config.get(path));
93  assertTrue(config.contains(path));
94  assertFalse(config.isSet(path));
95  assertTrue(config.getDefaults().isSet(path));
96  }
97  }
98 
99  /**
100  * Test of setDefaults method, of class Configuration.
101  */
102  @Test
103  public void testSetDefaults() {
104  Configuration config = getConfig();
105  Map<String, Object> values = getTestValues();
106  Configuration defaults = getConfig();
107 
108  for (Map.Entry<String, Object> entry : values.entrySet()) {
109  defaults.set(entry.getKey(), entry.getValue());
110  }
111 
112  config.setDefaults(defaults);
113 
114  for (Map.Entry<String, Object> entry : values.entrySet()) {
115  String path = entry.getKey();
116  Object object = entry.getValue();
117 
118  assertEquals(object, config.get(path));
119  assertTrue(config.contains(path));
120  assertFalse(config.isSet(path));
121  assertTrue(config.getDefaults().isSet(path));
122  }
123  }
124 
125  /**
126  * Test creation of ConfigurationSection
127  */
128  @Test
129  public void testCreateSection() {
130  Configuration config = getConfig();
131 
132  Set<String> set = new HashSet<String>();
133  set.add("this");
134  set.add("this.test.sub");
135  set.add("this.test");
136  set.add("this.test.other");
137 
138  config.createSection("this.test.sub");
139  config.createSection("this.test.other");
140 
141  assertEquals(set, config.getKeys(true));
142  }
143 
144  /**
145  * Test of getDefaults method, of class Configuration.
146  */
147  @Test
148  public void testGetDefaults() {
149  Configuration config = getConfig();
150  Configuration defaults = getConfig();
151 
152  config.setDefaults(defaults);
153 
154  assertEquals(defaults, config.getDefaults());
155  }
156 }
void set(String path, Object value)
ConfigurationSection createSection(String path)
void setDefaults(Configuration defaults)
void addDefault(String path, Object value)
void addDefaults(Map< String, Object > defaults)