Ejemplo n.º 1
0
        public void IsSynchronized()
        {
            PackTwoKeyDictionary ptkd = new PackTwoKeyDictionary();
            TwoKeyDictionary <string, int, int> tkd = ptkd.GetLoadedTwoKeyDictionary(POPSIZE);

            Assert.AreEqual(false, tkd.IsSynchronized);
        }
Ejemplo n.º 2
0
        public void Contains_TwoKeyValueTriple()
        {
            List <TwoKeyValueTriple <string, int, int> > items = new List <TwoKeyValueTriple <string, int, int> >();
            PackTwoKeyDictionary ptkd = new PackTwoKeyDictionary();

            for (int i = 0; i < POPSIZE; i++)
            {
                TwoKeyValueTriple <string, int, int> tkv = new TwoKeyValueTriple <string, int, int>(ptkd.kavalues[i], ptkd.kbvalues[i], ptkd.vvalues[i]);
                items.Add(tkv);
            }

            TwoKeyDictionary <string, int, int> tkd = new TwoKeyDictionary <string, int, int>();

            for (int i = 0; i < items.Count; i++)
            {
                tkd.Add(items[i]);
            }

            for (int i = 0; i < POPSIZE; i++)
            {
                if (!tkd.Contains(items[i]))
                {
                    Assert.Fail();
                }
            }

            Assert.Pass();
        }
Ejemplo n.º 3
0
        public void Count()
        {
            PackTwoKeyDictionary ptkd = new PackTwoKeyDictionary();
            TwoKeyDictionary <string, int, int> tkd = ptkd.GetLoadedTwoKeyDictionary(POPSIZE);

            Assert.AreEqual(POPSIZE, tkd.Count);
        }
Ejemplo n.º 4
0
        public void Remove_Object()
        {
            PackTwoKeyDictionary ptkd = new PackTwoKeyDictionary();
            TwoKeyDictionary <string, int, int>  tkd  = ptkd.GetLoadedTwoKeyDictionary(POPSIZE);
            TwoKeyValueTriple <string, int, int> src1 = new TwoKeyValueTriple <string, int, int>(ptkd.kavalues[3], ptkd.kbvalues[3], ptkd.vvalues[3]);
            TwoKeyValueTriple <string, int, int> src2 = new TwoKeyValueTriple <string, int, int>(ptkd.kavalues[6], ptkd.kbvalues[6], ptkd.vvalues[6]);


            tkd.Remove((object)src1.KeyA);
            if (tkd.Contains(src1.KeyA))
            {
                Assert.Fail();
            }

            if (!tkd.Contains(src1.KeyB))
            {
                Assert.Pass();
            }

            tkd.Remove((object)src2.KeyA);
            if (tkd.Contains(src1.KeyA))
            {
                Assert.Fail();
            }

            if (!tkd.Contains(src2.KeyB))
            {
                Assert.Pass();
            }
        }
Ejemplo n.º 5
0
        public void TwoKeyDictionary_TwoKeyDictionary()
        {
            PackTwoKeyDictionary ptkd = new PackTwoKeyDictionary();
            TwoKeyDictionary <string, int, int> seeder = ptkd.GetLoadedTwoKeyDictionary(POPSIZE);
            TwoKeyDictionary <string, int, int> tkd    = new TwoKeyDictionary <string, int, int>(seeder, null, null);

            Assert.AreEqual(11, tkd.Count, "main.Coun");
            Assert.AreEqual(11, tkd.AKeys.Count, "main.AKeys.Count");
            Assert.AreEqual(11, tkd.BKeys.Count, "main.BKeys.Count");
            Assert.AreEqual(11, tkd.Values.Count, "main.Values.Count");

            tkd.Add(ptkd.kavalues[11], ptkd.kbvalues[11], ptkd.vvalues[11]);
            tkd.Add(ptkd.kavalues[12], ptkd.kbvalues[12], ptkd.vvalues[12]);

            Assert.AreEqual(13, tkd.Count);
            Assert.AreEqual(13, tkd.AKeys.Count);
            Assert.AreEqual(13, tkd.BKeys.Count);
            Assert.AreEqual(13, tkd.Values.Count);

            int result = -1;

            result = tkd["AbaloneShell"];
            Assert.AreEqual(-2373699, result);

            result = tkd[12];
            Assert.AreEqual(-2373699, unchecked ((int)0xFFDBC7BD));
        }
