public void RuleNotSupportCheckTest() { var mockVersionHelper = new Mock<IDataVersioningHelper>(); var mockRepository = new Mock<IRepository<CV_RelationshipType>>(); var testTool = new SampleMatrixTypeCheckingTool(mockVersionHelper.Object, mockRepository.Object); var mockQualityCheckingRule = new Mock<IDataQualityCheckingRule>(); var dataNotSupportCheckResult = testTool.Check(new Hatfield.EnviroData.Core.Action(), mockQualityCheckingRule.Object); Assert.NotNull(dataNotSupportCheckResult); Assert.AreEqual("Data Quality Checking Rule is not supported by the Quality Checking Tool.", dataNotSupportCheckResult.Message); Assert.False(dataNotSupportCheckResult.NeedCorrection); Assert.AreEqual(QualityCheckingResultLevel.Error, dataNotSupportCheckResult.Level); }
public void DataNotSupportCheckTest() { var mockVersionHelper = new Mock<IDataVersioningHelper>(); var mockRepository = new Mock<IRepository<CV_RelationshipType>>(); var testTool = new SampleMatrixTypeCheckingTool(mockVersionHelper.Object, mockRepository.Object); var testQualityCheckingRule = new StringCompareCheckingRule("test", false, "test"); var dataNotSupportCheckResult = testTool.Check(1, testQualityCheckingRule); Assert.NotNull(dataNotSupportCheckResult); Assert.AreEqual("Data is not supported by the Quality Checking Tool.", dataNotSupportCheckResult.Message); Assert.False(dataNotSupportCheckResult.NeedCorrection); Assert.AreEqual(QualityCheckingResultLevel.Error, dataNotSupportCheckResult.Level); }
public void ValidCheckTest() { var testActionData = CreateTestAction(); var testQualityCheckingRule = new StringCompareCheckingRule("Water", false, "test"); var mockVersionHelper = new Mock<IDataVersioningHelper>(); mockVersionHelper.Setup(x => x.GetLatestVersionActionData(It.IsAny<Hatfield.EnviroData.Core.Action>())).Returns(testActionData); var mockRepository = new Mock<IRepository<CV_RelationshipType>>(); var testTool = new SampleMatrixTypeCheckingTool(mockVersionHelper.Object, mockRepository.Object); var qcResult = testTool.Check(testActionData, testQualityCheckingRule); var expextedMessageBuilder = new StringBuilder(); expextedMessageBuilder.AppendLine("Sample Result: abdc02ff-4bc6-4b8c-8578-e3c8d3620cea on May-01-2015's sample matrix meets the expected value."); expextedMessageBuilder.AppendLine("Sample Result: abdc02ff-4bc6-4b8c-8578-e3c8d3620cea's sample matrix meets the expected value."); expextedMessageBuilder.AppendLine("Sample Result: abdc02ff-4bc6-4b8c-8578-e3c8d3620cea on May-01-2015's sample matrix value is test type, the expected value is Water. Need data correction."); expextedMessageBuilder.AppendLine("Sample Result: abdc02ff-4bc6-4b8c-8578-e3c8d3620cea on May-01-2015 does not contain sample matrix data."); Assert.AreEqual(expextedMessageBuilder.ToString(), qcResult.Message); Assert.True(qcResult.NeedCorrection); Assert.AreEqual(QualityCheckingResultLevel.Info, qcResult.Level); }
public void IsDataSupportTest() { var mockVersionHelper = new Mock<IDataVersioningHelper>(); var mockRepository = new Mock<IRepository<CV_RelationshipType>>(); var testTool = new SampleMatrixTypeCheckingTool(mockVersionHelper.Object, mockRepository.Object); var supportData = new Hatfield.EnviroData.Core.Action(); Assert.True(testTool.IsDataSupported(supportData)); Assert.False(testTool.IsDataSupported(1)); }
public void IsDataQualityChekcingDataSupportTest() { var successTestQualityCheckingRule = new StringCompareCheckingRule("test", false, "test"); var mockQualityCheckingRule = new Mock<IDataQualityCheckingRule>(); var mockVersionHelper = new Mock<IDataVersioningHelper>(); var mockRepository = new Mock<IRepository<CV_RelationshipType>>(); var testTool = new SampleMatrixTypeCheckingTool(mockVersionHelper.Object, mockRepository.Object); Assert.True(testTool.IsDataQualityCheckingRuleSupported(successTestQualityCheckingRule)); Assert.False(testTool.IsDataQualityCheckingRuleSupported(mockQualityCheckingRule.Object)); }
public void DataNeedCorrectionTest() { var testActionData = CreateTestAction(); var testQualityCheckingRule = new StringCompareCheckingRule("Water", true, "test"); var mockVersionHelper = new Mock<IDataVersioningHelper>(); var mockRepository = new Mock<IRepository<CV_RelationshipType>>(); mockRepository.Setup(x => x.GetAll()) .Returns(() => (new List<CV_RelationshipType> { new CV_RelationshipType{ Name = "Is new version of" } }) .AsQueryable()); var mockDefaultValueProvider = new Mock<IWQDefaultValueProvider>(); mockDefaultValueProvider.Setup(x => x.ActionRelationshipTypeSubVersion).Returns("is new version of"); var testTool = new SampleMatrixTypeCheckingTool(new DataVersioningHelper(mockDefaultValueProvider.Object), mockRepository.Object); var correctedResult = testTool.Correct(testActionData, testQualityCheckingRule); Assert.NotNull(correctedResult); Assert.AreEqual("Create new version for correction data.", correctedResult.Message); Assert.AreEqual(QualityCheckingResultLevel.Info, correctedResult.Level); Assert.False(correctedResult.NeedCorrection); var relationShips = testActionData.RelatedActions; Assert.AreEqual(1, relationShips.Count); Assert.AreEqual("Is new version of", relationShips.ElementAt(0).RelationshipTypeCV); Assert.AreEqual("Is new version of", relationShips.ElementAt(0).CV_RelationshipType.Name); var newVersionAction = relationShips.ElementAt(0).Action1; Assert.NotNull(newVersionAction); foreach(var featureAction in newVersionAction.FeatureActions) { foreach(var result in featureAction.Results) { var extension = result.ResultExtensionPropertyValues.Where(x => x.ExtensionProperty.PropertyName == "Matrix Type").FirstOrDefault(); if(extension != null) { Assert.AreEqual("test", extension.PropertyValue); } } } }
public void DataDoesNotNeedCorrectionTest() { var mockVersionHelper = new Mock<IDataVersioningHelper>(); var mockRepository = new Mock<IRepository<CV_RelationshipType>>(); var testQualityCheckingRule = new StringCompareCheckingRule("Water", true, "test"); var testTool = new SampleMatrixTypeCheckingTool(mockVersionHelper.Object, mockRepository.Object); var correctResult = testTool.Correct(new Hatfield.EnviroData.Core.Action(), testQualityCheckingRule); Assert.NotNull(correctResult); Assert.AreEqual("Sample data meets quality checking rule. No correction is needed.", correctResult.Message); Assert.AreEqual(QualityCheckingResultLevel.Info, correctResult.Level); Assert.False(correctResult.NeedCorrection); }
public void InvalidDataCorrectTest() { var mockVersionHelper = new Mock<IDataVersioningHelper>(); var mockRepository = new Mock<IRepository<CV_RelationshipType>>(); var mockQualityCheckingRule = new Mock<IDataQualityCheckingRule>(); var testTool = new SampleMatrixTypeCheckingTool(mockVersionHelper.Object, mockRepository.Object); var correctResult = testTool.Correct(1, mockQualityCheckingRule.Object); Assert.NotNull(correctResult); Assert.AreEqual("Sample data/Data checking rule is not valid. No correction could be applied.", correctResult.Message); Assert.AreEqual(QualityCheckingResultLevel.Error, correctResult.Level); Assert.False(correctResult.NeedCorrection); }