1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.yaml.snakeyaml.tokens;
17
18 import java.util.ArrayList;
19 import java.util.List;
20
21 import junit.framework.TestCase;
22
23 import org.yaml.snakeyaml.error.Mark;
24 import org.yaml.snakeyaml.tokens.Token.ID;
25
26 public class DirectiveTokenTest extends TestCase {
27
28 public void testGetArguments() {
29 Mark mark = new Mark("test1", 0, 0, 0, "*The first line.\nThe last line.", 0);
30 DirectiveToken<Integer> token = new DirectiveToken<Integer>("YAML", null, mark, mark);
31 assertEquals("name=YAML", token.getArguments());
32 }
33
34 public void testInvalidList() {
35 Mark mark = new Mark("test1", 0, 0, 0, "*The first line.\nThe last line.", 0);
36 List<Integer> list = new ArrayList<Integer>();
37 list.add(new Integer(1));
38 try {
39 new DirectiveToken<Integer>("YAML", list, mark, mark);
40 fail("List must have 2 values.");
41 } catch (Exception e) {
42 assertEquals("Two strings must be provided instead of 1", e.getMessage());
43 }
44 }
45
46 public void testTag() {
47 Mark mark = new Mark("test1", 0, 0, 0, "*The first line.\nThe last line.", 0);
48 List<String> list = new ArrayList<String>();
49 list.add("!foo");
50 list.add("!bar");
51 DirectiveToken<String> token = new DirectiveToken<String>("TAG", list, mark, mark);
52 assertEquals("name=TAG, value=[!foo, !bar]", token.getArguments());
53 }
54
55 public void testList() {
56 Mark mark = new Mark("test1", 0, 0, 0, "*The first line.\nThe last line.", 0);
57 List<Integer> list = new ArrayList<Integer>();
58 list.add(new Integer(1));
59 list.add(new Integer(1));
60 DirectiveToken<Integer> token = new DirectiveToken<Integer>("YAML", list, mark, mark);
61 assertEquals("name=YAML, value=[1, 1]", token.getArguments());
62 }
63
64 public void testGetTokenId() {
65 Mark mark = new Mark("test1", 0, 0, 0, "*The first line.\nThe last line.", 0);
66 DirectiveToken<Integer> token = new DirectiveToken<Integer>("YAML", null, mark, mark);
67 assertEquals(ID.Directive, token.getTokenId());
68 }
69 }