public virtual void TestDuplicateInserts() { IdentityHashStore <TestIdentityHashStore.Key, int> store = new IdentityHashStore <TestIdentityHashStore.Key , int>(4); store.VisitAll(new _Visitor_87()); Assert.True(store.IsEmpty()); TestIdentityHashStore.Key key1 = new TestIdentityHashStore.Key("key1"); int value1 = 100; int value2 = 200; int value3 = 300; store.Put(key1, value1); TestIdentityHashStore.Key equalToKey1 = new TestIdentityHashStore.Key("key1"); // IdentityHashStore compares by object equality, not equals() NUnit.Framework.Assert.IsNull(store.Get(equalToKey1)); Assert.True(!store.IsEmpty()); Assert.Equal(value1, store.Get(key1)); store.Put(key1, value2); store.Put(key1, value3); IList <int> allValues = new List <int>(); store.VisitAll(new _Visitor_109(allValues)); Assert.Equal(3, allValues.Count); for (int i = 0; i < 3; i++) { int value = store.Remove(key1); Assert.True(allValues.Remove(value)); } NUnit.Framework.Assert.IsNull(store.Remove(key1)); Assert.True(store.IsEmpty()); }
public override bool Equals(object o) { if (!(o is TestIdentityHashStore.Key)) { return(false); } TestIdentityHashStore.Key other = (TestIdentityHashStore.Key)o; return(name.Equals(other.name)); }
public virtual void TestStartingWithZeroCapacity() { IdentityHashStore <TestIdentityHashStore.Key, int> store = new IdentityHashStore <TestIdentityHashStore.Key , int>(0); store.VisitAll(new _Visitor_61()); Assert.True(store.IsEmpty()); TestIdentityHashStore.Key key1 = new TestIdentityHashStore.Key("key1"); int value1 = 100; store.Put(key1, value1); Assert.True(!store.IsEmpty()); Assert.Equal(value1, store.Get(key1)); store.VisitAll(new _Visitor_73(key1)); Assert.Equal(value1, store.Remove(key1)); Assert.True(store.IsEmpty()); }