public void TestHashedBimapDictionaryIndexerSetNotExistingValue() { var bimap = new HashedBimap <int, int>(); Fill(bimap, x => x, y => y); BimapDictionaryIndexerSetNotExistingValue(bimap); }
public void TestHashBimapDictionaryIndexer() { var bimap = new HashedBimap <int, int>(); Fill(bimap, x => x, y => y); DictionaryIndexer(bimap); AssertBimapDictionaryIndexer(bimap); }
public void TestHashedBimapDictionaryOperations() { var bimap = new HashedBimap <Order, Bill>(new OrderEqualityComparer(), new BillEqualityComparer()); bimap.DictionaryOperations(x => new Order { Id = x }, y => new Bill { Id = y }, new BillEqualityComparer().Equals); }
public void TestHashBimapCollectionRemove() { var bimap = new HashedBimap <Order, Bill>(new OrderEqualityComparer(), new BillEqualityComparer()); Fill(bimap, x => new Order { Id = x }, y => new Bill { Id = y }); CollectionRemove(bimap); }
public void TestTreeBimapComplexConstructor() { var hashBimap = new HashedBimap <Order, Bill>(new OrderEqualityComparer(), new BillEqualityComparer()); for (var i = 0; i < 10000; i++) { hashBimap.Add(new Order { Id = i }, new Bill { Id = i }); } var treeBimap = new TreeBimap <Order, Bill>(hashBimap, (x1, x2) => x1.Id - x2.Id, (y1, y2) => y1.Id - y2.Id); for (var i = 0; i < 10000; i++) { Assert.True(treeBimap.ContainsKey(new Order { Id = i })); Assert.True(treeBimap.ContainsValue(new Bill { Id = i })); Assert.True(((ICollection <KeyValuePair <Order, Bill> >)treeBimap).Contains(new KeyValuePair <Order, Bill>(new Order { Id = i }, new Bill { Id = i }))); } var bimap2 = new HashedBimap <int, int>(); for (var i = 0; i < 10000; i++) { bimap2.Add(i, i + 1); } var treeBimap2 = new TreeBimap <int, int>(bimap2); for (var i = 0; i < 10000; i++) { Assert.True(treeBimap2.ContainsKey(i)); Assert.True(treeBimap2.ContainsValue(i + 1)); Assert.True(((ICollection <KeyValuePair <int, int> >)treeBimap2).Contains(new KeyValuePair <int, int>(i, i + 1))); } }
public void TestHashBimapContructor() { var hashBimap1 = new HashedBimap <Order, Bill>((x1, x2) => x1.Id == x2.Id, (y1, y2) => y1.Id == y2.Id); BimapOperation(hashBimap1, x => new Order { Id = x }, y => new Bill { Id = y }, new OrderEqualityComparer(), new BillEqualityComparer()); var hashBimap2 = new HashedBimap <Order, Bill>(new OrderEqualityComparer(), new BillEqualityComparer()); BimapOperation(hashBimap2, x => new Order { Id = x }, y => new Bill { Id = y }, new OrderEqualityComparer(), new BillEqualityComparer()); var hashBimap3 = new HashedBimap <Order, Bill>(10000, new OrderEqualityComparer(), new BillEqualityComparer()); BimapOperation(hashBimap3, x => new Order { Id = x }, y => new Bill { Id = y }, new OrderEqualityComparer(), new BillEqualityComparer()); var hashBimap4 = new HashedBimap <Order, Bill>(10000, (x1, x2) => x1.Id == x2.Id, (y1, y2) => y1.Id == y2.Id); BimapOperation(hashBimap4, x => new Order { Id = x }, y => new Bill { Id = y }, new OrderEqualityComparer(), new BillEqualityComparer()); var hashBimap5 = new HashedBimap <int, int>(); BimapOperation(hashBimap5, x => x, y => y, EqualityComparer <int> .Default, EqualityComparer <int> .Default); var hashBimap6 = new HashedBimap <Order, int>((x1, x2) => x1.Id == x2.Id); BimapOperation(hashBimap6, x => new Order { Id = x }, y => y, new OrderEqualityComparer(), EqualityComparer <int> .Default); var hashBimap7 = new HashedBimap <int, Order>((x1, x2) => x1.Id == x2.Id); BimapOperation(hashBimap7, x => x, y => new Order { Id = y }, EqualityComparer <int> .Default, new OrderEqualityComparer()); var hashBimap8 = new HashedBimap <Order, int>(new OrderEqualityComparer()); BimapOperation(hashBimap8, x => new Order { Id = x }, y => y, new OrderEqualityComparer(), EqualityComparer <int> .Default); var hashBimap9 = new HashedBimap <int, Order>(new OrderEqualityComparer()); BimapOperation(hashBimap9, x => x, y => new Order { Id = y }, EqualityComparer <int> .Default, new OrderEqualityComparer()); }