Esempio n. 1
0
        public void TestOrderedValues()
        {
            int i;
            int sz = 100;
            LinkedHashMap <Object, Object> lhm = new LinkedHashMap <Object, Object>();

            for (i = 0; i < sz; i++)
            {
                lhm.Put(i, (i * 2));
            }

            Collection <Object> s1  = lhm.Values();
            Iterator <Object>   it1 = s1.Iterator();

            Assert.IsTrue(lhm.Size() == s1.Size(), "Returned set of incorrect Size 1");
            for (i = 0; it1.HasNext; i++)
            {
                int jj = (int)it1.Next();
                Assert.IsTrue(jj == i * 2, "Returned incorrect entry set 1");
            }

            LinkedHashMap <Object, Object> lruhm = new LinkedHashMap <Object, Object>(200, .75f, true);

            for (i = 0; i < sz; i++)
            {
                lruhm.Put(i, (i * 2));
            }

            Collection <Object> s3  = lruhm.Values();
            Iterator <Object>   it3 = s3.Iterator();

            Assert.IsTrue(lruhm.Size() == s3.Size(), "Returned set of incorrect Size");
            for (i = 0; i < sz && it3.HasNext; i++)
            {
                int jj = (int)it3.Next();
                Assert.IsTrue(jj == i * 2, "Returned incorrect entry set");
            }

            // fetch the even numbered entries to affect traversal order
            int p = 0;

            for (i = 0; i < sz; i += 2)
            {
                int ii = (int)lruhm.Get(i);
                p = p + ii;
            }

            Assert.IsTrue(p == 2450 * 2, "invalid sum of even numbers");

            Collection <Object> s2  = lruhm.Values();
            Iterator <Object>   it2 = s2.Iterator();

            Assert.IsTrue(lruhm.Size() == s2.Size(), "Returned set of incorrect Size");
            for (i = 1; i < sz && it2.HasNext; i += 2)
            {
                int jj = (int)it2.Next();
                Assert.IsTrue(jj == i * 2, "Returned incorrect entry set");
            }

            for (i = 0; i < sz && it2.HasNext; i += 2)
            {
                int jj = (int)it2.Next();
                Assert.IsTrue(jj == i * 2, "Returned incorrect entry set");
            }

            Assert.IsTrue(!it2.HasNext, "Entries left to iterate on");
        }
Esempio n. 2
0
        public void TestConstructor()
        {
            LinkedHashMap <Object, Object> hm2 = new LinkedHashMap <Object, Object>();

            Assert.AreEqual(0, hm2.Size(), "Created incorrect LinkedHashMap");
        }
Esempio n. 3
0
        public void TestOrderedKeySet()
        {
            int i;
            int sz = 100;
            LinkedHashMap <Object, Object> lhm = new LinkedHashMap <Object, Object>();

            for (i = 0; i < sz; i++)
            {
                lhm.Put(i, i.ToString());
            }

            Set <Object>      s1  = lhm.KeySet();
            Iterator <Object> it1 = s1.Iterator();

            Assert.IsTrue(lhm.Size() == s1.Size(), "Returned set of incorrect Size");
            for (i = 0; it1.HasNext; i++)
            {
                int jj = (int)it1.Next();
                Assert.IsTrue(jj == i, "Returned incorrect entry set");
            }

            LinkedHashMap <Object, Object> lruhm = new LinkedHashMap <Object, Object>(200, .75f, true);

            for (i = 0; i < sz; i++)
            {
                lruhm.Put(i, i.ToString());
            }

            Set <Object>      s3  = lruhm.KeySet();
            Iterator <Object> it3 = s3.Iterator();

            Assert.IsTrue(lruhm.Size() == s3.Size(), "Returned set of incorrect Size");
            for (i = 0; i < sz && it3.HasNext; i++)
            {
                int jj = (int)it3.Next();
                Assert.IsTrue(jj == i, "Returned incorrect entry set");
            }

            /* fetch the even numbered entries to affect traversal order */
            int p = 0;

            for (i = 0; i < sz; i += 2)
            {
                String ii = (String)lruhm.Get(i);
                p = p + Int32.Parse(ii);
            }

            Assert.AreEqual(2450, p, "invalid sum of even numbers");

            Set <Object>      s2  = lruhm.KeySet();
            Iterator <Object> it2 = s2.Iterator();

            Assert.IsTrue(lruhm.Size() == s2.Size(), "Returned set of incorrect Size");
            for (i = 1; i < sz && it2.HasNext; i += 2)
            {
                int jj = (int)it2.Next();
                Assert.IsTrue(jj == i, "Returned incorrect entry set");
            }

            for (i = 0; i < sz && it2.HasNext; i += 2)
            {
                int jj = (int)it2.Next();
                Assert.IsTrue(jj == i, "Returned incorrect entry set");
            }

            Assert.IsTrue(!it2.HasNext, "Entries left to iterate on");
        }