public void ValidCanCast(Type duckType, string obscureObjectName) { var obscureObject = ObscureObject.GetObject(obscureObjectName); using var scope = new AssertionScope(); obscureObject.DuckIs(duckType).Should().BeTrue(); var valid = obscureObject.DuckCast(duckType); }
public void WrongReturnTypesThrow(Type duckType, string obscureObjectName) { var obscureObject = ObscureObject.GetObject(obscureObjectName); using var scope = new AssertionScope(); obscureObject.DuckIs(duckType).Should().BeFalse(); Action cast = () => obscureObject.DuckCast(duckType); cast.Should().Throw <TargetInvocationException>(); }