/// <summary> /// Tests an operation /// whose probabilities operand is set through a value represented by a <b>null</b> instance. /// </summary> /// <param name="operation">The operation to test.</param> public static void ProbabilitiesIsNull( AlongDimensionQuantileOperation <ArgumentNullException> operation) { var exception = operation.Expected; var data = DoubleMatrix.Dense(1, 3); Fail( operators: operation.DataWritableOps, data: data, probabilities: null, dataOperation: DataOperation.OnRows, exception: exception); Fail( operators: operation.DataReadOnlyOps, data: data.AsReadOnly(), probabilities: null, dataOperation: DataOperation.OnRows, exception: exception); }
/// <summary> /// Determines whether the specified operation fails as expected. /// </summary> /// <param name="operation">The operation to test.</param> public static void Fail <TException>( AlongDimensionQuantileOperation <TException> operation) where TException : Exception { var exception = operation.Expected; // Dense Fail( operators: operation.DataWritableOps, data: operation.Data.AsDense, probabilities: operation.Probabilities, dataOperation: operation.DataOperation, exception: exception); // Sparse Fail( operators: operation.DataWritableOps, data: operation.Data.AsSparse, probabilities: operation.Probabilities, dataOperation: operation.DataOperation, exception: exception); // Dense.AsReadOnly() Fail( operators: operation.DataReadOnlyOps, data: operation.Data.AsDense.AsReadOnly(), probabilities: operation.Probabilities, dataOperation: operation.DataOperation, exception: exception); // Sparse.AsReadOnly() Fail( operators: operation.DataReadOnlyOps, data: operation.Data.AsSparse.AsReadOnly(), probabilities: operation.Probabilities, dataOperation: operation.DataOperation, exception: exception); }
/// <summary> /// Determines whether the specified operation terminates successfully as expected. /// </summary> /// <param name="operation">The operation.</param> public static void Succeed( AlongDimensionQuantileOperation <DoubleMatrixState[]> operation) { var result = operation.Expected; // Dense Succeed( operators: operation.DataWritableOps, data: operation.Data.AsDense, probabilities: operation.Probabilities, dataOperation: operation.DataOperation, expected: result); // Sparse Succeed( operators: operation.DataWritableOps, data: operation.Data.AsSparse, probabilities: operation.Probabilities, dataOperation: operation.DataOperation, expected: result); // Dense.AsReadOnly() Succeed( operators: operation.DataReadOnlyOps, data: operation.Data.AsDense.AsReadOnly(), probabilities: operation.Probabilities, dataOperation: operation.DataOperation, expected: result); // Sparse.AsReadOnly() Succeed( operators: operation.DataReadOnlyOps, data: operation.Data.AsSparse.AsReadOnly(), probabilities: operation.Probabilities, dataOperation: operation.DataOperation, expected: result); }