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 TestPut_KeyMustMatchName_WithPrefix() { Ref refA = NewRef("refs/heads/A", ID_ONE); RefMap map = new RefMap("refs/heads/", packed, loose, resolved); try { map.Put("FOO", refA); NUnit.Framework.Assert.Fail("map accepted invalid key/value pair"); } catch (ArgumentException) { } }
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")); }