예제 #1
0
        public void EuclideanMetric_Dist_Validation()
        {
            var metric = new EuclideanMetric();
            var p1     = new double[] { 1.0F, 0.0F };
            var p2     = new double[] { 0.0F, 1.0F, 3.0F };

            metric.Dist(p1, p2);
        }
예제 #2
0
        public void EuclideanMetric_Dist_Test()
        {
            var metric = new EuclideanMetric();
            var p1     = new double[] { 1.0F, 0.0F };
            var p2     = new double[] { 0.0F, 1.0F };
            var p3     = new double[] { 1.0F, 3.0F };

            var d12 = metric.Dist(p1, p2);
            var d21 = metric.Dist(p2, p1);
            var d13 = metric.Dist(p1, p3);
            var d31 = metric.Dist(p3, p1);
            var d23 = metric.Dist(p2, p3);
            var d32 = metric.Dist(p3, p2);

            Assert.AreEqual(Math.Sqrt(2), d12, EPS);
            Assert.AreEqual(Math.Sqrt(2), d21, EPS);
            Assert.AreEqual(3.0F, d13, EPS);
            Assert.AreEqual(3.0F, d31, EPS);
            Assert.AreEqual(Math.Sqrt(5), d32, EPS);
            Assert.AreEqual(Math.Sqrt(5), d23, EPS);
        }