public void Should_SerializeToJson_ForStandardInput() { //arrange int dimensions = 2; IJsonSerializationProvider jsonSerializationProvider = A.Fake <IJsonSerializationProvider>(); IMatrixProvider matrixProvider = new MatrixProvider(jsonSerializationProvider, dimensions); //act matrixProvider.SerializeToJson(); //assert A.CallTo(() => jsonSerializationProvider.Serialize(null)).WithAnyArguments().MustHaveHappened(); }
public void Should_GetDimensions_ForStandardInput() { //arrange int dimensions = 2; IJsonSerializationProvider jsonSerializationProvider = A.Fake <IJsonSerializationProvider>(); IMatrixProvider matrixProvider = new MatrixProvider(jsonSerializationProvider, dimensions); //act double actualOutput = matrixProvider.GetDimensions(); //assert actualOutput.Should().Be(dimensions); }
public void Should_GetValue_ForStandardInput() { //arrange int dimensions = 2; double expectedOutput = 2; IJsonSerializationProvider jsonSerializationProvider = A.Fake <IJsonSerializationProvider>(); IMatrixProvider matrixProvider = new MathDotNetSparseMatrixProvider(jsonSerializationProvider, dimensions); //act double actualOutput = matrixProvider.GetValue(0, 0); //assert actualOutput.Should().Be(expectedOutput); }
public void Should_ConstructMatrixProvider_ForStandardInput() { //arrange int dimensions = 2; IJsonSerializationProvider jsonSerializationProvider = A.Fake <IJsonSerializationProvider>(); //act IMatrixProvider matrixProvider = new MatrixProvider(jsonSerializationProvider, dimensions); //assert matrixProvider.GetValue(0, 0).Should().Be(2); matrixProvider.GetValue(0, 1).Should().Be(0); matrixProvider.GetValue(1, 0).Should().Be(0); matrixProvider.GetValue(1, 1).Should().Be(2); }
public void Should_SetValue_ForStandardInput() { //arrange int dimensions = 2; double newValue = 5; IJsonSerializationProvider jsonSerializationProvider = A.Fake <IJsonSerializationProvider>(); IMatrixProvider matrixProvider = new MatrixProvider(jsonSerializationProvider, dimensions); matrixProvider.SetValue(0, 0, newValue); //act double actualOutput = matrixProvider.GetValue(0, 0); //assert actualOutput.Should().Be(newValue); }
public void Should_LowerUpperFactorization_ForStandardInput() { //arrange int dimensions = 2; double[] ratings = new double[] { 0.5, 0.5 }; double[] expectedOutput = new double[] { 0.25, 0.25 }; IJsonSerializationProvider jsonSerializationProvider = A.Fake <IJsonSerializationProvider>(); IMatrixProvider matrixProvider = new MatrixProvider(jsonSerializationProvider, dimensions); //act matrixProvider.SerializeToJson(); IEnumerable <double> actualOutput = matrixProvider.LowerUpperFactorizeAndSolve(ratings); //assert actualOutput.Should().BeEquivalentTo(expectedOutput); }
/// <summary> /// Constructor for MathDotNetSparseMatrixProvider; initializes the sparse matrix such that M[i][i] = 2 + n /// </summary> /// <param name="jsonSerializationProvider">Serialization provider</param> /// <param name="dimensions">Number of rows and columns</param> public MathDotNetSparseMatrixProvider(IJsonSerializationProvider jsonSerializationProvider, int dimensions) { _jsonSerializationProvider = jsonSerializationProvider; _dimensions = dimensions; _sparseMatrix = SparseMatrix.CreateDiagonal(_dimensions, _dimensions, 2); }
/// <summary> /// HTTP provider constructor /// </summary> /// <param name="jsonSerializationProvider">JSON serialization provider</param> public SystemDotNetHttpProvider(IJsonSerializationProvider jsonSerializationProvider) { _httpClient = new HttpClient(); _jsonSerializationProvider = jsonSerializationProvider; }