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