Exemple #1
0
        public void TestRemove()
        {
            HashList <int, string> h = new HashList <int, string>();

            h.Add(2, "a");

            Assert.AreEqual(h.ValueCount, 1);
            Assert.AreEqual(h.KeyCount, 1);

            h.Add(4, new List <string>(new string[] { "2", "3", "4", "5" }));

            Assert.AreEqual(h.ValueCount, 5);
            Assert.AreEqual(h.KeyCount, 2);

            Assert.AreEqual(h.Remove(2), true);
            Assert.AreEqual(h.KeyCount, 1);
            Assert.AreEqual(h.ValueCount, 4);

            Assert.AreEqual(h.Remove(2), false);
            Assert.AreEqual(h.KeyCount, 1);
            Assert.AreEqual(h.ValueCount, 4);

            Assert.AreEqual(h.Remove("2"), true);

            Assert.AreEqual(h.KeyCount, 1);
            Assert.AreEqual(h.ValueCount, 3);

            Assert.AreEqual(h.Remove(3, "2"), false);

            Assert.AreEqual(h.KeyCount, 1);
            Assert.AreEqual(h.ValueCount, 3);

            Assert.AreEqual(h.Remove(4, "2"), false);

            Assert.AreEqual(h.KeyCount, 1);
            Assert.AreEqual(h.ValueCount, 3);

            Assert.AreEqual(h.Remove(4, "5"), true);

            Assert.AreEqual(h.KeyCount, 1);
            Assert.AreEqual(h.ValueCount, 2);

            h.Add(4, "4");

            Assert.AreEqual(h.KeyCount, 1);
            Assert.AreEqual(h.ValueCount, 3);

            h.RemoveAll("4");

            Assert.AreEqual(h.KeyCount, 1);
            Assert.AreEqual(h.ValueCount, 1);
        }
Exemple #2
0
        public void RemoveAllExample()
        {
            var whatAnimalEatHashList = new HashList <string, string>
            {
                { "dog", "dog food" },
                { "dog", "bones" },
                { "dog", "cats" },
                { "tiger", "people" },
                { "tiger", "cats" }
            };

            // HashList contains 5 values
            Assert.AreEqual(5, whatAnimalEatHashList.ValueCount);

            // Remove "cats" values
            whatAnimalEatHashList.RemoveAll("cats");

            // HashList contains 3 values because all values matching "cats" have been removed
            Assert.AreEqual(3, whatAnimalEatHashList.ValueCount);
        }
Exemple #3
0
        public void Simple()
        {
            var hashList = new HashList<int, string> {{2, "a"}};

            Assert.AreEqual(hashList.ValueCount, 1);
            Assert.AreEqual(hashList.KeyCount, 1);

            hashList.Add(4, new List<string>(new[] { "2", "3", "4", "5" }));

            Assert.AreEqual(hashList.ValueCount, 5);
            Assert.AreEqual(hashList.KeyCount, 2);

            Assert.IsTrue(hashList.Remove(2));
            Assert.AreEqual(hashList.KeyCount, 1);
            Assert.AreEqual(hashList.ValueCount, 4);

            Assert.IsFalse(hashList.Remove(2));
            Assert.AreEqual(hashList.KeyCount, 1);
            Assert.AreEqual(hashList.ValueCount, 4);

            Assert.IsTrue(hashList.RemoveValue("2"));

            Assert.AreEqual(hashList.KeyCount, 1);
            Assert.AreEqual(hashList.ValueCount, 3);

            Assert.IsFalse(hashList.Remove(3, "2"));

            Assert.AreEqual(hashList.KeyCount, 1);
            Assert.AreEqual(hashList.ValueCount, 3);

            Assert.IsFalse(hashList.Remove(4, "2"));

            Assert.AreEqual(hashList.KeyCount, 1);
            Assert.AreEqual(hashList.ValueCount, 3);

            Assert.IsTrue(hashList.Remove(4, "5"));

            Assert.AreEqual(hashList.KeyCount, 1);
            Assert.AreEqual(hashList.ValueCount, 2);

            hashList.Add(4, "4");

            Assert.AreEqual(hashList.KeyCount, 1);
            Assert.AreEqual(hashList.ValueCount, 3);

            hashList.RemoveAll("4");

            Assert.AreEqual(hashList.KeyCount, 1);
            Assert.AreEqual(hashList.ValueCount, 1);

            Assert.IsFalse(hashList.Remove(10));

            hashList.Add(4, "5");
            hashList.Add(4, "6");

            Assert.AreEqual(hashList.KeyCount, 1);
            Assert.AreEqual(hashList.ValueCount, 3);

            Assert.IsTrue(hashList.RemoveValue("5"));

            Assert.AreEqual(hashList.KeyCount, 1);
            Assert.AreEqual(hashList.ValueCount, 2);

            Assert.IsFalse(hashList.RemoveValue("5"));

            Assert.AreEqual(hashList.KeyCount, 1);
            Assert.AreEqual(hashList.ValueCount, 2);
        }
