コード例 #1
0
        public void RunTest()
        {
            // context is null
            {
                string parameterName = "context";
                string innerMessage  =
                    ArgumentExceptionAssert.NullPartialMessage +
                    " (Parameter '" + parameterName + "')";

                var optimizer = new SystemPerformanceOptimizer();

                var sample = DoubleMatrix.Dense(1, 1);

                ExceptionAssert.InnerThrow(
                    () =>
                {
                    Reflector.ExecuteBaseMember(
                        obj: optimizer,
                        methodName: "Run",
                        methodArgs: new object[] { null, 1, .01 });
                },
                    expectedInnerType: typeof(ArgumentNullException),
                    expectedInnerMessage: innerMessage);
            }
        }
コード例 #2
0
        public void EvauatePerformancesTest()
        {
            // context is null
            {
                string parameterName = "context";
                string innerMessage  =
                    ArgumentExceptionAssert.NullPartialMessage +
                    " (Parameter '" + parameterName + "')";

                var optimizer = new SystemPerformanceOptimizer();

                var sample = DoubleMatrix.Dense(1, 1);

                ExceptionAssert.InnerThrow(
                    () =>
                {
                    Reflector.ExecuteBaseMember(
                        obj: optimizer,
                        methodName: "EvaluatePerformances",
                        methodArgs: new object[] { null, sample });
                },
                    expectedInnerType: typeof(ArgumentNullException),
                    expectedInnerMessage: innerMessage);
            }

            // sample is null
            {
                string parameterName = "sample";
                string innerMessage  =
                    ArgumentExceptionAssert.NullPartialMessage +
                    " (Parameter '" + parameterName + "')";

                var optimizer = new SystemPerformanceOptimizer();

                var context = TestableSystemPerformanceOptimizationContext00.Get().Context;

                ExceptionAssert.InnerThrow(
                    () =>
                {
                    Reflector.ExecuteBaseMember(
                        obj: optimizer,
                        methodName: "EvaluatePerformances",
                        methodArgs: new object[] { context, null });
                },
                    expectedInnerType: typeof(ArgumentNullException),
                    expectedInnerMessage: innerMessage);
            }

            // sample is not context compatible
            {
                string parameterName = "sample";

                string innerMessage =
                    ImplementationServices.GetResourceString(
                        "STR_EXCEPT_CEP_SAMPLE_IS_CONTEXT_INCOMPATIBLE") +
                    " (Parameter '" + parameterName + "')";

                var optimizer = new SystemPerformanceOptimizer();

                var context = TestableSystemPerformanceOptimizationContext00.Get().Context;

                ExceptionAssert.InnerThrow(
                    () =>
                {
                    Reflector.ExecuteBaseMember(
                        obj: optimizer,
                        methodName: "EvaluatePerformances",
                        methodArgs: new object[] {
                        context,
                        DoubleMatrix.Dense(1, context.StateDimension + 1)
                    });
                },
                    expectedInnerType: typeof(ArgumentException),
                    expectedInnerMessage: innerMessage);
            }
        }
