comparison test/org/tmatesoft/hg/test/TestRevisionSet.java @ 648:690e71d29bf6

Introduced RevisionSet to ease update of phase roots on push
author Artem Tikhomirov <tikhomirov.artem@gmail.com>
date Tue, 25 Jun 2013 20:48:37 +0200
parents
children 6e98d34eaca8
comparison
equal deleted inserted replaced
647:c75297c17867 648:690e71d29bf6
1 /*
2 * Copyright (c) 2013 TMate Software Ltd
3 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation; version 2 of the License.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * For information on how to redistribute this software under
14 * the terms of a license other than GNU General Public License
15 * contact TMate Software at support@hg4j.com
16 */
17 package org.tmatesoft.hg.test;
18
19 import java.util.Arrays;
20
21 import org.junit.Rule;
22 import org.junit.Test;
23 import org.tmatesoft.hg.core.Nodeid;
24 import org.tmatesoft.hg.internal.RevisionSet;
25
26 /**
27 *
28 * @author Artem Tikhomirov
29 * @author TMate Software Ltd.
30 */
31 public class TestRevisionSet {
32
33 @Rule
34 public ErrorCollectorExt errorCollector = new ErrorCollectorExt();
35
36 @Test
37 public void testRegularSetOperations() {
38 Nodeid n1 = Nodeid.fromAscii("c75297c1786734589175c673db40e8ecaa032b09");
39 Nodeid n2 = Nodeid.fromAscii("3b7d51ed4c65082f9235e3459e282d7ff723aa97");
40 Nodeid n3 = Nodeid.fromAscii("14dac192aa262feb8ff6645a102648498483a188");
41 Nodeid n4 = Nodeid.fromAscii("1deea2f332183c947937f6df988c2c6417efc217");
42 RevisionSet a = f(n1, n2, n3);
43 RevisionSet b = f(n3, n4);
44 RevisionSet union_ab = f(n1, n2, n3, n4);
45 RevisionSet intersect_ab = f(n3);
46 RevisionSet subtract_ab = f(n1, n2);
47 RevisionSet subtract_ba = f(n4);
48 RevisionSet symDiff_ab = f(n1, n2, n4);
49
50 errorCollector.assertEquals(union_ab, a.union(b));
51 errorCollector.assertEquals(union_ab, b.union(a));
52 errorCollector.assertEquals(intersect_ab, a.intersect(b));
53 errorCollector.assertEquals(intersect_ab, b.intersect(a));
54 errorCollector.assertEquals(subtract_ab, a.subtract(b));
55 errorCollector.assertEquals(subtract_ba, b.subtract(a));
56 errorCollector.assertEquals(symDiff_ab, a.symmetricDifference(b));
57 errorCollector.assertEquals(symDiff_ab, b.symmetricDifference(a));
58 }
59
60
61 private static RevisionSet f(Nodeid... nodes) {
62 return new RevisionSet(Arrays.asList(nodes));
63 }
64 }