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); } }
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); } }
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); } }