示例#1
0
        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();
        }
示例#2
0
        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);
        }
示例#4
0
        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);
        }
示例#5
0
        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);
        }
示例#6
0
        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);
        }
示例#7
0
 /// <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;
 }