コード例 #1
0
        public void TestTreeBimapDictionaryIndexerSetNotExistingValue()
        {
            var bimap = new TreeBimap <int, int>();

            Fill(bimap, x => x, y => y);
            BimapDictionaryIndexerSetNotExistingValue(bimap);
        }
コード例 #2
0
        public void TestTreeBimapDictionaryIndexer()
        {
            var bimap = new TreeBimap <int, int>();

            Fill(bimap, x => x, y => y);
            DictionaryIndexer(bimap);
            AssertBimapDictionaryIndexer(bimap);
        }
コード例 #3
0
        public void TestTreeBimapCollectionOperations()
        {
            var bimap = new TreeBimap <int, Order>(new OrderComparer());

            bimap.Fill(x => new KeyValuePair <int, Order>(x, new Order {
                Id = x
            }));
            bimap.CollectionOperations <KeyValuePair <int, Order> >(1000);
        }
コード例 #4
0
        public void TestTreeBimapDictionaryOperations()
        {
            var bimap = new TreeBimap <Order, Bill>(new OrderComparer(), new BillComparer());

            bimap.DictionaryOperations <Order, Bill>(x => new Order {
                Id = x
            }, y => new Bill {
                Id = y
            }, new BillEqualityComparer().Equals);
        }
コード例 #5
0
        public void TestTreeBiampColletionRemove()
        {
            var bimap = new TreeBimap <Order, Bill>(new OrderComparer(), new BillComparer());

            Fill(bimap, x => new Order {
                Id = x
            }, y => new Bill {
                Id = y
            });
            CollectionRemove(bimap);
        }
コード例 #6
0
        public void TestTreeBimapConstructor()
        {
            var treeBimap1 = new TreeBimap <Order, Bill>(new OrderComparer(), new BillComparer());

            BimapOperation(treeBimap1, x => new Order {
                Id = x
            }, y => new Bill {
                Id = y
            }, new OrderEqualityComparer(), new BillEqualityComparer());

            var treeBimap2 = new TreeBimap <Order, Bill>((x1, x2) => x1.Id - x2.Id, (y1, y2) => y1.Id - y2.Id);

            BimapOperation(treeBimap2, x => new Order {
                Id = x
            }, y => new Bill {
                Id = y
            }, new OrderEqualityComparer(), new BillEqualityComparer());

            var treeBimap3 = new TreeBimap <int, int>();

            BimapOperation(treeBimap3, x => x, y => y, EqualityComparer <int> .Default, EqualityComparer <int> .Default);

            var treeBimap4 = new TreeBimap <Order, int>((x1, x2) => x1.Id - x2.Id);

            BimapOperation(treeBimap4, x => new Order {
                Id = x
            }, y => y, new OrderEqualityComparer(), EqualityComparer <int> .Default);

            var treeBimap5 = new TreeBimap <int, Order>((x1, x2) => x1.Id - x2.Id);

            BimapOperation(treeBimap5, x => x, y => new Order {
                Id = y
            }, EqualityComparer <int> .Default, new OrderEqualityComparer());

            var treeBimap6 = new TreeBimap <Order, int>(new OrderComparer());

            BimapOperation(treeBimap6, x => new Order {
                Id = x
            }, y => y, new OrderEqualityComparer(), EqualityComparer <int> .Default);

            var treeBimap7 = new TreeBimap <int, Order>(new OrderComparer());

            BimapOperation(treeBimap7, x => x, y => new Order {
                Id = y
            }, EqualityComparer <int> .Default, new OrderEqualityComparer());
        }
コード例 #7
0
        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)));
            }
        }