public void ExecuteMethodProperly() { var obj = new TestMethodClass(); var wrapper = new ImplBaseTester(obj); wrapper.ExecuteMethod(nameof(obj.Method), 42); Assert.IsTrue(obj.CorrectMethodExecuted); }
public void ThrowExceptionIfParametersIsNull() { var obj = new TestMethodClass(); var wrapper = new ImplBaseTester(obj); var ex = Assert.Throws <ArgumentNullException>(() => wrapper.ExecuteMethod(nameof(obj.Method), null)); Assert.IsNotNull(ex); ex.ParamName.Should().Be("parameters"); }
public void ThrowExceptionIfMethodNameIsInvalid() { var obj = new TestMethodClass(); var wrapper = new ImplBaseTester(obj); var ex = Assert.Throws <ArgumentOutOfRangeException>(() => wrapper.ExecuteMethod("invalid", 42)); Assert.IsNotNull(ex); ex.Message.Should().Be($"Class method with given name does not exist!{Environment.NewLine}Parameter name: methodName"); }