コード例 #3
0
        public void SampleTest()
        {
            // context is null
            {
                string parameterName = "context";
                string innerMessage  =
                    ArgumentExceptionAssert.NullPartialMessage +
                    " (Parameter '" + parameterName + "')";

                var optimizer = new SystemPerformanceOptimizer();

                var parameter = DoubleMatrix.Dense(1, 1);

                ExceptionAssert.InnerThrow(
                    () =>
                {
                    Reflector.ExecuteBaseMember(
                        obj: optimizer,
                        methodName: "Sample",
                        methodArgs: new object[] { null, 1, parameter });
                },
                    expectedInnerType: typeof(ArgumentNullException),
                    expectedInnerMessage: innerMessage);
            }

            // parameter is null
            {
                string parameterName = "parameter";
                string innerMessage  =
                    ArgumentExceptionAssert.NullPartialMessage +
                    " (Parameter '" + parameterName + "')";

                var optimizer = new SystemPerformanceOptimizer();

                var context = TestableSystemPerformanceOptimizationContext00.Get().Context;

                ExceptionAssert.InnerThrow(
                    () =>
                {
                    Reflector.ExecuteBaseMember(
                        obj: optimizer,
                        methodName: "Sample",
                        methodArgs: new object[] { context, 1, null });
                },
                    expectedInnerType: typeof(ArgumentNullException),
                    expectedInnerMessage: innerMessage);
            }

            // sampleSize is zero
            {
                string parameterName = "sampleSize";
                string innerMessage  =
                    ImplementationServices.GetResourceString(
                        "STR_EXCEPT_PAR_MUST_BE_POSITIVE") +
                    " (Parameter '" + parameterName + "')";

                var optimizer = new SystemPerformanceOptimizer();

                var context = TestableSystemPerformanceOptimizationContext00.Get().Context;

                ExceptionAssert.InnerThrow(
                    () =>
                {
                    Reflector.ExecuteBaseMember(
                        obj: optimizer,
                        methodName: "Sample",
                        methodArgs: new object[] {
                        context,
                        0,
                        context.InitialParameter
                    });
                },
                    expectedInnerType: typeof(ArgumentOutOfRangeException),
                    expectedInnerMessage: innerMessage);
            }

            // sampleSize is negative
            {
                string parameterName = "sampleSize";
                string innerMessage  =
                    ImplementationServices.GetResourceString(
                        "STR_EXCEPT_PAR_MUST_BE_POSITIVE") +
                    " (Parameter '" + parameterName + "')";

                var optimizer = new SystemPerformanceOptimizer();

                var context = TestableSystemPerformanceOptimizationContext00.Get().Context;

                ExceptionAssert.InnerThrow(
                    () =>
                {
                    Reflector.ExecuteBaseMember(
                        obj: optimizer,
                        methodName: "Sample",
                        methodArgs: new object[] {
                        context,
                        -1,
                        context.InitialParameter
                    });
                },
                    expectedInnerType: typeof(ArgumentOutOfRangeException),
                    expectedInnerMessage: innerMessage);
            }

            // parameter is not context compatible: wrong number of rows
            {
                string parameterName = "parameter";
                string innerMessage  =
                    ImplementationServices.GetResourceString(
                        "STR_EXCEPT_CEP_PARAMETER_IS_CONTEXT_INCOMPATIBLE") +
                    " (Parameter '" + parameterName + "')";

                var optimizer = new SystemPerformanceOptimizer();

                var context = TestableSystemPerformanceOptimizationContext00.Get().Context;

                ExceptionAssert.InnerThrow(
                    () =>
                {
                    Reflector.ExecuteBaseMember(
                        obj: optimizer,
                        methodName: "Sample",
                        methodArgs: new object[] {
                        context,
                        1,
                        DoubleMatrix.Dense(
                            context.InitialParameter.NumberOfRows + 1,
                            context.InitialParameter.NumberOfColumns)
                    });
                },
                    expectedInnerType: typeof(ArgumentException),
                    expectedInnerMessage: innerMessage);
            }

            // parameter is not context compatible: wrong number of columns
            {
                string parameterName = "parameter";
                string innerMessage  =
                    ImplementationServices.GetResourceString(
                        "STR_EXCEPT_CEP_PARAMETER_IS_CONTEXT_INCOMPATIBLE") +
                    " (Parameter '" + parameterName + "')";

                var optimizer = new SystemPerformanceOptimizer();

                var context = TestableSystemPerformanceOptimizationContext00.Get().Context;

                ExceptionAssert.InnerThrow(
                    () =>
                {
                    Reflector.ExecuteBaseMember(
                        obj: optimizer,
                        methodName: "Sample",
                        methodArgs: new object[] {
                        context,
                        1,
                        DoubleMatrix.Dense(
                            context.InitialParameter.NumberOfRows,
                            context.InitialParameter.NumberOfColumns + 1)
                    });
                },
                    expectedInnerType: typeof(ArgumentException),
                    expectedInnerMessage: innerMessage);
            }
        }