@Test public void testGetAllSection() { // Test integer and string config.put("section1.int", 1); config.put("section1.subsection.string", "2"); config.put("section1.subsection.subsub.int", 1); config.put("section1.subsection.subsub.string", "4"); config.put("section2.int", 3); assertEquals(ImmutableMap.of("int", "1"), config.getAllSection("section1")); assertEquals(ImmutableMap.of("string", "2"), config.getAllSection("section1.subsection")); assertEquals( ImmutableMap.of("int", "1", "string", "4"), config.getAllSection("section1.subsection.subsub")); }
@Test public void testNumberFormatException() { config.put("section.string", "notanumber"); exception.expect(IllegalArgumentException.class); config.get("section.string", Integer.class); }
@Test public void testNullValue() { config.put("section.null", null); Optional<String> str = config.get("section.null"); assertFalse(str.isPresent()); }
@Test public void testRemove() { // Test integer and string config.put("section1.int", 1); config.put("section1.subsection.string", "2"); config.put("section1.subsection.subsub.int", 1); config.put("section1.subsection.subsub.string", "4"); config.put("section2.int", 3); assertTrue(config.get("section1.int").isPresent()); config.remove("section1.int"); assertFalse(config.get("section1.int").isPresent()); assertTrue(config.get("section1.subsection.subsub.string").isPresent()); config.remove("section1.subsection.subsub.string"); assertFalse(config.get("section1.subsection.subsub.string").isPresent()); }
@Test public void testNestedSections() { // Test integer and string config.put("section.subsection.int", 1); config.put("section.subsection.string", "2"); final int one = config.get("section.subsection.int", Integer.class).or(-1); assertEquals(one, 1); final String two = config.get("section.subsection.string").or("-1"); assertEquals(two, "2"); // Test overwriting a value that already exists config.put("section.subsection.string", "3"); final String three = config.get("section.subsection.string").or("-1"); assertEquals(three, "3"); }
@Test public void testGetAll() { // Test integer and string config.put("section1.int", 1); config.put("section1.subsection.string", "2"); config.put("section1.subsection.subsub.int", 1); config.put("section2.int", 3); config.put("section2.subsection.string", "4"); Map<String, String> all = config.getAll(); Map<String, String> expected = ImmutableMap.of( "section1.int", "1", "section1.subsection.string", "2", "section1.subsection.subsub.int", "1", "section2.int", "3", "section2.subsection.string", "4"); assertEquals(expected, all); }
@Test public void testGetAllSubsections() { // Test integer and string config.put("section1.subsection1.int", 1); config.put("section1.subsection2.string", "2"); config.put("section1.subsection1.subsub1.int", 1); config.put("section1.subsection2.subsub2.string", "2"); config.put("section2.subsection3.int", 3); config.put("section2.subsection4.string", "4"); List<String> allSubsections = config.getAllSubsections("section1"); Set<String> expected = ImmutableSet.of("subsection1", "subsection2", "subsection1.subsub1", "subsection2.subsub2"); assertEquals(expected, new HashSet<String>(allSubsections)); }
@Test public void testNoRepository() { tempFolder.delete(); exception.expect(ConfigException.class); config.put("section.int", 1); }