Ejemplo n.º 6
0
        public void TwoKeyDictionary_Capacity_IEqualityComparerAB()
        {
            PackTwoKeyDictionary ptkd = new PackTwoKeyDictionary();
            TwoKeyDictionary <string, int, int> tkd = new TwoKeyDictionary <string, int, int>(13, StringComparer.CurrentCultureIgnoreCase, new IntEqualityComparer());

            for (int i = 0; i < 11; i++)
            {
                tkd.Add(ptkd.kavalues[i], ptkd.kbvalues[i], ptkd.vvalues[i]);
            }

            Assert.AreEqual(11, tkd.Count, "main.Coun");
            Assert.AreEqual(11, tkd.AKeys.Count, "main.AKeys.Count");
            Assert.AreEqual(11, tkd.BKeys.Count, "main.BKeys.Count");
            Assert.AreEqual(11, tkd.Values.Count, "main.Values.Count");

            tkd.Add(ptkd.kavalues[11], ptkd.kbvalues[11], ptkd.vvalues[11]);
            tkd.Add(ptkd.kavalues[12], ptkd.kbvalues[12], ptkd.vvalues[12]);

            Assert.AreEqual(13, tkd.Count);
            Assert.AreEqual(13, tkd.AKeys.Count);
            Assert.AreEqual(13, tkd.BKeys.Count);
            Assert.AreEqual(13, tkd.Values.Count);

            int result = -1;

            result = tkd["ABALONESHELL"];
            Assert.AreEqual(-2373699, result);

            result = tkd[12];
            Assert.AreEqual(-2373699, unchecked ((int)0xFFDBC7BD));
        }
Ejemplo n.º 7
0
        public void CopyTo_TwoKeyValueTriple()
        {
            TwoKeyValueTriple <string, int, int>[] items = new TwoKeyValueTriple <string, int, int> [15];
            PackTwoKeyDictionary ptkd = new PackTwoKeyDictionary();
            TwoKeyDictionary <string, int, int> tkd = ptkd.GetLoadedTwoKeyDictionary(POPSIZE);

            tkd.CopyTo(items, 0);
            int count = items.Length;
        }
Ejemplo n.º 8
0
        public void TryGetValueKeyB()
        {
            PackTwoKeyDictionary ptkd = new PackTwoKeyDictionary();
            TwoKeyDictionary <string, int, int> tkd = ptkd.GetLoadedTwoKeyDictionary(POPSIZE);
            int result;

            tkd.TryGetValueKeyB(ptkd.kbvalues[6], out result);

            Assert.AreEqual(ptkd.vvalues[6], result);
        }
Ejemplo n.º 9
0
        public void ContainsValue()
        {
            PackTwoKeyDictionary ptkd = new PackTwoKeyDictionary();
            TwoKeyDictionary <string, int, int> tkd = ptkd.GetLoadedTwoKeyDictionary(POPSIZE);

            if (!tkd.ContainsValue(ptkd.vvalues[9]))
            {
                Assert.Fail();
            }
        }
Ejemplo n.º 10
0
        public void RemoveKeyB()
        {
            PackTwoKeyDictionary ptkd = new PackTwoKeyDictionary();
            TwoKeyDictionary <string, int, int> tkd = ptkd.GetLoadedTwoKeyDictionary(POPSIZE);

            if (!tkd.RemoveKeyB(ptkd.kbvalues[5]))
            {
                Assert.Fail();
            }

            if (!tkd.Contains(ptkd.kavalues[5]))
            {
                Assert.Pass();
            }
        }
