Esempio n. 1
0
        public void RemoveDecreasesSize()
        {
            var storage = new MdnnDoubleSample(Variables);

            storage.Remove(0);

            Assert.AreEqual(Variables - 1, storage.Variables);
        }
Esempio n. 2
0
        public void RemoveIndex0ShiftsAll()
        {
            var storage = new MdnnDoubleSample(Values);

            storage.Remove(0);

            Assert.AreEqual(Values[1], storage[0]);
        }
Esempio n. 3
0
        public void AddIncreasesSize()
        {
            var storage = new MdnnDoubleSample(Variables);

            storage.Add(0);

            Assert.AreEqual(Variables + 1, storage.Variables);
        }
Esempio n. 4
0
        public void GetMahalanobisDistanceComputesCorrectly(double[] sampleValues, double expectedMd)
        {
            var space  = new MdnnDoubleSpace(GetGoodSpaceData());
            var sample = new MdnnDoubleSample(sampleValues);

            var result = GetMahalanobisDistance(space, sample);

            Assert.IsTrue(Math.Abs(result - expectedMd) < 0.1);
        }
Esempio n. 5
0
        public void RemoveFromMiddleShiftsContents()
        {
            const int removeIndex = 3;
            var       storage     = new MdnnDoubleSample(Values);

            storage.Remove(removeIndex);

            Assert.AreEqual(Values[removeIndex + 1], storage[removeIndex]);
        }
Esempio n. 6
0
        public void AddToIndex0ShiftsContents()
        {
            var storage = new MdnnDoubleSample(Values);

            storage.Add(0, NewValue);

            Assert.AreEqual(NewValue, storage[0]);
            Assert.AreEqual(Values[0], storage[1]);
        }
Esempio n. 7
0
        public void CanAccessElementsViaSquareBrackets()
        {
            var storage = new MdnnDoubleSample(Variables)
            {
                [0] = Variables
            };

            Assert.AreEqual(Variables, storage[0]);
        }
Esempio n. 8
0
        public void AddToMiddleShiftsFollowingContents()
        {
            const int insertIndex = 3;
            var       storage     = new MdnnDoubleSample(Values);

            storage.Add(insertIndex, NewValue);

            Assert.AreEqual(NewValue, storage[insertIndex]);
            Assert.AreEqual(Values[insertIndex], storage[insertIndex + 1]);
        }
Esempio n. 9
0
        public void RemoveFromEndPreservesColumns()
        {
            const int removeIndex = 4;
            var       storage     = new MdnnDoubleSample(Values);

            storage.Remove(removeIndex);

            Assert.AreEqual(Values[0], storage[0]);
            Assert.AreEqual(Values[removeIndex - 1], storage[removeIndex - 1]);
        }
Esempio n. 10
0
        public void CalculateZCorrectlyDeterminesZeroZ()
        {
            var matrix = new double[, ] {
                { 0, 0, 0 }, { 0, 0, 0 }
            };
            var space = new MdnnDoubleSpace(matrix);

            var vector = new double[] { 0, 0, 0 };
            var sample = new MdnnDoubleSample(vector);

            var z = CalculateZ(space, sample);

            CollectionAssert.AreEqual(vector, z.Storage);
        }
Esempio n. 11
0
        public void MultiplyGetsCorrectResultForSpaceAndSample()
        {
            var values1 = new double[, ]
            {
                { 1, -1, 2 },
                { 0, -3, 1 }
            };
            var space = new MdnnDoubleSpace(values1);

            var values2 = new double[] { 2, 1 };
            var sample  = new MdnnDoubleSample(values2);

            var result = new MdnnDoubleMtsMathProvider().Multiply(sample, space);

            var expected = new double[] { 2, -5, 5 };

            CollectionAssert.AreEqual(expected, result.Storage);
        }
Esempio n. 12
0
        public void CanConstructUsingArray()
        {
            var storage = new MdnnDoubleSample(Values);

            Assert.AreEqual(Variables, storage.Variables);
        }
Esempio n. 13
0
        public void CanGetVariableCount()
        {
            var storage = new MdnnDoubleSample(Variables);

            Assert.AreEqual(Variables, storage.Variables);
        }