You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@turbine.apache.org by Daniel Rall <dl...@finemaltcoding.com> on 2002/02/21 00:16:22 UTC

Re: cvs commit: jakarta-turbine-maven/src/test/org/apache/maven/jrcs/rcs ArchiveTest.java (1/2)

Please follow the coding standards:

http://jakarta.apache.org/turbine/common/code-standards.html

juanco@apache.org writes:

> juanco      02/02/20 14:09:55
>
>   Modified:    src/test/org/apache/maven/jrcs/diff DiffTest.java
>                src/test/org/apache/maven/jrcs/rcs ArchiveTest.java
>   Log:
>   removed extra carriage return at the end of each line
>   
>   Revision  Changes    Path
>   1.2       +197 -197  jakarta-turbine-maven/src/test/org/apache/maven/jrcs/diff/DiffTest.java
>   
>   Index: DiffTest.java
>   ===================================================================
>   RCS file: /home/cvs/jakarta-turbine-maven/src/test/org/apache/maven/jrcs/diff/DiffTest.java,v
>   retrieving revision 1.1
>   retrieving revision 1.2
>   diff -u -r1.1 -r1.2
>   --- DiffTest.java	20 Feb 2002 16:20:03 -0000	1.1
>   +++ DiffTest.java	20 Feb 2002 22:09:55 -0000	1.2
>   @@ -1,197 +1,197 @@
>   -package org.apache.maven.jrcs.diff;
>   -
>   -import junit.framework.*;
>   -
>   -public class DiffTest extends TestCase {
>   -
>   -  public DiffTest(String testName) {
>   -    super(testName);
>   -  }
>   -
>   -  public static Test suite() {
>   -    return new TestSuite(DiffTest.class);
>   -  }
>   -
>   -  Object[] empty = new Object[] {};
>   -  Object[] original = new String[] {
>   -               "[1] one",
>   -               "[2] two",
>   -               "[3] three",
>   -               "[4] four",
>   -               "[5] five",
>   -               "[6] six",
>   -               "[7] seven",
>   -               "[8] eight",
>   -               "[9] nine"
>   -             };
>   -  // lines 3 and 9 deleted
>   -  Object[] rev1     = new String[] {
>   -               "[1] one",
>   -               "[2] two",
>   -               "[4] four",
>   -               "[5] five",
>   -               "[6] six",
>   -               "[7] seven",
>   -               "[8] eight",
>   -             };
>   -
>   -  // lines 7 and 8 changed, 9 deleted
>   -  Object[] rev2     = new String[] {
>   -               "[1] one",
>   -               "[2] two",
>   -               "[3] three",
>   -               "[4] four",
>   -               "[5] five",
>   -               "[6] six",
>   -               "[7] seven revised",
>   -               "[8] eight revised",
>   -             };
>   -
>   -  public void testCompare() {
>   -    assertTrue(!Diff.compare(original, empty));
>   -    assertTrue(!Diff.compare(empty, original));
>   -    assertTrue(Diff.compare(empty, empty));
>   -    assertTrue(Diff.compare(original, original));
>   -  }
>   -
>   -  public void testDeleteAll()
>   -  throws DifferentiationFailedException, PatchFailedException
>   -  {
>   -    Revision revision = Diff.diff(original, empty);
>   -    assertEquals(revision.size(), 1);
>   -    assertEquals(revision.getDelta(0).getClass(), DeleteDelta.class);
>   -    assertTrue(Diff.compare(revision.patch(original), empty));
>   -  }
>   -
>   -  public void testTwoDeletes()
>   -  throws DifferentiationFailedException, PatchFailedException
>   -  {
>   -    Revision revision = Diff.diff(original, rev1);
>   -    assertEquals(revision.size(), 2);
>   -    assertEquals(revision.getDelta(0).getClass(), DeleteDelta.class);
>   -    assertEquals(revision.getDelta(1).getClass(), DeleteDelta.class);
>   -    assertTrue(Diff.compare(revision.patch(original), rev1));
>   -    assertEquals("3d2\n" +
>   -                 "< [3] three\n" +
>   -                 "9d7\n" +
>   -                 "< [9] nine\n"
>   -                 , revision.toString());
>   -  }
>   -
>   -
>   -  public void testChangeAtTheEnd()
>   -  throws DifferentiationFailedException, PatchFailedException
>   -  {
>   -    Revision revision = Diff.diff(original, rev2);
>   -    assertEquals(1, revision.size());
>   -    assertEquals(ChangeDelta.class, revision.getDelta(0).getClass());
>   -    assertTrue(Diff.compare(revision.patch(original), rev2));
>   -    assertEquals("d7 3\n" +
>   -                 "a7 2\n" +
>   -                 "[7] seven revised\n" +
>   -                 "[8] eight revised\n",
>   -                 revision.toRCSString());
>   -  }
>   -
>   -  public void testPatchFailed()
>   -  throws DifferentiationFailedException
>   -  {
>   -    try {
>   -        Revision revision = Diff.diff(original, rev2);
>   -        assertTrue(!Diff.compare(revision.patch(rev1), rev2));
>   -        fail("PatchFailedException not thrown");
>   -    }
>   -    catch(PatchFailedException e) {
>   -    }
>   -  }
>   -
>   -  public void testPreviouslyFailedShuffle()
>   -  throws DifferentiationFailedException, PatchFailedException
>   -  {
>   -      Object[] orig = new String[] {
>   -                   "[1] one",
>   -                   "[2] two",
>   -                   "[3] three",
>   -                   "[4] four",
>   -                   "[5] five",
>   -                   "[6] six"
>   -                   };
>   -
>   -      Object[] rev = new String[] {
>   -                   "[3] three",
>   -                   "[1] one",
>   -                   "[5] five",
>   -                   "[2] two",
>   -                   "[6] six",
>   -                   "[4] four"
>   -                   };
>   -      Revision revision = Diff.diff(orig, rev);
>   -      Object[] patched = revision.patch(orig);
>   -      assertTrue(Diff.compare(patched, rev));
>   -  }
>   -
>   -  public void testEdit5()
>   -  throws DifferentiationFailedException, PatchFailedException
>   -  {
>   -      Object[] orig = new String[] {
>   -                   "[1] one",
>   -                   "[2] two",
>   -                   "[3] three",
>   -                   "[4] four",
>   -                   "[5] five",
>   -                   "[6] six"
>   -                   };
>   -
>   -      Object[] rev = new String[] {
>   -                   "one revised",
>   -                   "two revised",
>   -                   "[2] two",
>   -                   "[3] three",
>   -                   "five revised",
>   -                   "six revised",
>   -                   "[5] five"
>   -                   };
>   -      Revision revision = Diff.diff(orig, rev);
>   -      Object[] patched = revision.patch(orig);
>   -      assertTrue(Diff.compare(patched, rev));
>   -  }
>   -
>   -  public void testShuffle()
>   -  throws DifferentiationFailedException, PatchFailedException
>   -  {
>   -      Object[] orig = new String[] {
>   -                   "[1] one",
>   -                   "[2] two",
>   -                   "[3] three",
>   -                   "[4] four",
>   -                   "[5] five",
>   -                   "[6] six"
>   -                   };
>   -
>   -      for(int seed = 0; seed < 10; seed++) {
>   -        Object[] shuffle = Diff.shuffle(orig, seed);
>   -        Revision revision = Diff.diff(orig, shuffle);
>   -        Object[] patched = revision.patch(orig);
>   -        if (!Diff.compare(patched, shuffle)) {
>   -              fail("iter "+ seed + " revisions differ after patch");
>   -        }
>   -      }
>   -  }
>   -
>   -  public void testRandomEdit()
>   -  throws DifferentiationFailedException, PatchFailedException
>   -  {
>   -    Object[] orig = original;
>   -    for (int seed = 0; seed < 10; seed++) {
>   -        Object[] random = Diff.randomEdit(orig, seed);
>   -        Revision revision = Diff.diff(orig, random);
>   -        Object[] patched = revision.patch(orig);
>   -        if (!Diff.compare(patched, random)) {
>   -            fail("iter " + seed + " revisions differ after patch");
>   -        }
>   -        orig = random;
>   -    }
>   -  }
>   -
>   -
>   -}
>   +package org.apache.maven.jrcs.diff;
>   +
>   +import junit.framework.*;
>   +
>   +public class DiffTest extends TestCase {
>   +
>   +  public DiffTest(String testName) {
>   +    super(testName);
>   +  }
>   +
>   +  public static Test suite() {
>   +    return new TestSuite(DiffTest.class);
>   +  }
>   +
>   +  Object[] empty = new Object[] {};
>   +  Object[] original = new String[] {
>   +               "[1] one",
>   +               "[2] two",
>   +               "[3] three",
>   +               "[4] four",
>   +               "[5] five",
>   +               "[6] six",
>   +               "[7] seven",
>   +               "[8] eight",
>   +               "[9] nine"
>   +             };
>   +  // lines 3 and 9 deleted
>   +  Object[] rev1     = new String[] {
>   +               "[1] one",
>   +               "[2] two",
>   +               "[4] four",
>   +               "[5] five",
>   +               "[6] six",
>   +               "[7] seven",
>   +               "[8] eight",
>   +             };
>   +
>   +  // lines 7 and 8 changed, 9 deleted
>   +  Object[] rev2     = new String[] {
>   +               "[1] one",
>   +               "[2] two",
>   +               "[3] three",
>   +               "[4] four",
>   +               "[5] five",
>   +               "[6] six",
>   +               "[7] seven revised",
>   +               "[8] eight revised",
>   +             };
>   +
>   +  public void testCompare() {
>   +    assertTrue(!Diff.compare(original, empty));
>   +    assertTrue(!Diff.compare(empty, original));
>   +    assertTrue(Diff.compare(empty, empty));
>   +    assertTrue(Diff.compare(original, original));
>   +  }
>   +
>   +  public void testDeleteAll()
>   +  throws DifferentiationFailedException, PatchFailedException
>   +  {
>   +    Revision revision = Diff.diff(original, empty);
>   +    assertEquals(revision.size(), 1);
>   +    assertEquals(revision.getDelta(0).getClass(), DeleteDelta.class);
>   +    assertTrue(Diff.compare(revision.patch(original), empty));
>   +  }
>   +
>   +  public void testTwoDeletes()
>   +  throws DifferentiationFailedException, PatchFailedException
>   +  {
>   +    Revision revision = Diff.diff(original, rev1);
>   +    assertEquals(revision.size(), 2);
>   +    assertEquals(revision.getDelta(0).getClass(), DeleteDelta.class);
>   +    assertEquals(revision.getDelta(1).getClass(), DeleteDelta.class);
>   +    assertTrue(Diff.compare(revision.patch(original), rev1));
>   +    assertEquals("3d2\n" +
>   +                 "< [3] three\n" +
>   +                 "9d7\n" +
>   +                 "< [9] nine\n"
>   +                 , revision.toString());
>   +  }
>   +
>   +
>   +  public void testChangeAtTheEnd()
>   +  throws DifferentiationFailedException, PatchFailedException
>   +  {
>   +    Revision revision = Diff.diff(original, rev2);
>   +    assertEquals(1, revision.size());
>   +    assertEquals(ChangeDelta.class, revision.getDelta(0).getClass());
>   +    assertTrue(Diff.compare(revision.patch(original), rev2));
>   +    assertEquals("d7 3\n" +
>   +                 "a7 2\n" +
>   +                 "[7] seven revised\n" +
>   +                 "[8] eight revised\n",
>   +                 revision.toRCSString());
>   +  }
>   +
>   +  public void testPatchFailed()
>   +  throws DifferentiationFailedException
>   +  {
>   +    try {
>   +        Revision revision = Diff.diff(original, rev2);
>   +        assertTrue(!Diff.compare(revision.patch(rev1), rev2));
>   +        fail("PatchFailedException not thrown");
>   +    }
>   +    catch(PatchFailedException e) {
>   +    }
>   +  }
>   +
>   +  public void testPreviouslyFailedShuffle()
>   +  throws DifferentiationFailedException, PatchFailedException
>   +  {
>   +      Object[] orig = new String[] {
>   +                   "[1] one",
>   +                   "[2] two",
>   +                   "[3] three",
>   +                   "[4] four",
>   +                   "[5] five",
>   +                   "[6] six"
>   +                   };
>   +
>   +      Object[] rev = new String[] {
>   +                   "[3] three",
>   +                   "[1] one",
>   +                   "[5] five",
>   +                   "[2] two",
>   +                   "[6] six",
>   +                   "[4] four"
>   +                   };
>   +      Revision revision = Diff.diff(orig, rev);
>   +      Object[] patched = revision.patch(orig);
>   +      assertTrue(Diff.compare(patched, rev));
>   +  }
>   +
>   +  public void testEdit5()
>   +  throws DifferentiationFailedException, PatchFailedException
>   +  {
>   +      Object[] orig = new String[] {
>   +                   "[1] one",
>   +                   "[2] two",
>   +                   "[3] three",
>   +                   "[4] four",
>   +                   "[5] five",
>   +                   "[6] six"
>   +                   };
>   +
>   +      Object[] rev = new String[] {
>   +                   "one revised",
>   +                   "two revised",
>   +                   "[2] two",
>   +                   "[3] three",
>   +                   "five revised",
>   +                   "six revised",
>   +                   "[5] five"
>   +                   };
>   +      Revision revision = Diff.diff(orig, rev);
>   +      Object[] patched = revision.patch(orig);
>   +      assertTrue(Diff.compare(patched, rev));
>   +  }
>   +
>   +  public void testShuffle()
>   +  throws DifferentiationFailedException, PatchFailedException
>   +  {
>   +      Object[] orig = new String[] {
>   +                   "[1] one",
>   +                   "[2] two",
>   +                   "[3] three",
>   +                   "[4] four",
>   +                   "[5] five",
>   +                   "[6] six"
>   +                   };
>   +
>   +      for(int seed = 0; seed < 10; seed++) {
>   +        Object[] shuffle = Diff.shuffle(orig, seed);
>   +        Revision revision = Diff.diff(orig, shuffle);
>   +        Object[] patched = revision.patch(orig);
>   +        if (!Diff.compare(patched, shuffle)) {
>   +              fail("iter "+ seed + " revisions differ after patch");
>   +        }
>   +      }
>   +  }
>   +
>   +  public void testRandomEdit()
>   +  throws DifferentiationFailedException, PatchFailedException
>   +  {
>   +    Object[] orig = original;
>   +    for (int seed = 0; seed < 10; seed++) {
>   +        Object[] random = Diff.randomEdit(orig, seed);
>   +        Revision revision = Diff.diff(orig, random);
>   +        Object[] patched = revision.patch(orig);
>   +        if (!Diff.compare(patched, random)) {
>   +            fail("iter " + seed + " revisions differ after patch");
>   +        }
>   +        orig = random;
>   +    }
>   +  }
>   +
>   +
>   +}
>   
>   
>   
>   1.3       +341 -341  jakarta-turbine-maven/src/test/org/apache/maven/jrcs/rcs/ArchiveTest.java
>   
>   Index: ArchiveTest.java
>   ===================================================================
>   RCS file: /home/cvs/jakarta-turbine-maven/src/test/org/apache/maven/jrcs/rcs/ArchiveTest.java,v
>   retrieving revision 1.2
>   retrieving revision 1.3
>   diff -u -r1.2 -r1.3
>   --- ArchiveTest.java	20 Feb 2002 20:08:37 -0000	1.2
>   +++ ArchiveTest.java	20 Feb 2002 22:09:55 -0000	1.3
>   @@ -1,341 +1,341 @@
>   -package org.apache.maven.jrcs.rcs;
>   -
>   -import org.apache.maven.jrcs.diff.Diff;
>   -import junit.framework.*;
>   -
>   -public class ArchiveTest extends TestCase {
>   -
>   -
>   -  public ArchiveTest(String testName) {
>   -    super(testName);
>   -  }
>   -
>   -  public static Test suite() {
>   -    return new TestSuite(ArchiveTest.class);
>   -  }
>   -
>   -  Object[] v1_1 = new String[] {
>   -               "[1] one",
>   -               "[2] two",
>   -               "[3] three",
>   -               "[4] four",
>   -               "[5] five",
>   -               "[6] six",
>   -             };
>   -  Object[] v1_2 = new String[] {
>   -               "[1] one",
>   -               "[2] two",
>   -               "[3] three",
>   -               "[3.1]", // inserted this
>   -               "[4] four",
>   -               "[5] five"
>   -               // deleted [6]
>   -             };
>   -  Object[] v1_3 = new String[] {
>   -               "[1] one changed",
>   -               "[2] two",
>   -               "[3] three",
>   -               "[3.1]",
>   -               "[4] four",
>   -               "[5] five"
>   -             };
>   -
>   -  Object[] v1_20 = new String[] {
>   -               "[1:1.20] one changed",
>   -               "[3] three",
>   -               "[3.1]",
>   -               "[5:1.20] five"
>   -             };
>   -
>   -  Object[] v1_2_1_1 = new String[] {
>   -               "[1] one",
>   -               "[2] two",
>   -               "[2.1]",
>   -               "[3] three",
>   -               "[3.1]",
>   -               "[4] four changed",
>   -               "[5] five",
>   -               "[5.1]"
>   -             };
>   -
>   -  Object[] v1_2_1_2 = new String[] {
>   -               "[1:1.2.1.1] one",
>   -               "[2.1]",
>   -               "[3] three",
>   -               "[3.1]",
>   -               "[4] four changed",
>   -               "[5:1.2.1.1] five",
>   -               "[5.1]"
>   -             };
>   -
>   -  Object[] v1_2_8_2 = new String[] {
>   -               "[1:1.2.8.1] one",
>   -               "[2.1]",
>   -               "[3] three",
>   -               "[3.1]",
>   -               "[4] four changed",
>   -               "[5:1.2.8.1] five",
>   -               "[5.1]"
>   -             };
>   -
>   -  Object[] v1_2_8_4 = new String[] {
>   -               "[1:1.2.8.1] one",
>   -               "[2.1]",
>   -               "[3.1:1.2.8.2]",
>   -               "[4] four changed",
>   -               "[5:1.2.8.1] five",
>   -               "[5.1]"
>   -             };
>   -
>   -  Object[] v1_2_8_5 = new String[] {
>   -               "[1:1.2.8.5] one"
>   -             };
>   -
>   -  Archive archive;
>   -
>   -  public void setUp() {
>   -    archive = new Archive(v1_1, "A simple test file\n");
>   -  }
>   -
>   -
>   -  public void testEmptyArchive() {
>   -    try {
>   -       Object[] rev = new Archive().getRevision();
>   -       if (rev != null)
>   -          fail("empty archive, exception should be thrown");
>   -    }
>   -    catch(Exception e)
>   -    {}
>   -  }
>   -
>   -  public void testAdd1_1()
>   -  throws org.apache.maven.jrcs.diff.DiffException,
>   -         org.apache.maven.jrcs.rcs.RCSException
>   -  {
>   -    Object[] rev = archive.getRevision();
>   -    assertTrue(Diff.compare(v1_1, rev));
>   -    assertNull(archive.addRevision(v1_1, "should not be added"));
>   -
>   -    assertEquals(new Version("1.1"), archive.getRevisionVersion());
>   -    assertEquals(new Version("1.1"), archive.getRevisionVersion("1."));
>   -
>   -    assertNull(archive.getRevisionVersion("2"));
>   -    assertNull(archive.getRevisionVersion("1.2.1"));
>   -  }
>   -
>   -  public void testAdd1_2()
>   -  throws org.apache.maven.jrcs.diff.DiffException,
>   -         org.apache.maven.jrcs.rcs.RCSException
>   -  {
>   -    testAdd1_1();
>   -    archive.addRevision(v1_2, "Added 3.1, deleted 6\n");
>   -    Object[] rev = archive.getRevision();
>   -    assertEquals("1.2", archive._head.version.toString());
>   -    assertEquals(Diff.arrayToString(v1_2), Diff.arrayToString(rev));
>   -    assertNull(archive.addRevision(v1_2, "should not be added"));
>   -
>   -    assertEquals(new Version("1.2"), archive.getRevisionVersion());
>   -    assertEquals(new Version("1.2"), archive.getRevisionVersion("1."));
>   -
>   -    assertNull(archive.getRevisionVersion("2"));
>   -    assertNull(archive.getRevisionVersion("1.2.1"));
>   -  }
>   -
>   -  public void testAdd1_3()
>   -  throws org.apache.maven.jrcs.diff.DiffException,
>   -         org.apache.maven.jrcs.rcs.RCSException
>   -  {
>   -    testAdd1_2();
>   -    archive.addRevision(v1_3, "Changed 1\n");
>   -    Object[] rev = archive.getRevision();
>   -    assertTrue(Diff.compare(v1_3, rev));
>   -    assertNull(archive.addRevision(v1_3, "should not be added"));
>   -
>   -    assertEquals(new Version("1.3"), archive.getRevisionVersion());
>   -    assertEquals(new Version("1.3"), archive.getRevisionVersion("1"));
>   -
>   -    assertNull(archive.getRevisionVersion("2"));
>   -    assertNull(archive.getRevisionVersion("1.2.1"));
>   -  }
>   -
>   -  public void testAdd1_2_1()
>   -  throws org.apache.maven.jrcs.diff.DiffException,
>   -         org.apache.maven.jrcs.rcs.RCSException
>   -  {
>   -    testAdd1_3();
>   -    archive.addRevision(v1_2_1_1, "1.2.1", "Added 2.1, changed 4, added 5.1\n");
>   -    String   filestr = archive.toString();
>   -    Object[] file    = Diff.stringToArray(filestr);
>   -    String diff = Diff.diff(file, sampleFile).toRCSString();
>   -    String delta = Diff.arrayToString(deltaOverDates)+"\n";
>   -    assertEquals("delta over dates", delta , diff);
>   -    Object[] rev = archive.getRevision("1.2.1");
>   -    assertTrue("diffs equal", Diff.compare(v1_2_1_1, rev));
>   -    assertNull("should not be added", archive.addRevision(v1_2_1_1, "1.2.1", "should not be added"));
>   -
>   -    assertEquals("dot",  new Version("1.2.1.1"), archive.getRevisionVersion("1.2."));
>   -    assertEquals("zero", new Version("1.2.1.1"), archive.getRevisionVersion("1.2.0"));
>   -
>   -    assertEquals(new Version("1.2.1.1"), archive.getRevisionVersion("1.2.1"));
>   -    assertEquals(new Version("1.2.1.1"), archive.getRevisionVersion("1.2.1"));
>   -
>   -    assertNull(archive.getRevisionVersion("2"));
>   -    assertNull(archive.getRevisionVersion("1.3.1"));
>   -
>   -    assertNull(archive.getRevisionVersion("1.2.1.2"));
>   -    assertNull(archive.getRevisionVersion("1.2.2"));
>   -  }
>   -
>   -  public void testBranch()
>   -  throws org.apache.maven.jrcs.diff.DiffException,
>   -         org.apache.maven.jrcs.rcs.RCSException
>   -  {
>   -    testAdd1_3();
>   -    archive.setBranch("1.2.0");
>   -    archive.addRevision(v1_2_1_1, "Added 2.1, changed 4\n");
>   -    String file = archive.toString();
>   -    Object[] rev = archive.getRevision("1.2.1.1");
>   -    assertTrue(Diff.compare(v1_2_1_1, rev));
>   -    Version v;
>   -    v = archive.addRevision(v1_2_1_2, "1.2.0", "Arbitrary revision number");
>   -    assertEquals("1.2.1.2", v.toString());
>   -
>   -    v = archive.addRevision(v1_2_8_2, "1.2.8.2", "Arbitrary revision number");
>   -    assertEquals("1.2.8.2", v.toString());
>   -
>   -    try {
>   -      v = archive.addRevision(v1_2_8_4, "1.2.8.1", "Added to arbitrary branch");
>   -      fail("could add revision 1.2.8.1 after having added 1.2.8.2");
>   -    } catch(InvalidVersionNumberException e)
>   -    {}
>   -
>   -    v = archive.addRevision(v1_2_8_4, "1.2.8.4", "Added to arbitrary branch");
>   -    assertEquals("1.2.8.4", v.toString());
>   -
>   -    v = archive.addRevision(v1_2_8_5, "1.2.0", "Added to arbitrary branch");
>   -    assertEquals("1.2.8.5", v.toString());
>   -
>   -    assertEquals(new Version("1.2.8.5"), archive.getRevisionVersion());
>   -    assertEquals(".8", new Version("1.2.8.5"), archive.getRevisionVersion("1.2.8"));
>   -    assertEquals(new Version("1.2.8.5"), archive.getRevisionVersion("1.2."));
>   -    assertEquals(new Version("1.2.8.5"), archive.getRevisionVersion("1.2.0"));
>   -
>   -    assertNull(archive.getRevisionVersion("1.2.8.6"));
>   -    assertNull(archive.getRevisionVersion("1.2.3"));
>   -    assertNull(archive.getRevisionVersion("1.2.9"));
>   -  }
>   -
>   -  public void testInvalidBranch()
>   -  throws org.apache.maven.jrcs.diff.DiffException,
>   -         org.apache.maven.jrcs.rcs.RCSException
>   -  {
>   -    testAdd1_1();
>   -    try {
>   -       archive.setBranch("1.3.1");
>   -       fail("succeeded with invalid branch");
>   -    }
>   -    catch(InvalidVersionNumberException e)
>   -    {}
>   -  }
>   -
>   -   String[] sampleFile = {
>   -    "head\t1.3;",
>   -    "access;",
>   -    "symbols;",
>   -    "locks; strict;",
>   -    "comment\t@# @;",
>   -    "",
>   -    "",
>   -    "1.3",
>   -    "date\t99.08.24.16.58.59;\tauthor juanca;\tstate Exp;",
>   -    "branches;",
>   -    "next\t1.2;",
>   -    "",
>   -    "1.2",
>   -    "date\t99.08.24.16.57.54;\tauthor juanca;\tstate Exp;",
>   -    "branches",
>   -    "\t1.2.1.1;",
>   -    "next\t1.1;",
>   -    "",
>   -    "1.1",
>   -    "date\t99.08.24.16.56.51;\tauthor juanca;\tstate Exp;",
>   -    "branches;",
>   -    "next\t;",
>   -    "",
>   -    "1.2.1.1",
>   -    "date\t99.08.24.17.00.30;\tauthor juanca;\tstate Exp;",
>   -    "branches;",
>   -    "next\t;",
>   -    "",
>   -    "",
>   -    "desc",
>   -    "@A simple test file",
>   -    "@",
>   -    "",
>   -    "",
>   -    "1.3",
>   -    "log",
>   -    "@Changed 1",
>   -    "@",
>   -    "text",
>   -    "@[1] one changed",
>   -    "[2] two",
>   -    "[3] three",
>   -    "[3.1]",
>   -    "[4] four",
>   -    "[5] five",
>   -    "@",
>   -    "",
>   -    "",
>   -    "1.2",
>   -    "log",
>   -    "@Added 3.1, deleted 6",
>   -    "@",
>   -    "text",
>   -    "@d1 1",
>   -    "a1 1",
>   -    "[1] one",
>   -    "@",
>   -    "",
>   -    "",
>   -    "1.2.1.1",
>   -    "log",
>   -    "@Added 2.1, changed 4, added 5.1",
>   -    "@",
>   -    "text",
>   -    "@a2 1",
>   -    "[2.1]",
>   -    "d5 1",
>   -    "a5 1",
>   -    "[4] four changed",
>   -    "a6 1",
>   -    "[5.1]",
>   -    "@",
>   -    "",
>   -    "",
>   -    "1.1",
>   -    "log",
>   -    "@Initial revision",
>   -    "@",
>   -    "text",
>   -    "@d4 1",
>   -    "a6 1",
>   -    "[6] six",
>   -    "@"
>   -    };
>   -
>   -  String[] deltaOverDates = {
>   -    "d9 1",
>   -    "a9 1",
>   -    "date\t99.08.24.16.58.59;\tauthor juanca;\tstate Exp;",
>   -    "d14 1",
>   -    "a14 1",
>   -    "date\t99.08.24.16.57.54;\tauthor juanca;\tstate Exp;",
>   -    "d20 1",
>   -    "a20 1",
>   -    "date\t99.08.24.16.56.51;\tauthor juanca;\tstate Exp;",
>   -    "d25 1",
>   -    "a25 1",
>   -    "date\t99.08.24.17.00.30;\tauthor juanca;\tstate Exp;"
>   -    };
>   -}
>   +package org.apache.maven.jrcs.rcs;
>   +
>   +import org.apache.maven.jrcs.diff.Diff;
>   +import junit.framework.*;
>   +
>   +public class ArchiveTest extends TestCase {
>   +
>   +
>   +  public ArchiveTest(String testName) {
>   +    super(testName);
>   +  }
>   +
>   +  public static Test suite() {
>   +    return new TestSuite(ArchiveTest.class);
>   +  }
>   +
>   +  Object[] v1_1 = new String[] {
>   +               "[1] one",
>   +               "[2] two",
>   +               "[3] three",
>   +               "[4] four",
>   +               "[5] five",
>   +               "[6] six",
>   +             };
>   +  Object[] v1_2 = new String[] {
>   +               "[1] one",
>   +               "[2] two",
>   +               "[3] three",
>   +               "[3.1]", // inserted this
>   +               "[4] four",
>   +               "[5] five"
>   +               // deleted [6]
>   +             };
>   +  Object[] v1_3 = new String[] {
>   +               "[1] one changed",
>   +               "[2] two",
>   +               "[3] three",
>   +               "[3.1]",
>   +               "[4] four",
>   +               "[5] five"
>   +             };
>   +
>   +  Object[] v1_20 = new String[] {
>   +               "[1:1.20] one changed",
>   +               "[3] three",
>   +               "[3.1]",
>   +               "[5:1.20] five"
>   +             };
>   +
>   +  Object[] v1_2_1_1 = new String[] {
>   +               "[1] one",
>   +               "[2] two",
>   +               "[2.1]",
>   +               "[3] three",
>   +               "[3.1]",
>   +               "[4] four changed",
>   +               "[5] five",
>   +               "[5.1]"
>   +             };
>   +
>   +  Object[] v1_2_1_2 = new String[] {
>   +               "[1:1.2.1.1] one",
>   +               "[2.1]",
>   +               "[3] three",
>   +               "[3.1]",
>   +               "[4] four changed",
>   +               "[5:1.2.1.1] five",
>   +               "[5.1]"
>   +             };
>   +
>   +  Object[] v1_2_8_2 = new String[] {
>   +               "[1:1.2.8.1] one",
>   +               "[2.1]",
>   +               "[3] three",
>   +               "[3.1]",
>   +               "[4] four changed",
>   +               "[5:1.2.8.1] five",
>   +               "[5.1]"
>   +             };
>   +
>   +  Object[] v1_2_8_4 = new String[] {
>   +               "[1:1.2.8.1] one",
>   +               "[2.1]",
>   +               "[3.1:1.2.8.2]",
>   +               "[4] four changed",
>   +               "[5:1.2.8.1] five",
>   +               "[5.1]"
>   +             };
>   +
>   +  Object[] v1_2_8_5 = new String[] {
>   +               "[1:1.2.8.5] one"
>   +             };
>   +
>   +  Archive archive;
>   +
>   +  public void setUp() {
>   +    archive = new Archive(v1_1, "A simple test file\n");
>   +  }
>   +
>   +
>   +  public void testEmptyArchive() {
>   +    try {
>   +       Object[] rev = new Archive().getRevision();
>   +       if (rev != null)
>   +          fail("empty archive, exception should be thrown");
>   +    }
>   +    catch(Exception e)
>   +    {}
>   +  }
>   +
>   +  public void testAdd1_1()
>   +  throws org.apache.maven.jrcs.diff.DiffException,
>   +         org.apache.maven.jrcs.rcs.RCSException
>   +  {
>   +    Object[] rev = archive.getRevision();
>   +    assertTrue(Diff.compare(v1_1, rev));
>   +    assertNull(archive.addRevision(v1_1, "should not be added"));
>   +
>   +    assertEquals(new Version("1.1"), archive.getRevisionVersion());
>   +    assertEquals(new Version("1.1"), archive.getRevisionVersion("1."));
>   +
>   +    assertNull(archive.getRevisionVersion("2"));
>   +    assertNull(archive.getRevisionVersion("1.2.1"));
>   +  }
>   +
>   +  public void testAdd1_2()
>   +  throws org.apache.maven.jrcs.diff.DiffException,
>   +         org.apache.maven.jrcs.rcs.RCSException
>   +  {
>   +    testAdd1_1();
>   +    archive.addRevision(v1_2, "Added 3.1, deleted 6\n");
>   +    Object[] rev = archive.getRevision();
>   +    assertEquals("1.2", archive._head.version.toString());
>   +    assertEquals(Diff.arrayToString(v1_2), Diff.arrayToString(rev));
>   +    assertNull(archive.addRevision(v1_2, "should not be added"));
>   +
>   +    assertEquals(new Version("1.2"), archive.getRevisionVersion());
>   +    assertEquals(new Version("1.2"), archive.getRevisionVersion("1."));
>   +
>   +    assertNull(archive.getRevisionVersion("2"));
>   +    assertNull(archive.getRevisionVersion("1.2.1"));
>   +  }
>   +
>   +  public void testAdd1_3()
>   +  throws org.apache.maven.jrcs.diff.DiffException,
>   +         org.apache.maven.jrcs.rcs.RCSException
>   +  {
>   +    testAdd1_2();
>   +    archive.addRevision(v1_3, "Changed 1\n");
>   +    Object[] rev = archive.getRevision();
>   +    assertTrue(Diff.compare(v1_3, rev));
>   +    assertNull(archive.addRevision(v1_3, "should not be added"));
>   +
>   +    assertEquals(new Version("1.3"), archive.getRevisionVersion());
>   +    assertEquals(new Version("1.3"), archive.getRevisionVersion("1"));
>   +
>   +    assertNull(archive.getRevisionVersion("2"));
>   +    assertNull(archive.getRevisionVersion("1.2.1"));
>   +  }
>   +
>   +  public void testAdd1_2_1()
>   +  throws org.apache.maven.jrcs.diff.DiffException,
>   +         org.apache.maven.jrcs.rcs.RCSException
>   +  {
>   +    testAdd1_3();
>   +    archive.addRevision(v1_2_1_1, "1.2.1", "Added 2.1, changed 4, added 5.1\n");
>   +    String   filestr = archive.toString();
>   +    Object[] file    = Diff.stringToArray(filestr);
>   +    String diff = Diff.diff(file, sampleFile).toRCSString();
>   +    String delta = Diff.arrayToString(deltaOverDates)+"\n";
>   +    assertEquals("delta over dates", delta , diff);
>   +    Object[] rev = archive.getRevision("1.2.1");
>   +    assertTrue("diffs equal", Diff.compare(v1_2_1_1, rev));
>   +    assertNull("should not be added", archive.addRevision(v1_2_1_1, "1.2.1", "should not be added"));
>   +
>   +    assertEquals("dot",  new Version("1.2.1.1"), archive.getRevisionVersion("1.2."));
>   +    assertEquals("zero", new Version("1.2.1.1"), archive.getRevisionVersion("1.2.0"));
>   +
>   +    assertEquals(new Version("1.2.1.1"), archive.getRevisionVersion("1.2.1"));
>   +    assertEquals(new Version("1.2.1.1"), archive.getRevisionVersion("1.2.1"));
>   +
>   +    assertNull(archive.getRevisionVersion("2"));
>   +    assertNull(archive.getRevisionVersion("1.3.1"));
>   +
>   +    assertNull(archive.getRevisionVersion("1.2.1.2"));
>   +    assertNull(archive.getRevisionVersion("1.2.2"));
>   +  }
>   +
>   +  public void testBranch()
>   +  throws org.apache.maven.jrcs.diff.DiffException,
>   +         org.apache.maven.jrcs.rcs.RCSException
>   +  {
>   +    testAdd1_3();
>   +    archive.setBranch("1.2.0");
>   +    archive.addRevision(v1_2_1_1, "Added 2.1, changed 4\n");
>   +    String file = archive.toString();
>   +    Object[] rev = archive.getRevision("1.2.1.1");
>   +    assertTrue(Diff.compare(v1_2_1_1, rev));
>   +    Version v;
>   +    v = archive.addRevision(v1_2_1_2, "1.2.0", "Arbitrary revision number");
>   +    assertEquals("1.2.1.2", v.toString());
>   +
>   +    v = archive.addRevision(v1_2_8_2, "1.2.8.2", "Arbitrary revision number");
>   +    assertEquals("1.2.8.2", v.toString());
>   +
>   +    try {
>   +      v = archive.addRevision(v1_2_8_4, "1.2.8.1", "Added to arbitrary branch");
>   +      fail("could add revision 1.2.8.1 after having added 1.2.8.2");
>   +    } catch(InvalidVersionNumberException e)
>   +    {}
>   +
>   +    v = archive.addRevision(v1_2_8_4, "1.2.8.4", "Added to arbitrary branch");
>   +    assertEquals("1.2.8.4", v.toString());
>   +
>   +    v = archive.addRevision(v1_2_8_5, "1.2.0", "Added to arbitrary branch");
>   +    assertEquals("1.2.8.5", v.toString());
>   +

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>