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(); }
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); }
/// <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); }
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); } }
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(); } }