public override bool CompareTargetDataToDb(string key, string fileName = null, Table tableData = null, TestDataResultOperationType operationType = default) { var featureTestData = GenerateDataFromTable(tableData); var fileTestData = GenerateDataFromFile(fileName, key); var allBreaks = _breakRepository.GetAll().ToList(); switch (operationType) { case TestDataResultOperationType.Add: { featureTestData.AddRange(fileTestData); if (allBreaks.Count != featureTestData.Count) { return(false); } foreach (var entity in featureTestData) { if (allBreaks.Count(c => c.ExternalBreakRef == entity.ExternalBreakRef) != 1) { return(false); } var storedBreak = allBreaks.FirstOrDefault(c => c.ExternalBreakRef == entity.ExternalBreakRef); if (!CompareBreak(entity, storedBreak)) { return(false); } } var resultSchedules = TestDataImporter.GetDataFromFile <Schedule>(fileName, "Schedules").ToList(); var allSchedules = _scheduleRepository.GetAll().ToList(); if (allSchedules.Count != resultSchedules.Count) { return(false); } foreach (var schedule in resultSchedules) { var storedSchedule = allSchedules.FirstOrDefault(c => c.SalesArea == schedule.SalesArea && c.Date == schedule.Date); var storedRefs = storedSchedule.Breaks.Select(b => b.ExternalBreakRef).OrderBy(b => b); var targetRefs = schedule.Breaks.Select(b => b.ExternalBreakRef).OrderBy(b => b); if (!storedRefs.SequenceEqual(targetRefs)) { return(false); } } var resultSpots = TestDataImporter.GetDataFromFile <Schedule>(fileName, "Spots").ToList(); var allSpots = _spotRepository.GetAll(); return(allSpots.Count() == resultSpots.Count); } default: return(false); } }
public override bool CompareTargetDataToDb(string key, string fileName = null, Table tableData = null, TestDataResultOperationType operationType = default) { var featureTestData = GenerateDataFromTable(tableData); var fileTestData = GenerateDataFromFile(fileName, key); var dayPartGroups = _standardDayPartGroupRepository.GetAll().ToList(); switch (operationType) { case TestDataResultOperationType.Add: { featureTestData.AddRange(fileTestData); return(dayPartGroups.Count == featureTestData.Count && featureTestData.All(entity => dayPartGroups.Count(c => AreSameDayPartGroups(c, entity)) == 1)); } case TestDataResultOperationType.Remove: case TestDataResultOperationType.Replace: return(true); default: return(false); } }
public override bool CompareTargetDataToDb(string key, string fileName = null, Table tableData = null, TestDataResultOperationType operationType = default) { var featureTestData = GenerateDataFromTable(tableData); var fileTestData = GenerateDataFromFile(fileName, key); var programmeCategories = _programmeCategoryRepository.GetAll().ToList(); switch (operationType) { case TestDataResultOperationType.Add: { featureTestData.AddRange(fileTestData); return(programmeCategories.Count == featureTestData.Count && featureTestData.All(entity => programmeCategories.Count(c => c.Name == entity.Name) == 1)); } case TestDataResultOperationType.Remove: case TestDataResultOperationType.Replace: return(true); default: return(false); } }
public override bool CompareTargetDataToDb(string key, string fileName = null, Table tableData = null, TestDataResultOperationType operationType = default) { var featureTestData = GenerateDataFromTable(tableData); var fileTestData = GenerateDataFromFile(fileName, key); var allClashes = _clashRepository.GetAll().ToList(); switch (operationType) { case TestDataResultOperationType.Add: { featureTestData.AddRange(fileTestData); if (allClashes.Count != featureTestData.Count) { return(false); } foreach (var entity in featureTestData) { if (allClashes.Count(c => c.Externalref == entity.Externalref) != 1) { return(false); } var storedClash = allClashes.FirstOrDefault(c => c.Externalref == entity.Externalref); if (!CompareClash(entity, storedClash)) { return(false); } } return(true); } default: return(false); } }
public override bool CompareTargetDataToDb(string key, string fileName = null, Table tableData = null, TestDataResultOperationType operationType = default) { var featureTestData = GenerateDataFromTable(tableData); var fileTestData = GenerateDataFromFile(fileName, key); var metadataFromDb = _metadataRepository.GetAll(); switch (operationType) { case TestDataResultOperationType.Add: { featureTestData.AddRange(fileTestData); var metadataFromFile = featureTestData.First().ToMetadataModel(); return(AreSameMetadata(metadataFromFile, metadataFromDb)); } case TestDataResultOperationType.Remove: case TestDataResultOperationType.Replace: return(true); default: return(false); } }
public override bool CompareTargetDataToDb(string key, string fileName = null, Table tableData = null, TestDataResultOperationType operationType = 0) { var dataFromTable = GenerateDataFromTable(tableData).ToList(); var dataFromFile = GenerateDataFromFile(fileName, key).ToList(); var lengthFactors = _repository.GetAll().ToList(); switch (operationType) { case TestDataResultOperationType.Add: { dataFromTable.AddRange(dataFromFile); if (lengthFactors.Count != dataFromTable.Count) { return(false); } return(dataFromTable.All(entity => lengthFactors.Count(x => AreSame(x, entity)) == 1)); } case TestDataResultOperationType.Remove: case TestDataResultOperationType.Replace: return(true); default: return(false); } }
public abstract bool CompareTargetDataToDb(string key, string fileName = null, Table tableData = null, TestDataResultOperationType operationType = default);