Exemple #1
0
        static void IndexOfTestSub(bool trackFree)
        {
            const int size = 50;

            var d = new DArray <object>(trackFree);

            for (var i = 0; i < size; i++)
            {
                d[i] = new object();
            }

            for (var i = 0; i < size; i++)
            {
                Assert.AreEqual(i, d.IndexOf(d[i]));
            }
        }
Exemple #2
0
        static void IndexOfValueTypeTestSub(bool trackFree)
        {
            const int size = 50;

            var d = new DArray <int>(trackFree);

            for (var i = 0; i < size; i++)
            {
                d[i] = i * 4;
            }

            for (var i = 0; i < size; i++)
            {
                Assert.AreEqual(i, d.IndexOf(d[i]));
            }
        }
Exemple #3
0
        static void EnumerateTestSub(bool trackFree)
        {
            const int size = 100;

            var objs = new object[size];

            for (var i = 0; i < size; i++)
            {
                if ((i % 2) == 0)
                {
                    objs[i] = new object();
                }
            }

            var d = new DArray <object>(size * 2, trackFree);

            for (var i = 0; i < size; i++)
            {
                if (objs[i] != null)
                {
                    d[i] = objs[i];
                }
            }

            foreach (var obj in d)
            {
                var i = d.IndexOf(obj);

                Assert.IsNotNull(obj);
                Assert.AreSame(objs[i], obj);
                Assert.AreSame(objs[i], d[i]);

                objs[i] = null;
            }

            var remainingObjs = objs.Where(obj => obj != null).Count();

            Assert.AreEqual(0, remainingObjs,
                            "One or more items failed to be enumerated since all enumerated " + "items should have been removed from objs[].");
        }
Exemple #4
0
        static void IndexOfValueTypeTestSub(bool trackFree)
        {
            const int size = 50;

            var d = new DArray<int>(trackFree);
            for (var i = 0; i < size; i++)
            {
                d[i] = i * 4;
            }

            for (var i = 0; i < size; i++)
            {
                Assert.AreEqual(i, d.IndexOf(d[i]));
            }
        }
Exemple #5
0
        static void IndexOfTestSub(bool trackFree)
        {
            const int size = 50;

            var d = new DArray<object>(trackFree);
            for (var i = 0; i < size; i++)
            {
                d[i] = new object();
            }

            for (var i = 0; i < size; i++)
            {
                Assert.AreEqual(i, d.IndexOf(d[i]));
            }
        }
Exemple #6
0
        static void EnumerateValueTypeTestSub(bool trackFree)
        {
            const int size = 100;

            var objs = new int[size];
            for (var i = 0; i < size; i++)
            {
                objs[i] = i * 4;
            }

            var d = new DArray<int>(size * 2, trackFree);
            for (var i = 0; i < size; i++)
            {
                d[i] = objs[i];
            }

            foreach (var obj in d)
            {
                var i = d.IndexOf(obj);

                Assert.AreEqual(objs[i], obj);
                Assert.AreEqual(objs[i], d[i]);

                objs[i] = -1;
            }

            var remainingObjs = objs.Where(obj => obj != -1).Count();
            Assert.AreEqual(0, remainingObjs,
                "One or more items failed to be enumerated since all enumerated " + "items should be equal to -1.");
        }
Exemple #7
0
        static void EnumerateTestSub(bool trackFree)
        {
            const int size = 100;

            var objs = new object[size];
            for (var i = 0; i < size; i++)
            {
                if ((i % 2) == 0)
                    objs[i] = new object();
            }

            var d = new DArray<object>(size * 2, trackFree);
            for (var i = 0; i < size; i++)
            {
                if (objs[i] != null)
                    d[i] = objs[i];
            }

            foreach (var obj in d)
            {
                var i = d.IndexOf(obj);

                Assert.IsNotNull(obj);
                Assert.AreSame(objs[i], obj);
                Assert.AreSame(objs[i], d[i]);

                objs[i] = null;
            }

            var remainingObjs = objs.Where(obj => obj != null).Count();
            Assert.AreEqual(0, remainingObjs,
                "One or more items failed to be enumerated since all enumerated " + "items should have been removed from objs[].");
        }