Esempio n. 1
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();
        }
Esempio n. 2
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);
        }
Esempio n. 3
0
        /// <summary>
        /// get a updated datatuple on a specific value.
        /// based on the created test datastructure
        /// index:
        /// 0 = int
        /// 1 = text
        /// 2 = double
        /// 3 = bool
        /// 4 = datetime
        /// </summary>
        /// <param name="source"></param>
        /// <param name="updateVarIndex"></param>
        /// <param name="datasetManager"></param>
        /// <returns></returns>
        public DataTuple  GetUpdatedDatatuple(DataTuple source, int updateVarIndex)
        {
            if (source == null)
            {
                return(null);
            }

            source.Materialize();

            var vv = source.VariableValues[updateVarIndex];

            if (vv != null)
            {
                switch (updateVarIndex)
                {
                case 0:    //int
                {
                    vv.Value = new Random().Next();

                    break;
                }

                case 1:    //text
                {
                    var chars       = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
                    var stringChars = new char[8];
                    var random      = new Random();

                    for (int i = 0; i < stringChars.Length; i++)
                    {
                        stringChars[i] = chars[random.Next(chars.Length)];
                    }

                    vv.Value = new String(stringChars);

                    break;
                }

                case 2:    //double
                {
                    vv.Value = new Random().NextDouble();

                    break;
                }

                case 3:    //bool
                {
                    vv.Value = false;

                    break;
                }

                case 4:
                {
                    vv.Value = DateTime.Now.ToString(new CultureInfo("en-US"));

                    break;
                }

                    //default:
                }
            }
            source.Dematerialize();
            source.Should().NotBeNull();

            return(source);
        }
Esempio n. 4
0
        public Dataset UpdateOneTupleForDataset(Dataset dataset, StructuredDataStructure dataStructure, long id, int value, DatasetManager datasetManager)
        {
            dataset.Status.Should().Be(DatasetStatus.CheckedIn);
            dataset.Should().NotBeNull();

            try
            {
                if (datasetManager.IsDatasetCheckedOutFor(dataset.Id, "David") || datasetManager.CheckOutDataset(dataset.Id, "David"))
                {
                    dataset.Status.Should().Be(DatasetStatus.CheckedOut, "Dataset must be in Checkedout status.");

                    DatasetVersion workingCopy = datasetManager.GetDatasetWorkingCopy(dataset.Id);

                    DataTuple oldDt = datasetManager.DataTupleRepo.Get(id);

                    DataTuple dt = new DataTuple();
                    dt.VariableValues.Add(new VariableValue()
                    {
                        VariableId = dataStructure.Variables.First().Id, Value = value
                    });
                    dt.VariableValues.Add(new VariableValue()
                    {
                        VariableId = dataStructure.Variables.Skip(1).First().Id, Value = "Test"
                    });
                    dt.VariableValues.Add(new VariableValue()
                    {
                        VariableId = dataStructure.Variables.Skip(2).First().Id, Value = 5
                    });
                    dt.VariableValues.Add(new VariableValue()
                    {
                        VariableId = dataStructure.Variables.Skip(3).First().Id, Value = true
                    });
                    dt.VariableValues.Add(new VariableValue()
                    {
                        VariableId = dataStructure.Variables.Skip(4).First().Id, Value = DateTime.Now.ToString(new CultureInfo("en-US"))
                    });
                    dt.Dematerialize();

                    dt.Should().NotBeNull();
                    dt.JsonVariableValues.Should().NotBeNull();

                    List <DataTuple> tuples = new List <DataTuple>();


                    DataTuple newDt = new DataTuple();
                    newDt.Id                 = id;
                    newDt.XmlAmendments      = dt.XmlAmendments;
                    newDt.JsonVariableValues = dt.JsonVariableValues;
                    newDt.Materialize();
                    newDt.OrderNo = oldDt.OrderNo;
                    tuples.Add(newDt);

                    datasetManager.EditDatasetVersion(workingCopy, null, tuples, null);
                    dataset.Status.Should().Be(DatasetStatus.CheckedOut, "Dataset must be in Checkedout status.");
                }
                return(dataset);
            }
            catch (Exception ex)
            {
                return(null);
            }
        }
Esempio n. 5
0
        public Dataset GenerateTuplesWithRandomValuesForDataset(Dataset dataset, StructuredDataStructure dataStructure, long numberOfTuples, string username)
        {
            dataset.Status.Should().Be(DatasetStatus.CheckedIn);
            dataset.Should().NotBeNull();
            numberOfTuples.Should().BeGreaterThan(0);

            var r = new Random();

            DatasetManager dm = new DatasetManager();

            try
            {
                if (dm.IsDatasetCheckedOutFor(dataset.Id, username) || dm.CheckOutDataset(dataset.Id, username))
                {
                    dataset.Status.Should().Be(DatasetStatus.CheckedOut, "Dataset must be in Checkedout status.");

                    DatasetVersion workingCopy = dm.GetDatasetWorkingCopy(dataset.Id);



                    List <DataTuple> tuples = new List <DataTuple>();

                    for (int i = 0; i < numberOfTuples; i++)
                    {
                        DataTuple dt = new DataTuple();
                        dt.VariableValues.Add(new VariableValue()
                        {
                            VariableId = dataStructure.Variables.First().Id, Value = r.Next()
                        });
                        dt.VariableValues.Add(new VariableValue()
                        {
                            VariableId = dataStructure.Variables.Skip(1).First().Id, Value = "Test"
                        });
                        dt.VariableValues.Add(new VariableValue()
                        {
                            VariableId = dataStructure.Variables.Skip(2).First().Id, Value = Convert.ToDouble(r.Next())
                        });
                        dt.VariableValues.Add(new VariableValue()
                        {
                            VariableId = dataStructure.Variables.Skip(3).First().Id, Value = true
                        });
                        dt.VariableValues.Add(new VariableValue()
                        {
                            VariableId = dataStructure.Variables.Skip(4).First().Id, Value = "01.01.2017"
                        });
                        dt.Dematerialize();

                        dt.Should().NotBeNull();
                        //dt.XmlVariableValues.Should().NotBeNull();

                        DataTuple newDt = new DataTuple();
                        newDt.XmlAmendments = dt.XmlAmendments;
                        //newDt.XmlVariableValues = dt.XmlVariableValues;
                        newDt.JsonVariableValues = dt.JsonVariableValues;
                        newDt.Materialize();
                        newDt.OrderNo = i;
                        tuples.Add(newDt);
                    }
                    dm.EditDatasetVersion(workingCopy, tuples, null, null);
                    dataset.Status.Should().Be(DatasetStatus.CheckedOut, "Dataset must be in Checkedout status.");
                }
                return(dataset);
            }
            catch (Exception ex)
            {
                return(null);
            }
            finally
            {
                dm.Dispose();
            }
        }