public SerializableErrorMetric(ErrorMetric.Configuration configuration)
     : this(
         AggregationMethodToString(configuration.AggregationMethod),
         DistanceMethodToString(configuration.DistanceMetric),
         NormalizePointsToInt(configuration.NormalizePoints))
 {
 }
        public void Init()
        {
            ErrorMetric.Configuration configuration = new ErrorMetric.Configuration(
                distanceMetric: DistanceMetrics.SquaredEuclidean,
                aggregationMethod: AggregationMethods.Sum,
                normalizePoints: false
                );

            errorMetric = new ErrorMetric(configuration);
        }
        public void Test_Equals_NotEqual_Normalization()
        {
            ErrorMetric.Configuration thisConfig = new ErrorMetric.Configuration(
                distanceMetric: DistanceMetrics.PointToPlane,
                normalizePoints: true,
                aggregationMethod: AggregationMethods.Sum
                );

            ErrorMetric.Configuration otherConfig = new ErrorMetric.Configuration(
                distanceMetric: DistanceMetrics.PointToPlane,
                normalizePoints: false,
                aggregationMethod: AggregationMethods.Sum
                );
            Assert.IsFalse(thisConfig.Equals(otherConfig));
            Assert.IsFalse(otherConfig.Equals(thisConfig));
            Assert.AreNotEqual(thisConfig.GetHashCode(), otherConfig.GetHashCode());
        }