示例#1
0
        public void ReadRow_textWithWhitspaceAtBeginningandEnd_WithspaceRemoved(string rowString)
        {
            //preperation
            List <string> row = new List <string>(rowString.Split('|'));

            //Mock IOUtility -> ConvertDateToCulture
            var ioUtilityMock = new Mock <IOUtility>();

            ioUtilityMock.Setup(i => i.ConvertDateToCulture("2018")).Returns("2018");

            //Mock datasetManager -> CreateVariableValue
            var datasetManagerMock = new Mock <DatasetManager>();

            datasetManagerMock.Setup(d => d.CreateVariableValue("", "", DateTime.Now, DateTime.Now, new ObtainingMethod(), 1, new List <ParameterValue>())).Returns(
                new VariableValue()
            {
                Value           = "",
                Note            = "",
                SamplingTime    = DateTime.Now,
                ResultTime      = DateTime.Now,
                ObtainingMethod = new ObtainingMethod(),
                VariableId      = 1,
                ParameterValues = new List <ParameterValue>()
            }
                );

            //prepare the variables
            DataReader                reader              = new AsciiReader(dataStructure, new AsciiFileReaderInfo(), ioUtilityMock.Object);
            IEnumerable <string>      vairableNames       = dataStructure.Variables.Select(v => v.Label);
            List <VariableIdentifier> variableIdentifiers = reader.SetSubmitedVariableIdentifiers(vairableNames.ToList());

            List <Error> errors = reader.ValidateComparisonWithDatatsructure(variableIdentifiers);

            errors.Should().BeNull();

            //test
            DataTuple dt = reader.ReadRow(new List <string>(row), 1);


            var v1 = dt.VariableValues[0].Value.ToString();
            var v2 = dt.VariableValues[1].Value.ToString();
            var v3 = dt.VariableValues[2].Value.ToString();
            var v4 = dt.VariableValues[3].Value.ToString();


            Assert.That(v1, Is.EqualTo("1"));
            Assert.That(v2, Is.EqualTo("test"));
            Assert.That(v3, Is.EqualTo("2.2"));
            Assert.That(v4, Is.EqualTo("true"));

            //Assert.Throws<Exception>(() => reader.ReadRow(new List<string>(row), 1));
        }
示例#2
0
        public void ValidateComparisonWithDatatstructureVariablNotExistTest(string variableRowString)
        {
            //preperation
            List <string> variableRow = new List <string>(variableRowString.Split('|'));

            //prepare the variables
            DataReader reader = new AsciiReader(dataStructure, new AsciiFileReaderInfo());
            List <VariableIdentifier> variableIdentifiers = reader.SetSubmitedVariableIdentifiers(variableRow.ToList());

            //test
            List <Error> errors = reader.ValidateComparisonWithDatatsructure(variableIdentifiers);

            //asserts
            errors.Should().NotBeNull();
            errors.Count.Should().Equals(1);
        }
示例#3
0
        public void ValidateComparisonWithDatatstructureTest(string variableRowString)
        {
            //preperation
            List <string> variableRow = new List <string>(variableRowString.Split('|'));

            //prepare the variables
            DataReader                reader              = new AsciiReader(dataStructure, new AsciiFileReaderInfo());
            IEnumerable <string>      vairableNames       = dataStructure.Variables.Select(v => v.Label);
            List <VariableIdentifier> variableIdentifiers = reader.SetSubmitedVariableIdentifiers(vairableNames.ToList());

            //test
            List <Error> errors = reader.ValidateComparisonWithDatatsructure(variableIdentifiers);

            //asserts
            errors.Should().BeNull();
        }
示例#4
0
        public void ReadRowLessValuesTest(string rowString)
        {
            //preperation
            List <string> row = new List <string>(rowString.Split('|'));

            //Mock IOUtility
            var ioUtilityMock = new Mock <IOUtility>();

            ioUtilityMock.Setup(i => i.ConvertDateToCulture("2018")).Returns("2018");

            //prepare the variables
            DataReader           reader        = new AsciiReader(dataStructure, new AsciiFileReaderInfo(), ioUtilityMock.Object);
            IEnumerable <string> vairableNames = dataStructure.Variables.Select(v => v.Label);

            reader.SetSubmitedVariableIdentifiers(vairableNames.ToList());

            Assert.Throws <Exception>(() => reader.ReadRow(new List <string>(row), 1));
        }
示例#5
0
        public void ReadRow_RowIsNullTest_DataTupleIsNull()
        {
            //Mock IOUtility
            var ioUtilityMock = new Mock <IOUtility>();

            ioUtilityMock.Setup(i => i.ConvertDateToCulture("2018")).Returns("2018");

            //prepare the variables
            DataReader           reader        = new AsciiReader(dataStructure, new AsciiFileReaderInfo(), ioUtilityMock.Object);
            IEnumerable <string> vairableNames = dataStructure.Variables.Select(v => v.Label);

            reader.SetSubmitedVariableIdentifiers(vairableNames.ToList());

            //test
            DataTuple dt = reader.ReadRow(null, 1);

            //asserts
            dt.Should().BeNull();
        }
