예제 #1
0
        public void GetSequencePointsForMethodToken()
        {
            // arrange
            _mockFilter
            .Setup(x => x.InstrumentClass(It.IsAny <string>(), It.IsAny <string>()))
            .Returns(true);

            var types   = _reader.GetInstrumentableTypes();
            var type    = types.First(x => x.FullName == typeof(DeclaredMethodClass).FullName);
            var methods = _reader.GetMethodsForType(type, new File[0]);

            // act
            var points = _reader.GetSequencePointsForToken(methods[0].MetadataToken);

            // assert

            Assert.IsNotNull(points);
        }
        public void Issue960IgnoresSequencePointsInEmptyBranchesGeneratedForSwitchExpressions_UnoptimisedCode()
        {
            // arrange
            _mockFilter
            .Setup(x => x.InstrumentClass(It.IsAny <string>(), It.IsAny <string>()))
            .Returns(true);

            var types   = _reader.GetInstrumentableTypes();
            var type    = types.First(x => x.FullName.EndsWith("SwitchExpression"));
            var methods = _reader.GetMethodsForType(type, new File[0]);

            var points = _reader.GetSequencePointsForToken(methods.First(x => x.FullName.Contains("::MapMyTest")).MetadataToken);

            Assert.AreEqual(6, points.Count());
        }