Ejemplo n.º 11
0
        public void IEnumerable_GetEnumerator()
        {
            PackTwoKeyDictionary ptkd = new PackTwoKeyDictionary();
            TwoKeyDictionary <string, int, int> tkd = ptkd.GetLoadedTwoKeyDictionary(POPSIZE);

            foreach (TwoKeyValueTriple <string, int, int> tkvt in tkd)
            {
                if (!tkd.ContainsKeyA(tkvt.KeyA))
                {
                    Assert.Fail();
                }
            }

            Assert.Pass();
        }
Ejemplo n.º 12
0
        public void Add()
        {
            PackTwoKeyDictionary ptkd = new PackTwoKeyDictionary();
            TwoKeyDictionary <string, int, int> tkd = ptkd.GetLoadedTwoKeyDictionary(POPSIZE);

            foreach (string akey in tkd.AKeys)
            {
                if (!tkd.ContainsKeyA(akey))
                {
                    Assert.Fail();
                }
            }

            Assert.Pass();
        }
Ejemplo n.º 13
0
        public void TValue_TKeyB_Key()
        {
            PackTwoKeyDictionary ptkd = new PackTwoKeyDictionary();
            TwoKeyDictionary <string, int, int> tkd = ptkd.GetLoadedTwoKeyDictionary(POPSIZE);

            for (int i = 0; i < POPSIZE; i++)
            {
                if (ptkd.vvalues[i] != tkd[ptkd.kbvalues[i]])
                {
                    Assert.Fail();
                }
            }

            Assert.Pass();
        }
Ejemplo n.º 14
0
        public void Contains_Object()
        {
            PackTwoKeyDictionary ptkd = new PackTwoKeyDictionary();
            TwoKeyDictionary <string, int, int> tkd = ptkd.GetLoadedTwoKeyDictionary(POPSIZE);
            object keya = ptkd.kavalues[3];
            object keyb = ptkd.kbvalues[6];

            if (!tkd.Contains(keya))
            {
                Assert.Fail();
            }

            if (!tkd.Contains(keyb))
            {
                Assert.Fail();
            }
        }
Ejemplo n.º 15
0
        public void TwoKeyDictionary_TwoKeyDictionary_IEqualityComparerAB()
        {
            PackTwoKeyDictionary ptkd = new PackTwoKeyDictionary();
            TwoKeyDictionary <string, int, int> seeder = ptkd.GetLoadedTwoKeyDictionary(POPSIZE);
            TwoKeyDictionary <string, int, int> tkd    = new TwoKeyDictionary <string, int, int>(seeder, StringComparer.CurrentCultureIgnoreCase, new IntEqualityComparer());

            Assert.AreEqual(11, tkd.Count, "main.Coun");
            Assert.AreEqual(11, tkd.AKeys.Count, "main.AKeys.Count");
            Assert.AreEqual(11, tkd.BKeys.Count, "main.BKeys.Count");
            Assert.AreEqual(11, tkd.Values.Count, "main.Values.Count");

            tkd.Add(ptkd.kavalues[11], ptkd.kbvalues[11], ptkd.vvalues[11]);
            tkd.Add(ptkd.kavalues[12], ptkd.kbvalues[12], ptkd.vvalues[12]);

            Assert.AreEqual(13, tkd.Count);
            Assert.AreEqual(13, tkd.AKeys.Count);
            Assert.AreEqual(13, tkd.BKeys.Count);
            Assert.AreEqual(13, tkd.Values.Count);
        }
Ejemplo n.º 16
0
        public void ICollection_TKeyA()
        {
            PackTwoKeyDictionary ptkd = new PackTwoKeyDictionary();
            TwoKeyDictionary <string, int, int> tkd = ptkd.GetLoadedTwoKeyDictionary(POPSIZE);

            ICollection <string> ika = tkd.AKeys;

            Assert.AreEqual(tkd.Count, ika.Count);

            foreach (string akey in ika)
            {
                if (!tkd.ContainsKeyA(akey))
                {
                    Assert.Fail();
                }
            }

            Assert.Pass();
        }
