1
2
3
4
5
6
7
8
9
10 package org.jenkinsci.plugins.darcs;
11
12 import junit.framework.TestCase;
13 import java.util.List;
14 import java.util.ArrayList;
15 import hudson.Util;
16
17
18
19
20
21 public class DarcsChangeSetListTest extends TestCase {
22
23 public DarcsChangeSetListTest(String name) {
24 super(name);
25 }
26
27 protected static DarcsChangeSet createChangeSet(String suffix) {
28 DarcsChangeSet cs = new DarcsChangeSet();
29 cs.setAuthor("author" + suffix);
30 cs.setDate("date" + suffix);
31 cs.setLocalDate("local_date" + suffix);
32 cs.setHash("hash" + suffix);
33 cs.setInverted(false);
34
35 return cs;
36 }
37
38 public void testIsEmpty() {
39 DarcsChangeSetList sut;
40
41 sut = new DarcsChangeSetList(null, new ArrayList<DarcsChangeSet>());
42 assertTrue(sut.isEmptySet());
43 assertEquals(0, sut.size());
44
45 List<DarcsChangeSet> list = new ArrayList<DarcsChangeSet>();
46 list.add(createChangeSet("1"));
47 list.add(createChangeSet("2"));
48 list.add(createChangeSet("3"));
49 sut = new DarcsChangeSetList(list);
50 assertFalse(sut.isEmptySet());
51 assertEquals(3, sut.size());
52 }
53
54 public void testDigest() {
55 DarcsChangeSetList sut;
56 sut = new DarcsChangeSetList(new ArrayList<DarcsChangeSet>());
57 assertEquals(Util.getDigestOf(""), sut.digest());
58
59 DarcsChangeSet cs1 = createChangeSet("1");
60 DarcsChangeSet cs2 = createChangeSet("2");
61 DarcsChangeSet cs3 = createChangeSet("3");
62
63 List<DarcsChangeSet> list = new ArrayList<DarcsChangeSet>();
64 list.add(cs1);
65 list.add(cs2);
66 list.add(cs3);
67 sut = new DarcsChangeSetList(list);
68 assertEquals(Util.getDigestOf(cs1.getHash() + cs2.getHash() + cs3.getHash()),
69 sut.digest());
70 }
71
72 public void testGetKind() {
73 DarcsChangeSetList sut = new DarcsChangeSetList(new ArrayList<DarcsChangeSet>());
74 assertEquals("darcs", sut.getKind());
75 }
76
77 public void testEquals() {
78 DarcsChangeSet cs1 = createChangeSet("1");
79 DarcsChangeSet cs2 = createChangeSet("2");
80 DarcsChangeSet cs3 = createChangeSet("3");
81 List<DarcsChangeSet> list1 = new ArrayList<DarcsChangeSet>(),
82 list2 = new ArrayList<DarcsChangeSet>(),
83 list3 = new ArrayList<DarcsChangeSet>();
84 list1.add(cs1);
85 list1.add(cs2);
86 DarcsChangeSetList sut1 = new DarcsChangeSetList(list1);
87 list2.add(cs1);
88 list2.add(cs2);
89 DarcsChangeSetList sut2 = new DarcsChangeSetList(list2);
90 list3.add(cs1);
91 list3.add(cs2);
92 list3.add(cs3);
93 DarcsChangeSetList sut3 = new DarcsChangeSetList(list3);
94
95
96 assertTrue(sut1.equals(sut1));
97 assertTrue(sut2.equals(sut2));
98 assertTrue(list3.equals(list3));
99
100 assertTrue(sut1.equals(sut2));
101 assertTrue(sut2.equals(sut1));
102
103 assertFalse(sut1.equals(sut3));
104 assertFalse(sut2.equals(sut3));
105
106 assertFalse(sut1.equals(cs3));
107 }
108 }