public void Method_ModifiedStaticFields_HasSideEffect() { const string classStaticField = "staticFieldOfClass"; var body = MockBlock.GetMethodBodyThatModifiedStaticFields(classStaticField); var method = MockMethod.DefaultMethodWithBody(body); var sideEffectChecker = new ModifiedStateSideEffect(); sideEffectChecker.CheckForSideEffects(method); var hasSideEffect = sideEffectChecker.HasSideEffects(); Assert.IsTrue(hasSideEffect); }
public void Method_ModifiedStaticFields_HasAnalyzerError() { var sideEffectRule = QualityRules.SideEffect; var classStaticField = "staticFieldOfClass"; var body = MockBlock.GetMethodBodyThatModifiedStaticFields(classStaticField); var method = MockMethod.DefaultMethodWithBody(body); var sideEffectAnalyzer = new MethodSideEffects(TestBootStrapped.GetInstanceOfISideEffect()); sideEffectAnalyzer.Analyze(method); var analyzeResult = sideEffectAnalyzer.GetResult(); var hasSideEffect = analyzeResult.Any(a => a.ViolatedRule.Equals(sideEffectRule)); Assert.IsTrue(hasSideEffect); }