Exemple #4
0
        public void Simple()
        {
            var hashList = new HashList <int, string> {
                { 2, "a" }
            };

            Assert.AreEqual(hashList.ValueCount, 1);
            Assert.AreEqual(hashList.KeyCount, 1);

            hashList.Add(4, new List <string>(new[] { "2", "3", "4", "5" }));

            Assert.AreEqual(hashList.ValueCount, 5);
            Assert.AreEqual(hashList.KeyCount, 2);

            Assert.IsTrue(hashList.Remove(2));
            Assert.AreEqual(hashList.KeyCount, 1);
            Assert.AreEqual(hashList.ValueCount, 4);

            Assert.IsFalse(hashList.Remove(2));
            Assert.AreEqual(hashList.KeyCount, 1);
            Assert.AreEqual(hashList.ValueCount, 4);

            Assert.IsTrue(hashList.RemoveValue("2"));

            Assert.AreEqual(hashList.KeyCount, 1);
            Assert.AreEqual(hashList.ValueCount, 3);

            Assert.IsFalse(hashList.Remove(3, "2"));

            Assert.AreEqual(hashList.KeyCount, 1);
            Assert.AreEqual(hashList.ValueCount, 3);

            Assert.IsFalse(hashList.Remove(4, "2"));

            Assert.AreEqual(hashList.KeyCount, 1);
            Assert.AreEqual(hashList.ValueCount, 3);

            Assert.IsTrue(hashList.Remove(4, "5"));

            Assert.AreEqual(hashList.KeyCount, 1);
            Assert.AreEqual(hashList.ValueCount, 2);

            hashList.Add(4, "4");

            Assert.AreEqual(hashList.KeyCount, 1);
            Assert.AreEqual(hashList.ValueCount, 3);

            hashList.RemoveAll("4");

            Assert.AreEqual(hashList.KeyCount, 1);
            Assert.AreEqual(hashList.ValueCount, 1);

            Assert.IsFalse(hashList.Remove(10));

            hashList.Add(4, "5");
            hashList.Add(4, "6");

            Assert.AreEqual(hashList.KeyCount, 1);
            Assert.AreEqual(hashList.ValueCount, 3);


            Assert.IsTrue(hashList.RemoveValue("5"));

            Assert.AreEqual(hashList.KeyCount, 1);
            Assert.AreEqual(hashList.ValueCount, 2);

            Assert.IsFalse(hashList.RemoveValue("5"));

            Assert.AreEqual(hashList.KeyCount, 1);
            Assert.AreEqual(hashList.ValueCount, 2);
        }
Exemple #5
0
        public override bool RemoveEntity(IBroadphaseEntity body)
        {
            int count;

            count = 0;
            for (int i = 0, length = axis1.Count; i < length; i++)
            {
                if (axis1[i].Body == body)
                {
                    count++;
                    axis1.RemoveAt(i);
                    if (count == 2)
                    {
                        break;
                    }
                    i--;
                }
            }

            count = 0;
            for (int i = 0, length = axis2.Count; i < length; i++)
            {
                if (axis2[i].Body == body)
                {
                    count++;
                    axis2.RemoveAt(i);
                    if (count == 2)
                    {
                        break;
                    }
                    i--;
                }
            }

            count = 0;
            for (int i = 0, length = axis3.Count; i < length; i++)
            {
                if (axis3[i].Body == body)
                {
                    count++;
                    axis3.RemoveAt(i);
                    if (count == 2)
                    {
                        break;
                    }
                    i--;
                }
            }

            for (int index = 0, length = fullOverlaps.Count; index < length; index++)
            {
                OverlapPair pair = fullOverlaps[index];
                if (pair.Entity1 == body || pair.Entity2 == body)
                {
                    deprecated.Push(pair);
                }
            }
            fullOverlaps.RemoveAll(deprecated);

            bodyList.Remove(body);

            return(true);
        }
        public void RemoveAllExample()
        {
            var whatAnimalEatHashList = new HashList<string, string>
                                            {
                                                {"dog", "dog food"},
                                                {"dog", "bones"},
                                                {"dog", "cats"},
                                                {"tiger", "people"},
                                                {"tiger", "cats"}
                                            };

            // HashList contains 5 values
            Assert.AreEqual(5, whatAnimalEatHashList.ValueCount);

            // Remove "cats" values
            whatAnimalEatHashList.RemoveAll("cats");

            // HashList contains 3 values because all values matching "cats" have been removed
            Assert.AreEqual(3, whatAnimalEatHashList.ValueCount);
        }