public void RemoveDecreasesSize() { var storage = new MdnnDoubleSample(Variables); storage.Remove(0); Assert.AreEqual(Variables - 1, storage.Variables); }
public void RemoveIndex0ShiftsAll() { var storage = new MdnnDoubleSample(Values); storage.Remove(0); Assert.AreEqual(Values[1], storage[0]); }
public void AddIncreasesSize() { var storage = new MdnnDoubleSample(Variables); storage.Add(0); Assert.AreEqual(Variables + 1, storage.Variables); }
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); }
public void RemoveFromMiddleShiftsContents() { const int removeIndex = 3; var storage = new MdnnDoubleSample(Values); storage.Remove(removeIndex); Assert.AreEqual(Values[removeIndex + 1], storage[removeIndex]); }
public void AddToIndex0ShiftsContents() { var storage = new MdnnDoubleSample(Values); storage.Add(0, NewValue); Assert.AreEqual(NewValue, storage[0]); Assert.AreEqual(Values[0], storage[1]); }
public void CanAccessElementsViaSquareBrackets() { var storage = new MdnnDoubleSample(Variables) { [0] = Variables }; Assert.AreEqual(Variables, storage[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]); }
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]); }
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); }
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); }
public void CanConstructUsingArray() { var storage = new MdnnDoubleSample(Values); Assert.AreEqual(Variables, storage.Variables); }
public void CanGetVariableCount() { var storage = new MdnnDoubleSample(Variables); Assert.AreEqual(Variables, storage.Variables); }