Ejemplo n.º 1
0
        public void TestReferenceSet()
        {
            var set = new ReferenceSet <Order>();

            set.Fill(x => new Order {
                Id = x
            }, 10000);
            Assert.Equal(10000, set.Count);

            var list = new List <Order>();

            list.Fill(x => new Order {
                Id = x
            }, 10000);

            foreach (var item in list)
            {
                Assert.False(set.Contains(item));
            }

            for (var i = 1000; i < 3000; i++)
            {
                Assert.False(set.Remove(new Order {
                    Id = i
                }));
            }
            set.Clear();
            Assert.Equal(0, set.Count);

            var set2  = new ReferenceSet <Order>(10000);
            var list2 = new List <Order>();

            for (var i = 0; i < 10000; i++)
            {
                var order = new Order {
                    Id = i
                };
                set2.Add(order);
                list2.Add(order);
            }

            for (var i = 0; i < 10000; i++)
            {
                Assert.True(set2.Contains(list2[i]));
            }

            foreach (var item in set2)
            {
                Assert.True(list2.Contains(item));
            }

            for (var i = 1000; i < 3000; i++)
            {
                Assert.True(set2.Remove(list2[i]));
            }

            Assert.Equal(8000, set2.Count);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Copies members from passed in record
        /// </summary>
        /// <param name="record"></param>
        public INameRecord Assign(INameRecord record)
        {
            if (!Id.Equals(record.Id))
            {
                return(record);
            }

            Type         = record.Type;
            Name         = record.Name;
            Domain       = record.Domain;
            LastActivity = record.LastActivity;

            ReferenceSet.Clear();
            ReferenceSet.AddRange(record.References);
            return(this);
        }