示例#6
0
        public void ReadRow_ValidRowTest_DataTupleIsValid(string rowString)
        {
            //preperation
            List <string> row = new List <string>(rowString.Split('|'));

            //Mock IOUtility -> ConvertDateToCulture
            var ioUtilityMock = new Mock <IOUtility>();

            ioUtilityMock.Setup(i => i.ConvertDateToCulture("2018")).Returns("2018");

            //Mock datasetManager -> CreateVariableValue
            var datasetManagerMock = new Mock <DatasetManager>();

            datasetManagerMock.Setup(d => d.CreateVariableValue("", "", DateTime.Now, DateTime.Now, new ObtainingMethod(), 1, new List <ParameterValue>())).Returns(
                new VariableValue()
            {
                Value           = "",
                Note            = "",
                SamplingTime    = DateTime.Now,
                ResultTime      = DateTime.Now,
                ObtainingMethod = new ObtainingMethod(),
                VariableId      = 1,
                ParameterValues = new List <ParameterValue>()
            }
                );

            //prepare the variables
            DataReader                reader              = new AsciiReader(dataStructure, new AsciiFileReaderInfo(), ioUtilityMock.Object);
            IEnumerable <string>      vairableNames       = dataStructure.Variables.Select(v => v.Label);
            List <VariableIdentifier> variableIdentifiers = reader.SetSubmitedVariableIdentifiers(vairableNames.ToList());

            List <Error> errors = reader.ValidateComparisonWithDatatsructure(variableIdentifiers);

            errors.Should().BeNull();

            //test
            DataTuple dt = reader.ReadRow(new List <string>(row), 1);

            //asserts
            dt.Should().NotBeNull();
            dt.VariableValues.Count.Should().Equals(row.Count);
        }
示例#7
0
        public void ValidateRow_ValidRowTest_NoErrors(string rowString)
        {
            //preperation
            List <string> row = new List <string>(rowString.Split('|'));

            //Mock IOUtility
            var ioUtilityMock = new Mock <IOUtility>();

            ioUtilityMock.Setup(i => i.ConvertDateToCulture("2018")).Returns("2018");

            //prepare the variables
            DataReader           reader        = new AsciiReader(dataStructure, new AsciiFileReaderInfo(), ioUtilityMock.Object);
            IEnumerable <string> vairableNames = dataStructure.Variables.Select(v => v.Label);

            reader.SetSubmitedVariableIdentifiers(vairableNames.ToList());

            //test
            List <Error> errors = reader.ValidateRow(new List <string>(row), 1);

            //asserts
            errors.Should().NotBeNull();
            errors.Count.Should().Equals(0);
        }
示例#8
0
        public void ValidateRow_runValid_noErrors()
        {
            //Arrange

            DataGeneratorHelper dgh = new DataGeneratorHelper();
            var errors   = new List <Error>();
            var testData = dgh.GenerateRowsWithRandomValuesBasedOnDatastructure(dataStructure, ",", 1000, true);

            //generate file to read
            Encoding encoding = Encoding.Default;
            string   path     = Path.Combine(AppConfiguration.DataPath, "testdataforvalidation.txt");

            if (File.Exists(path))
            {
                File.Delete(path);
            }

            using (StreamWriter sw = new StreamWriter(path))
            {
                foreach (var r in testData)
                {
                    sw.WriteLine(r);
                }
            }

            //Mock IOUtility
            var ioUtilityMock = new Mock <IOUtility>();

            ioUtilityMock.Setup(i => i.ConvertDateToCulture("2018")).Returns("2018");
            try
            {
                AsciiFileReaderInfo afr = new AsciiFileReaderInfo();
                afr.TextMarker = TextMarker.doubleQuotes;
                afr.Seperator  = TextSeperator.comma;

                DataReader                reader              = new AsciiReader(dataStructure, new AsciiFileReaderInfo(), ioUtilityMock.Object);
                IEnumerable <string>      vairableNames       = dataStructure.Variables.Select(v => v.Label);
                List <VariableIdentifier> variableIdentifiers = reader.SetSubmitedVariableIdentifiers(vairableNames.ToList());
                reader.ValidateComparisonWithDatatsructure(variableIdentifiers);


                var asciireader = (AsciiReader)reader;
                //Act
                var row = new List <string>();

                using (StreamReader streamReader = new StreamReader(path, encoding))
                {
                    string line;
                    int    index     = 1;
                    char   seperator = AsciiFileReaderInfo.GetSeperator(afr.Seperator);

                    while ((line = streamReader.ReadLine()) != null)
                    {
                        row    = asciireader.rowToList(line, ',');
                        errors = asciireader.ValidateRow(row, index);

                        index++;
                    }
                }


                //Assert
                Assert.That(errors.Count, Is.EqualTo(0));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }