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