public void StubInterface() { var myObject = Stub.Interface <IMyObject>(); myObject.MyMethod(1); myObject.MyMethod(2); myObject.MyMethod(3); AssertInvocationsWasMade. Once.ForMethodCall(() => myObject.MyMethod(1)). Between(1, 2).ForMethodCall(() => myObject.MyMethod(2)). Once.ForMethodCall(() => myObject.MyMethod(3)). InOrderAsSpecified(); AssertInvocationsWasMade.MatchingExpectationsFor(myObject); AssertInvocationsWasMade.None.ForMethodCall(() => myObject.MyGenericMethod(0)); Assert.That(myObject.MyProperty, Is.TypeOf <object>()); Assert.That(myObject.MyIntProperty, Is.EqualTo(0)); int outValue; myObject.MyMethodWithOutParameter(0, out outValue); Assert.That(outValue, Is.EqualTo(0)); }
public void ForStubInvocationsInOrderAsSpecified() { var myObject = Stub.Interface <IMyObject>(); myObject.MyMethod(1); myObject.MyMethod(1); myObject.MyMethod(2); myObject.MyMethod(1); myObject.MyMethod(3); myObject.MyMethod(1); AssertInvocationsWasMade. AtLeastOnce.ForMethodCall(() => myObject.MyMethod(1)). AtLeastOnce.ForMethodCall(() => myObject.MyMethod(2)). AtLeastOnce.ForMethodCall(() => myObject.MyMethod(1)). AtLeastOnce.ForMethodCall(() => myObject.MyMethod(3)). AtLeastOnce.ForMethodCall(() => myObject.MyMethod(1)). InOrderAsSpecified(); var ex = Assert.Throws <ExpectationsException>( () => AssertInvocationsWasMade. AtLeast(3).ForMethodCall(() => myObject.MyMethod(1)). AtLeastOnce.ForMethodCall(() => myObject.MyMethod(2)). AtLeastOnce.ForMethodCall(() => myObject.MyMethod(3)). InOrderAsSpecified()); Assert.That(ex.Message, Is.StringStarting("Invocations was not made in specified order (first mismatch at invocation 'myObject.MyMethod(2)'):")); }
public void Run_CallsApi() { var tc = NUnit.Framework.TestContext.CurrentContext.TestDirectory; var strm = System.IO.File.OpenRead(tc + "./LuaScripts/SimpleTestCase.lua"); var hr = new SimpleHarness(); runner = new ScriptRunner(); IOC.ResolveImports(runner); Expect.MethodCall(() => apiBridge.Init()); runner.Load(strm); Expect.MethodCall(() => apiBridge.BeginTestCase("SimpleHarness", "Mutagen.FrontEnd.Test.dll")); Expect.Once.MethodCall(() => apiBridge.TestResults()).Returns(new List <TestResult>()); Expect.Once.MethodCall(() => apiBridge.TestHarness()).Returns(hr); Expect.Once.MethodCall(() => apiBridge.CommitTestCaseCode(Any <IAssertable> .Value.Matching(x => x != null).AsInterface)); Expect.Once.MethodCall(() => apiBridge.ExecTestCase()); runner.Run(); AssertInvocationsWasMade.MatchingExpectationsFor(apiBridge); }
public void BeginTestCase_CallsApi() { Expect.Once.MethodCall(() => apiBridge.BeginTestCase("SimpleHarness", "Mutagen.LuaFrontend.Test.dll")); Expect.Once.MethodCall(() => apiBridge.TestHarness()).Returns(new SimpleHarness()); ReadScript("./LuaScripts/BeginTestCase.lua"); LuaUtil.PublishObjectMethods(api, luaEnv); luaEnv.DoChunk(scriptChunk); AssertInvocationsWasMade.MatchingExpectationsFor(apiBridge); }
public void CallTo_AddFacette_CallsApi() { Expect.Once.MethodCall(() => apiBridge.AddFacette("fnord", 1, 7)); ReadScript("./LuaScripts/AddFacette.lua"); LuaUtil.PublishObjectMethods(api, luaEnv); luaEnv.DoChunk(scriptChunk); AssertInvocationsWasMade.MatchingExpectationsFor(apiBridge); }
public void CallTo_CreateFacette_CallsApi() { Expect.Once.MethodCall(() => apiBridge.CreateFacette("facName", Any <System.Collections.Generic.List <object> > .Value)); ReadScript("./LuaScripts/CreateFacette.lua"); LuaUtil.PublishObjectMethods(api, luaEnv); luaEnv.DoChunk(scriptChunk); AssertInvocationsWasMade.MatchingExpectationsFor(apiBridge); }
public void CallTo_EndTestCase_CallsApi() { Expect.Once.MethodCall(() => apiBridge.CommitTestCaseCode(Any <IAssertable> .Value.Matching(x => x != null).AsInterface)); api.LuaEnv = luaEnv; ReadScript("./LuaScripts/EndTestCase.lua"); LuaUtil.PublishObjectMethods(api, luaEnv); luaEnv.DoChunk(scriptChunk); AssertInvocationsWasMade.MatchingExpectationsFor(apiBridge); }
public void StubDelegate() { var myDelegate = Stub.Delegate <MyDelegate>(); myDelegate(1); myDelegate(2); myDelegate(3); AssertInvocationsWasMade. Exactly(3).ForMethodCall(() => myDelegate(Any <int> .Value)); }
public void NotMet() { var myObject = Mock.Interface <IMyObject>(); Expect.Once.MethodCall(() => myObject.MyMethod(1)); var ex = Assert.Throws <ExpectationsException>(() => AssertInvocationsWasMade.MatchingExpectationsFor(myObject)); Assert.That(ex.Message, Is.StringStarting("All expectations has not been met, expected:")); }
public void BeginTestCase_MakesTestharnessAvailableToScript() { var myHarness = new SimpleHarness(); Expect.Once.MethodCall(() => apiBridge.BeginTestCase("SimpleHarness", "Mutagen.LuaFrontend.Test.dll")); Expect.Once.MethodCall(() => apiBridge.TestHarness()).Returns(myHarness); ReadScript("./LuaScripts/BeginTestCase_UseHarness.lua"); LuaUtil.PublishObjectMethods(api, luaEnv); luaEnv.DoChunk(scriptChunk); AssertInvocationsWasMade.MatchingExpectationsFor(apiBridge); Assert.AreEqual(myHarness.lastPrint, "Test"); }
public void ForSingleMock() { var myObject = Mock.Interface <IMyObject>(); Expect.Once.MethodCall(() => myObject.MyMethod(1)); Expect.Once.MethodCall(() => myObject.MyMethod(2)); myObject.MyMethod(1); myObject.MyMethod(2); AssertInvocationsWasMade.MatchingExpectationsFor(myObject); }
public void ForStubInvocationAtLeastTwice() { var myObject = Stub.Interface <IMyObject>(); myObject.MyMethod(1); myObject.MyMethod(1); myObject.MyMethod(2); AssertInvocationsWasMade.AtLeast(2).ForMethodCall(() => myObject.MyMethod(1)); var ex = Assert.Throws <ExpectationsException>(() => AssertInvocationsWasMade.AtLeast(2).ForMethodCall(() => myObject.MyMethod(2))); Assert.That(ex.Message, Is.StringStarting("Wrong number of invocations for 'myObject.MyMethod(2)', expected 2..* actual 1:")); }
public void ForScope() { var expectationScope = new ExpectationScope(); var myObject1 = Mock.Interface <IMyObject>(expectationScope); var myObject2 = Mock.Interface <IMyObject>(expectationScope); Expect.Once.MethodCall(() => myObject1.MyMethod(1)); Expect.Once.MethodCall(() => myObject2.MyMethod(2)); myObject1.MyMethod(1); myObject2.MyMethod(2); AssertInvocationsWasMade.MatchingExpectationsFor(expectationScope); }
public void ForStubInvocationBetweenOneAndTwoTimes() { var myObject = Stub.Interface <IMyObject>(); myObject.MyMethod(1); myObject.MyMethod(1); myObject.MyMethod(2); myObject.MyMethod(3); myObject.MyMethod(3); myObject.MyMethod(3); AssertInvocationsWasMade.Between(1, 2).ForMethodCall(() => myObject.MyMethod(1)); AssertInvocationsWasMade.Between(1, 2).ForMethodCall(() => myObject.MyMethod(2)); var ex1 = Assert.Throws <ExpectationsException>(() => AssertInvocationsWasMade.Between(1, 2).ForMethodCall(() => myObject.MyMethod(3))); var ex2 = Assert.Throws <ExpectationsException>(() => AssertInvocationsWasMade.Between(1, 2).ForMethodCall(() => myObject.MyMethod(4))); Assert.That(ex1.Message, Is.StringStarting("Wrong number of invocations for 'myObject.MyMethod(3)', expected 1..2 actual 3:")); Assert.That(ex2.Message, Is.StringStarting("Wrong number of invocations for 'myObject.MyMethod(4)', expected 1..2 actual 0:")); }