示例#1
0
        public void GetInitialData_ReturnsDictionary_IfValidationSucceeded()
        {
            // Arrange
            _filePathProviderMock.Stub(x => x.FilePath).Return(_csvFilePath);
            var expectedParsingResult = new List <string[]>
            {
                new [] { "I1_1", "55", "0.1" },
                new [] { "I1_2", "10.5", "0.1" },
                new [] { "Init3", "0.55", "0.1" },
                new [] { "Init4", "1", "0.1" },
                new [] { "Init5", "2", "0.1" }
            };

            _csvParserMock.Stub(x => x.ParseFile(_csvFilePath)).Return(expectedParsingResult);
            var expectedValidationResult = ValidationOperationResult.Success();

            _validatorMock.Stub(x => x.Validate(Arg <List <string[]> > .Is.Anything)).Return(expectedValidationResult);
            var expectedData = new List <InitialData>
            {
                new InitialData("I1_1", 55, 0.1),
                new InitialData("I1_2", 10.5, 0.1),
                new InitialData("Init3", 0.55, 0.1),
                new InitialData("Init4", 1, 0.1),
                new InitialData("Init5", 2, 0.1)
            };
            var expectedResult = Optional <List <InitialData> > .For(expectedData);

            // Act
            var actualResult = _csvDataProvider.GetInitialData();

            // Assert
            Assert.IsTrue(actualResult.IsPresent);
            Assert.AreEqual(expectedResult.Value.Count, actualResult.Value.Count);
            for (var i = 0; i < actualResult.Value.Count; i++)
            {
                Assert.IsTrue(ObjectComparer.InitialDatasAreEqual(expectedResult.Value[i], actualResult.Value[i]));
            }
            _validationOperationResultLoggerMock.AssertWasNotCalled(x => x.LogValidationOperationResultMessages(expectedValidationResult));
        }