Mercurial > hg4j
diff test/org/tmatesoft/hg/test/TestAuxUtilities.java @ 574:88afffd39899
Improve memory consumption of HgManifest#getFileRevision(): avoid extra byte[] instances
author | Artem Tikhomirov <tikhomirov.artem@gmail.com> |
---|---|
date | Tue, 16 Apr 2013 14:44:57 +0200 |
parents | 154718ae23ed |
children | e4a71afd3c71 |
line wrap: on
line diff
--- a/test/org/tmatesoft/hg/test/TestAuxUtilities.java Fri Apr 12 19:50:21 2013 +0200 +++ b/test/org/tmatesoft/hg/test/TestAuxUtilities.java Tue Apr 16 14:44:57 2013 +0200 @@ -31,6 +31,7 @@ import org.tmatesoft.hg.core.HgCatCommand; import org.tmatesoft.hg.core.Nodeid; import org.tmatesoft.hg.internal.ArrayHelper; +import org.tmatesoft.hg.internal.ByteVector; import org.tmatesoft.hg.internal.IntVector; import org.tmatesoft.hg.internal.PathScope; import org.tmatesoft.hg.internal.RangeSeq; @@ -543,8 +544,41 @@ errorCollector.assertFalse(rs.includesTargetLine(12)); } + @Test + public void testByteVector() { + ByteVector v = new ByteVector(4, 2); + v.add(7); + v.add(9); + errorCollector.assertEquals(2, v.size()); + v.clear(); + errorCollector.assertEquals(0, v.size()); + v.add(10); + v.add(9); + v.add(8); + v.add(7); + v.add(6); + errorCollector.assertEquals(5, v.size()); + v.add(5); + v.add(4); + errorCollector.assertEquals(7, v.size()); + byte x = 10; + for (byte d : v.toByteArray()) { + errorCollector.assertEquals(x, d); + x--; + } + x = 10; + byte[] dd = new byte[10]; + v.copyTo(dd); + for (int i = 0; i < v.size(); i++) { + errorCollector.assertEquals(x, dd[i]); + x--; + } + errorCollector.assertTrue(v.equalsTo(new byte[] { 10,9,8,7,6,5,4 })); + } - public static void main(String[] args) throws Exception { - new TestAuxUtilities().testRepositoryConfig(); + public static void main(String[] args) throws Throwable { + TestAuxUtilities t = new TestAuxUtilities(); + t.testByteVector(); + t.errorCollector.verify(); } }