1 package com.atlassian.logging.log4j;
2
3 import org.junit.Test;
4
5 import java.util.Collections;
6 import java.util.HashSet;
7 import java.util.Set;
8
9 import static org.hamcrest.CoreMatchers.equalTo;
10 import static org.junit.Assert.assertThat;
11
12 public class SplitValueParserTest
13 {
14 @Test
15 public void test_string_parsing() throws Exception
16 {
17 SplitValueParser parser = new SplitValueParser(",", "prefix_");
18 assertThat(parser.parse("val1,val2,val3"), equalTo(setOf("prefix_val1", "prefix_val2", "prefix_val3")));
19
20
21 assertThat(parser.parse("val1,,val3"), equalTo(setOf("prefix_val1", "prefix_val3")));
22
23
24 assertThat(parser.parse(" val1 ,\tval2,\nval3"), equalTo(setOf("prefix_val1", "prefix_val2", "prefix_val3")));
25
26
27 assertThat(parser.parse(null), equalTo(setOf()));
28 assertThat(parser.parse(""), equalTo(setOf()));
29 assertThat(parser.parse(" \t\n"), equalTo(setOf()));
30 }
31
32 @Test
33 public void test_at_syntax() throws Exception
34 {
35 SplitValueParser parser = new SplitValueParser(",", "prefix_");
36
37 assertThat(parser.parse("@filtering/splitvalueparser_test_general.properties"),
38 equalTo(setOf("prefix_val1", "prefix_val2", "prefix_val3", "prefix_val4", "prefix_val5", "prefix_val6")));
39
40 assertThat(parser.parse("@filtering/does_not_exist.properties"),
41 equalTo(setOf()));
42
43
44 assertThat(parser.parse("@filtering/splitvalueparser_test_empty.properties"),
45 equalTo(setOf()));
46
47 }
48
49 private Set<String> setOf(final String... vals)
50 {
51 Set<String> set = new HashSet<>();
52 Collections.addAll(set, vals);
53 return set;
54 }
55 }