示例#1
0
        public void IfClassWithGenericMethodWithNewConstraintIsWeaved_ThenTheAssemblyShouldBeValid()
        {
            // Arrange
            const string testMethodName = "DoItWithNewConstraint";
            var          testClassType  = typeof(ClassWithGenericMethodWithConstraint);

            // Act
            WeaveAssemblyMethodAndLoad(testClassType, testMethodName);
            var    argument = AssemblyLoader.CreateInstance(nameof(TestClass));
            Action call     = () => AssemblyLoader.InvokeMethod(testClassType.TypeInfo(), testMethodName, argument);

            // Assert
            Weaver.TotalWeavedMethods.Should().Be(1);
            Weaver.TotalWeavedTypes.Should().Be(1);
            call.Should().NotThrow <Exception>();
        }
示例#2
0
        public void IfClassWithGenericMethodWithImplementedConstraintIsWeaved_ThenTheAssemblyShouldBeValid()
        {
            // Arrange
            const string testMethodName = "DoItWithImplementedConstraint";
            var          testClassType  = typeof(ClassWithGenericMethodWithConstraint);

            // Act
            WeaveAssemblyMethodAndLoad(testClassType, testMethodName);
            var argument = AssemblyLoader.CreateInstance(nameof(TestClass));
            var result   = AssemblyLoader.InvokeMethod(testClassType.TypeInfo(), testMethodName, argument);

            // Assert
            Weaver.TotalWeavedMethods.Should().Be(1);
            Weaver.TotalWeavedTypes.Should().Be(1);
            result.Should().Be("Test succeeded");
        }