public virtual void TestAddToFrontOfList() { RefList <Ref> one = ToList(REF_A); RefList <Ref> two = one.Add(0, REF_B); NUnit.Framework.Assert.AreNotSame(one, two); // one is not modified, but two is NUnit.Framework.Assert.AreEqual(1, one.Size()); NUnit.Framework.Assert.AreSame(REF_A, one.Get(0)); NUnit.Framework.Assert.AreEqual(2, two.Size()); NUnit.Framework.Assert.AreSame(REF_B, two.Get(0)); NUnit.Framework.Assert.AreSame(REF_A, two.Get(1)); }
public virtual void TestCopyLeadingPrefix() { RefList <Ref> one = ToList(REF_A, REF_B, REF_c); RefList <Ref> two = one.Copy(2).ToRefList(); NUnit.Framework.Assert.AreNotSame(one, two); NUnit.Framework.Assert.AreEqual(3, one.Size()); NUnit.Framework.Assert.AreSame(REF_A, one.Get(0)); NUnit.Framework.Assert.AreSame(REF_B, one.Get(1)); NUnit.Framework.Assert.AreSame(REF_c, one.Get(2)); NUnit.Framework.Assert.AreEqual(2, two.Size()); NUnit.Framework.Assert.AreSame(REF_A, two.Get(0)); NUnit.Framework.Assert.AreSame(REF_B, two.Get(1)); }
public virtual void TestRemoveEndOfList() { RefList <Ref> one = ToList(REF_A, REF_B, REF_c); RefList <Ref> two = one.Remove(2); NUnit.Framework.Assert.AreNotSame(one, two); NUnit.Framework.Assert.AreEqual(3, one.Size()); NUnit.Framework.Assert.AreSame(REF_A, one.Get(0)); NUnit.Framework.Assert.AreSame(REF_B, one.Get(1)); NUnit.Framework.Assert.AreSame(REF_c, one.Get(2)); NUnit.Framework.Assert.AreEqual(2, two.Size()); NUnit.Framework.Assert.AreSame(REF_A, two.Get(0)); NUnit.Framework.Assert.AreSame(REF_B, two.Get(1)); }
public virtual void TestNotEmpty_WithPrefix() { Ref master = NewRef("refs/heads/master", ID_ONE); packed = ToList(master); RefMap map = new RefMap("refs/heads/", packed, loose, resolved); NUnit.Framework.Assert.IsFalse(map.IsEmpty()); // before size was computed NUnit.Framework.Assert.AreEqual(1, map.Count); NUnit.Framework.Assert.IsFalse(map.IsEmpty()); // after size was computed NUnit.Framework.Assert.AreSame(master, map.Values.Iterator().Next()); }
public virtual void TestPut_CollapseResolved() { Ref master = NewRef("refs/heads/master", ID_ONE); Ref headU = NewRef("HEAD", "refs/heads/master"); Ref headR = NewRef("HEAD", master); Ref a = NewRef("refs/heads/A", ID_ONE); loose = ToList(headU, master); resolved = ToList(headR); RefMap map = new RefMap(string.Empty, packed, loose, resolved); NUnit.Framework.Assert.IsNull(map.Put(a.GetName(), a)); NUnit.Framework.Assert.AreSame(a, map.Get(a.GetName())); NUnit.Framework.Assert.AreSame(headR, map.Get("HEAD")); }
public virtual void TestPutNewEntry() { RefList <Ref> one = ToList(REF_A, REF_c); RefList <Ref> two = one.Put(REF_B); NUnit.Framework.Assert.AreNotSame(one, two); // one is not modified, but two is NUnit.Framework.Assert.AreEqual(2, one.Size()); NUnit.Framework.Assert.AreSame(REF_A, one.Get(0)); NUnit.Framework.Assert.AreSame(REF_c, one.Get(1)); NUnit.Framework.Assert.AreEqual(3, two.Size()); NUnit.Framework.Assert.AreSame(REF_A, two.Get(0)); NUnit.Framework.Assert.AreSame(REF_B, two.Get(1)); NUnit.Framework.Assert.AreSame(REF_c, two.Get(2)); }
public virtual void TestEntryType() { Ref a = NewRef("refs/heads/A", ID_ONE); Ref b = NewRef("refs/heads/B", ID_TWO); packed = ToList(a, b); RefMap map = new RefMap("refs/heads/", packed, loose, resolved); Iterator <KeyValuePair <string, Ref> > itr = map.EntrySet().Iterator(); KeyValuePair <string, Ref> ent_a = itr.Next(); KeyValuePair <string, Ref> ent_b = itr.Next(); // NUnit.Framework.Assert.AreEqual(ent_a.GetHashCode(), "A".GetHashCode()); NUnit.Framework.Assert.IsTrue(ent_a.Equals(ent_a)); NUnit.Framework.Assert.IsFalse(ent_a.Equals(ent_b)); NUnit.Framework.Assert.AreEqual(a.ToString(), ent_a.Value.ToString()); }
public virtual void TestToString_NoPrefix() { Ref a = NewRef("refs/heads/A", ID_ONE); Ref b = NewRef("refs/heads/B", ID_TWO); packed = ToList(a, b); StringBuilder exp = new StringBuilder(); exp.Append("["); exp.Append(a.ToString()); exp.Append(", "); exp.Append(b.ToString()); exp.Append("]"); RefMap map = new RefMap(string.Empty, packed, loose, resolved); NUnit.Framework.Assert.AreEqual(exp.ToString(), map.ToString()); }
public virtual void TestAddToMiddleOfListByInsertionPosition() { RefList <Ref> one = ToList(REF_A, REF_c); NUnit.Framework.Assert.AreEqual(-2, one.Find(REF_B.GetName())); RefList <Ref> two = one.Add(one.Find(REF_B.GetName()), REF_B); NUnit.Framework.Assert.AreNotSame(one, two); // one is not modified, but two is NUnit.Framework.Assert.AreEqual(2, one.Size()); NUnit.Framework.Assert.AreSame(REF_A, one.Get(0)); NUnit.Framework.Assert.AreSame(REF_c, one.Get(1)); NUnit.Framework.Assert.AreEqual(3, two.Size()); NUnit.Framework.Assert.AreSame(REF_A, two.Get(0)); NUnit.Framework.Assert.AreSame(REF_B, two.Get(1)); NUnit.Framework.Assert.AreSame(REF_c, two.Get(2)); }
public virtual void TestPut_WithPrefix() { Ref refA_one = NewRef("refs/heads/A", ID_ONE); Ref refA_two = NewRef("refs/heads/A", ID_TWO); packed = ToList(refA_one); RefMap map = new RefMap("refs/heads/", packed, loose, resolved); NUnit.Framework.Assert.AreSame(refA_one, map.Get("A")); NUnit.Framework.Assert.AreSame(refA_one, map.Put("A", refA_two)); // map changed, but packed, loose did not NUnit.Framework.Assert.AreSame(refA_two, map.Get("A")); NUnit.Framework.Assert.AreSame(refA_one, packed.Get(0)); NUnit.Framework.Assert.AreEqual(0, loose.Size()); NUnit.Framework.Assert.AreSame(refA_two, map.Put("A", refA_one)); NUnit.Framework.Assert.AreSame(refA_one, map.Get("A")); }
public virtual void TestBuilder_AddThenSort() { RefListBuilder <Ref> builder = new RefListBuilder <Ref>(1); builder.Add(REF_B); builder.Add(REF_A); RefList <Ref> list = builder.ToRefList(); NUnit.Framework.Assert.AreEqual(2, list.Size()); NUnit.Framework.Assert.AreSame(REF_B, list.Get(0)); NUnit.Framework.Assert.AreSame(REF_A, list.Get(1)); builder.Sort(); list = builder.ToRefList(); NUnit.Framework.Assert.AreEqual(2, list.Size()); NUnit.Framework.Assert.AreSame(REF_A, list.Get(0)); NUnit.Framework.Assert.AreSame(REF_B, list.Get(1)); }
public virtual void TestPutReplaceEntry() { Ref otherc = NewRef(REF_c.GetName()); NUnit.Framework.Assert.AreNotSame(REF_c, otherc); RefList <Ref> one = ToList(REF_A, REF_c); RefList <Ref> two = one.Put(otherc); NUnit.Framework.Assert.AreNotSame(one, two); // one is not modified, but two is NUnit.Framework.Assert.AreEqual(2, one.Size()); NUnit.Framework.Assert.AreSame(REF_A, one.Get(0)); NUnit.Framework.Assert.AreSame(REF_c, one.Get(1)); NUnit.Framework.Assert.AreEqual(2, two.Size()); NUnit.Framework.Assert.AreSame(REF_A, two.Get(0)); NUnit.Framework.Assert.AreSame(otherc, two.Get(1)); }
public virtual void TestEntryTypeSet() { Ref refA_one = NewRef("refs/heads/A", ID_ONE); Ref refA_two = NewRef("refs/heads/A", ID_TWO); packed = ToList(refA_one); RefMap map = new RefMap("refs/heads/", packed, loose, resolved); NUnit.Framework.Assert.AreSame(refA_one, map.Get("A")); KeyValuePair <string, Ref> ent = map.EntrySet().Iterator().Next(); NUnit.Framework.Assert.AreEqual("A", ent.Key); NUnit.Framework.Assert.AreSame(refA_one, ent.Value); // NUnit.Framework.Assert.AreSame(refA_one, ent.SetValue(refA_two)); // NUnit.Framework.Assert.AreSame(refA_two, ent.Value); NUnit.Framework.Assert.AreSame(refA_two, map.Get("A")); NUnit.Framework.Assert.AreEqual(1, map.Count); }
public virtual void TestRemove() { Ref master = NewRef("refs/heads/master", ID_ONE); Ref headU = NewRef("HEAD", "refs/heads/master"); Ref headR = NewRef("HEAD", master); packed = ToList(master); loose = ToList(headU, master); resolved = ToList(headR); RefMap map = new RefMap(string.Empty, packed, loose, resolved); NUnit.Framework.Assert.IsNull(Sharpen.Collections.Remove(map, "not.a.reference")); NUnit.Framework.Assert.AreSame(master, Sharpen.Collections.Remove(map, "refs/heads/master" )); NUnit.Framework.Assert.IsNull(map.Get("refs/heads/master")); NUnit.Framework.Assert.AreSame(headR, Sharpen.Collections.Remove(map, "HEAD")); NUnit.Framework.Assert.IsNull(map.Get("HEAD")); NUnit.Framework.Assert.IsTrue(map.IsEmpty()); }
public virtual void TestIterator_FailsAtEnd() { Ref master = NewRef("refs/heads/master", ID_ONE); loose = ToList(master); RefMap map = new RefMap(string.Empty, packed, loose, resolved); Iterator <Ref> itr = map.Values.Iterator(); NUnit.Framework.Assert.IsTrue(itr.HasNext()); NUnit.Framework.Assert.AreSame(master, itr.Next()); try { itr.Next(); NUnit.Framework.Assert.Fail("iterator allowed next"); } catch (NoSuchElementException) { } }
public virtual void TestToString_WithPrefix() { Ref a = NewRef("refs/heads/A", ID_ONE); Ref b = NewRef("refs/heads/foo/B", ID_TWO); Ref c = NewRef("refs/heads/foo/C", ID_TWO); Ref g = NewRef("refs/heads/g", ID_ONE); packed = ToList(a, b, c, g); StringBuilder exp = new StringBuilder(); exp.Append("["); exp.Append(b.ToString()); exp.Append(", "); exp.Append(c.ToString()); exp.Append("]"); RefMap map = new RefMap("refs/heads/foo/", packed, loose, resolved); NUnit.Framework.Assert.AreEqual(exp.ToString(), map.ToString()); }
public virtual void TestIterator_MissingUnresolvedSymbolicRefIsBug() { Ref master = NewRef("refs/heads/master", ID_ONE); Ref headR = NewRef("HEAD", master); loose = ToList(master); // loose should have added newRef("HEAD", "refs/heads/master") resolved = ToList(headR); RefMap map = new RefMap(string.Empty, packed, loose, resolved); Iterator <Ref> itr = map.Values.Iterator(); try { itr.HasNext(); NUnit.Framework.Assert.Fail("iterator did not catch bad input"); } catch (InvalidOperationException) { } }
public virtual void TestEmpty() { RefList <Ref> list = RefList.EmptyList(); NUnit.Framework.Assert.AreEqual(0, list.Size()); NUnit.Framework.Assert.IsTrue(list.IsEmpty()); NUnit.Framework.Assert.IsFalse(list.Iterator().HasNext()); NUnit.Framework.Assert.AreEqual(-1, list.Find("a")); NUnit.Framework.Assert.AreEqual(-1, list.Find("z")); NUnit.Framework.Assert.IsFalse(list.Contains("a")); NUnit.Framework.Assert.IsNull(list.Get("a")); try { list.Get(0); NUnit.Framework.Assert.Fail("RefList.emptyList should have 0 element array"); } catch (IndexOutOfRangeException) { } }
public virtual void TestFindContainsGet() { RefList <Ref> list = ToList(REF_A, REF_B, REF_c); NUnit.Framework.Assert.AreEqual(0, list.Find("A")); NUnit.Framework.Assert.AreEqual(1, list.Find("B")); NUnit.Framework.Assert.AreEqual(2, list.Find("c")); NUnit.Framework.Assert.AreEqual(-1, list.Find("0")); NUnit.Framework.Assert.AreEqual(-2, list.Find("AB")); NUnit.Framework.Assert.AreEqual(-3, list.Find("a")); NUnit.Framework.Assert.AreEqual(-4, list.Find("z")); NUnit.Framework.Assert.AreSame(REF_A, list.Get("A")); NUnit.Framework.Assert.AreSame(REF_B, list.Get("B")); NUnit.Framework.Assert.AreSame(REF_c, list.Get("c")); NUnit.Framework.Assert.IsNull(list.Get("AB")); NUnit.Framework.Assert.IsNull(list.Get("z")); NUnit.Framework.Assert.IsTrue(list.Contains("A")); NUnit.Framework.Assert.IsTrue(list.Contains("B")); NUnit.Framework.Assert.IsTrue(list.Contains("c")); NUnit.Framework.Assert.IsFalse(list.Contains("AB")); NUnit.Framework.Assert.IsFalse(list.Contains("z")); }
public virtual void TestEntryTypeSet() { Ref refA_one = NewRef("refs/heads/A", ID_ONE); Ref refA_two = NewRef("refs/heads/A", ID_TWO); packed = ToList(refA_one); RefMap map = new RefMap("refs/heads/", packed, loose, resolved); NUnit.Framework.Assert.AreSame(refA_one, map.Get("A")); KeyValuePair <string, Ref> ent = map.EntrySet().Iterator().Next(); NUnit.Framework.Assert.AreEqual("A", ent.Key); NUnit.Framework.Assert.AreSame(refA_one, ent.Value); // FIXME: .NET returns an immutable KeyValuePair whereas Java // returns a mutable one. Therefore this test is invalid in .NET // No code does this internally (it's a compile error as SetValue does not exist) // so we are ok to comment this out. // NUnit.Framework.Assert.AreSame(refA_one, ent.SetValue(refA_two)); // NUnit.Framework.Assert.AreSame(refA_two, ent.Value); // NUnit.Framework.Assert.AreEqual(refA_two, map.Get("A")); // NUnit.Framework.Assert.AreEqual(1, map.Count); }
public virtual void TestMerge_HeadMaster() { Ref master = NewRef("refs/heads/master", ID_ONE); Ref headU = NewRef("HEAD", "refs/heads/master"); Ref headR = NewRef("HEAD", master); loose = ToList(headU, master); resolved = ToList(headR); RefMap map = new RefMap(string.Empty, packed, loose, resolved); NUnit.Framework.Assert.AreEqual(2, map.Count); NUnit.Framework.Assert.IsFalse(map.IsEmpty()); NUnit.Framework.Assert.IsTrue(map.ContainsKey("refs/heads/master")); NUnit.Framework.Assert.AreSame(master, map.Get("refs/heads/master")); // resolved overrides loose given same name NUnit.Framework.Assert.AreSame(headR, map.Get("HEAD")); Iterator <Ref> itr = map.Values.Iterator(); NUnit.Framework.Assert.IsTrue(itr.HasNext()); NUnit.Framework.Assert.AreSame(headR, itr.Next()); NUnit.Framework.Assert.IsTrue(itr.HasNext()); NUnit.Framework.Assert.AreSame(master, itr.Next()); NUnit.Framework.Assert.IsFalse(itr.HasNext()); }
public virtual void SetUp() { packed = RefList.EmptyList(); loose = RefList.EmptyList(); resolved = RefList.EmptyList(); }
public _Iterator_104(RefList <T> _enclosing) { this._enclosing = _enclosing; }
internal static RefList <Ref> Copy <U>(RefList <U> other) where U : Ref { return(new RefList <Ref>(other.list, other.cnt)); }