private void CreateInspectionResult(QualifiedContext <ParserRuleContext> selectStmt, ParserRuleContext unreachableBlock, string message)
        {
            var result = new QualifiedContextInspectionResult(this,
                                                              message,
                                                              new QualifiedContext <ParserRuleContext>(selectStmt.ModuleName, unreachableBlock));

            _inspectionResults.Add(result);
        }
        public void InspectionResultsAreDeemedInvalidatedIfTheInspectionDeemsThemInvalidated()
        {
            var inspectionMock = new Mock <IInspection>();

            inspectionMock
            .Setup(m =>
                   m.ChangesInvalidateResult(It.IsAny <IInspectionResult>(),
                                             It.IsAny <ICollection <QualifiedModuleName> >()))
            .Returns(true);

            var module          = new QualifiedModuleName("project", string.Empty, "module");
            var context         = new QualifiedContext(module, null);
            var modifiedModules = new HashSet <QualifiedModuleName>();

            var inspectionResult = new QualifiedContextInspectionResult(inspectionMock.Object, string.Empty, context);

            Assert.IsTrue(inspectionResult.ChangesInvalidateResult(modifiedModules));
        }
        public void QualifiedContextInspectionResultsAreNotDeemedInvalidatedIfNeitherTheInspectionDeemsThemInvalidatedNorTheirQualifiedModuleNameGetsModified()
        {
            var inspectionMock = new Mock <IInspection>();

            inspectionMock
            .Setup(m =>
                   m.ChangesInvalidateResult(It.IsAny <IInspectionResult>(),
                                             It.IsAny <ICollection <QualifiedModuleName> >()))
            .Returns(false);

            var module          = new QualifiedModuleName("project", string.Empty, "module");
            var otherModule     = new QualifiedModuleName("project", string.Empty, "otherModule");
            var context         = new QualifiedContext(module, null);
            var modifiedModules = new HashSet <QualifiedModuleName> {
                otherModule
            };

            var inspectionResult = new QualifiedContextInspectionResult(inspectionMock.Object, string.Empty, context);

            Assert.IsFalse(inspectionResult.ChangesInvalidateResult(modifiedModules));
        }