diff test/org/tmatesoft/hg/test/TestAuxUtilities.java @ 674:cce0387c6041

Introduced dedicated IntSliceSeq/IntTuple in place of IntArray with subsequences
author Artem Tikhomirov <tikhomirov.artem@gmail.com>
date Wed, 17 Jul 2013 15:40:51 +0200
parents 6334b0267103
children 7839ff0bfd78
line wrap: on
line diff
--- a/test/org/tmatesoft/hg/test/TestAuxUtilities.java	Fri Jul 12 20:14:24 2013 +0200
+++ b/test/org/tmatesoft/hg/test/TestAuxUtilities.java	Wed Jul 17 15:40:51 2013 +0200
@@ -32,9 +32,11 @@
 import org.tmatesoft.hg.core.Nodeid;
 import org.tmatesoft.hg.internal.ArrayHelper;
 import org.tmatesoft.hg.internal.ByteVector;
+import org.tmatesoft.hg.internal.IntSliceSeq;
+import org.tmatesoft.hg.internal.IntTuple;
 import org.tmatesoft.hg.internal.IntVector;
 import org.tmatesoft.hg.internal.PathScope;
-import org.tmatesoft.hg.internal.RangeSeq;
+import org.tmatesoft.hg.internal.RangePairSeq;
 import org.tmatesoft.hg.internal.RevisionDescendants;
 import org.tmatesoft.hg.repo.HgChangelog;
 import org.tmatesoft.hg.repo.HgChangelog.RawChangeset;
@@ -511,8 +513,8 @@
 	}
 	
 	@Test
-	public void testRangeSequence() {
-		RangeSeq rs = new RangeSeq();
+	public void testRangePairSequence() {
+		RangePairSeq rs = new RangePairSeq();
 		rs.add(-1, 5, 3);
 		rs.add(-1, 10, 2);
 		rs.add(-1, 15, 3);
@@ -556,6 +558,38 @@
 		errorCollector.assertTrue(v.equalsTo(new byte[] { 10,9,8,7,6,5,4 }));
 	}
 	
+	@Test
+	public void testIntSliceSeq() {
+		IntSliceSeq s1 = new IntSliceSeq(3, 10, 10);
+		s1.add(1,2,3);
+		try {
+			s1.add(1,2);
+			errorCollector.fail("shall accept precise number of arguments");
+		} catch (IllegalArgumentException ex) {
+		}
+		try {
+			s1.add(1,2,3,4);
+			errorCollector.fail("shall accept precise number of arguments");
+		} catch (IllegalArgumentException ex) {
+		}
+		s1.add(21,22,23);
+		errorCollector.assertEquals(2, s1.size());
+		s1.add(7, 8, 9);
+		s1.set(1, 4, 5, 6);
+		IntTuple l = s1.last();
+		errorCollector.assertEquals(7, l.at(0));
+		errorCollector.assertEquals(8, l.at(1));
+		errorCollector.assertEquals(9, l.at(2));
+		int v = 1, slice = 0;
+		for (IntTuple t : s1) {
+			for (int i = 0; i < t.size(); i++) {
+				errorCollector.assertEquals(String.format("Slice %d, element %d", slice, i), v++, t.at(i));
+			}
+			slice++;
+		}
+		errorCollector.assertEquals(10, v);
+	}
+	
 	public static void main(String[] args) throws Throwable {
 		TestAuxUtilities t = new TestAuxUtilities();
 		t.testByteVector();