Ejemplo n.º 17
0
        public void ICollection_TValue()
        {
            PackTwoKeyDictionary ptkd = new PackTwoKeyDictionary();
            TwoKeyDictionary <string, int, int> tkd = ptkd.GetLoadedTwoKeyDictionary(POPSIZE);

            ICollection <int> ikb = tkd.Values;

            Assert.AreEqual(tkd.Count, ikb.Count);

            foreach (int bkey in ikb)
            {
                if (!tkd.ContainsValue(bkey))
                {
                    Assert.Fail();
                }
            }

            Assert.Pass();
        }
Ejemplo n.º 18
0
        public void Add_TwoKeyValueTriple()
        {
            List <TwoKeyValueTriple <string, int, int> > items = new List <TwoKeyValueTriple <string, int, int> >();
            PackTwoKeyDictionary ptkd = new PackTwoKeyDictionary();

            for (int i = 0; i < POPSIZE; i++)
            {
                TwoKeyValueTriple <string, int, int> tkv = new TwoKeyValueTriple <string, int, int>(ptkd.kavalues[i], ptkd.kbvalues[i], ptkd.vvalues[i]);
                items.Add(tkv);
            }

            TwoKeyDictionary <string, int, int> tkd = new TwoKeyDictionary <string, int, int>();

            for (int i = 0; i < items.Count; i++)
            {
                tkd.Add(items[i]);
            }

            Assert.AreEqual(items.Count, tkd.Count);
        }
Ejemplo n.º 19
0
        public void IEnumerable_TValue_IReadOnlyTwoKeyDictionary_Values()
        {
            //  foreach is meant to iterate over a container, making sure each item is
            //   visited exactly once, without changing the container.
            PackTwoKeyDictionary ptkd = new PackTwoKeyDictionary();
            TwoKeyDictionary <string, int, int> tkd = ptkd.GetLoadedTwoKeyDictionary(POPSIZE);

            int        count = 0;
            List <int> items = new List <int>(ptkd.vvalues);

            foreach (TwoKeyValueTriple <string, int, int> irtkd in tkd)
            {
                if (!items.Contains(irtkd.Value))
                {
                    Assert.Fail();
                }
                count++;
            }

            // checking it the enumeration has iterated through each element
            Assert.AreEqual(tkd.Count, count);
        }
Ejemplo n.º 20
0
        public void Remove_TwoKeyValueTriple()
        {
            PackTwoKeyDictionary ptkd = new PackTwoKeyDictionary();
            TwoKeyDictionary <string, int, int> tkd = ptkd.GetLoadedTwoKeyDictionary(POPSIZE);

            TwoKeyValueTriple <string, int, int>[] items = new TwoKeyValueTriple <string, int, int> [tkd.Count];

            for (int i = 0; i < tkd.Count; i++)
            {
                TwoKeyValueTriple <string, int, int> tkvt = new TwoKeyValueTriple <string, int, int>(ptkd.kavalues[i], ptkd.kbvalues[i], ptkd.vvalues[i]);
                items[i] = tkvt;
            }

            if (!tkd.Remove(items[5]))
            {
                Assert.Fail();
            }

            if (!tkd.Contains(items[5]))
            {
                Assert.Pass();
            }
        }
Ejemplo n.º 21
0
        public void Add_Object()
        {
            List <Object[]>      items = new List <Object[]>();
            PackTwoKeyDictionary ptkd  = new PackTwoKeyDictionary();

            for (int i = 0; i < POPSIZE; i++)
            {
                object[] obj = new object[3];
                obj[0] = ptkd.kavalues[i];
                obj[1] = ptkd.kbvalues[i];
                obj[2] = ptkd.vvalues[i];
                items.Add(obj);
            }

            TwoKeyDictionary <string, int, int> tkd = new TwoKeyDictionary <string, int, int>();

            for (int i = 0; i < items.Count; i++)
            {
                tkd.Add(items[i][0], items[i][1], items[i][2]);
            }

            Assert.AreEqual(items.Count, tkd.Count);
        }