public void MethodsCanBeFetchedEvenWithDifferentlyNamedParameters() { // Arrange var interceptor = new ProxyGenerator(); var toWrap = new ImplicitImplementationOfSomeInterface(); var wrapped = toWrap.As <ISomeInterface>(interceptor); // Act var result = wrapped.GetSum(3, 5); // Assert Assert.Equal(8, wrapped.GetSum(3, 5)); }
public void PropertiesCanBeFetched() { // Arrange var interceptor = new ProxyGenerator(); var toWrap = new ImplicitImplementationOfSomeInterface(); var wrapped = toWrap.As <ISomeInterface>(interceptor); // Act var result = wrapped.SomeProperty; // Assert Assert.Equal(SECRET_OF_THE_UNIVERSE, result); }
public void MethodDoesNotExistThrowsException() { // Arrange var interceptor = new ProxyGenerator(); var toWrap = new ImplicitImplementationOfSomeInterface(); var wrapped = toWrap.As <ISomeInterface>(interceptor); // Act var ex = Assert.Throws <NotImplementedException>(() => wrapped.ToValue()); // Assert Assert.Equal( "System.String ToValue() is not implemented " + "by Implicitify.Tests.InstanceWrapper+ImplicitImplemen" + "tationOfSomeInterface!", ex.Message); }