Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // mocking simple interface with a predefined return value
- var myInterface = Mock.Of<IMyInterface>(x => x.Foo() == "bar");
- Console.WriteLine(myInterface.Foo());
- > "bar"
- // You can also only allow a return value if you pass in a specific object..
- var myObject = new object();
- var myInterface = Mock.Of<IMyInterface>(x => x.Foo(myObject) == "bar");
- Console.WriteLine(myInterface.Foo(null));
- > null
- Console.WriteLine(myInterface.Foo(myObject));
- > "bar"
- // Matchers are avaliable too
- var myInterface = Mock.Of<IMyInterface>(x => x.Foo(It.IsAny<IBaz>(y => y.Baz == "Qux") == "Bar"));
- var baz = new Baz { Baz = "Qux" };
- var baz2 = new Baz { Baz = "Quas" };
- Console.WriteLine(myInterface.Foo(baz));
- > "Bar"
- Console.WriteLine(myInterface.Foo(baz2));
- > null
- // You can also interact with passed parameters by using a slightly more complex syntax
- var mockMyInterface = new Mock<IMyInterface>();
- mockMyInterface.Setup(myInterface => myInterface.Foo(It.IsAny<int>())).Returns<int>(i => i * 2);
- var myInterface = mockMyInterface.Object; // Mock object is exposed through Object property
- Console.WriteLine(myInterface.Foo(42));
- > 84
- Console.WriteLine(myInterface.Foo(3));
- > 6
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement