public void Its_EquivalentTo_ThrowsAssertionExcpetion() { // Given var booMock = new Mock <IBar>(); var foo = new Foo(booMock.Object); var expectedBarParam = new BarParam { Description = "expected description", ReferenceNumber = 12345 }; var barParam = new BarParam { Description = "actual description", ReferenceNumber = 54321 }; foo.CallBoo(barParam); // When var testException = Assert.Throws <XunitException>(() => booMock.Verify(b => b.ItWorked(Its.EquivalentTo(expectedBarParam))) ); // Then var expectedStartOfException = $"Expected member {nameof(expectedBarParam.Description)} to be {Environment.NewLine}\"{expectedBarParam.Description}\" with a length of {expectedBarParam.Description.Length}, " + $"but {Environment.NewLine}\"{barParam.Description}\" has a length of {barParam.Description.Length}." + $"{Environment.NewLine}Expected member {nameof(expectedBarParam.ReferenceNumber)} to be {expectedBarParam.ReferenceNumber}, " + $"but found {barParam.ReferenceNumber}."; Assert.StartsWith(expectedStartOfException, testException.Message); }
public void It_IsEquivilentToMatcher_VerifySuccess() { // Given var booMock = new Mock <IBar>(); var foo = new Foo(booMock.Object); var fooParam = new FooParam { Description = "test description", ReferenceNumber = 12345 }; var expectedBarParam = new BarParam { Description = fooParam.Description + "", ReferenceNumber = fooParam.ReferenceNumber }; foo.CallBoo(fooParam); // When booMock.Verify(b => b.ItWorked(It <BarParam> .IsEquivalentTo(expectedBarParam))); // Then // No Exception thrown }
public void Its_EquivalentTo_DoesNotThrowException() { // Given var booMock = new Mock <IBar>(); var foo = new Foo(booMock.Object); var fooParam = new FooParam { Description = "test description", ReferenceNumber = 12345 }; var expectedBarParam = new BarParam { Description = fooParam.Description, ReferenceNumber = fooParam.ReferenceNumber }; foo.CallBoo(fooParam); // When booMock.Verify(b => b.ItWorked(Its.EquivalentTo(expectedBarParam))); // Then // No Exception thrown }
public void It_IsEquivilentToMatcher_VerifyFail() { // Given var booMock = new Mock <IBar>(); var foo = new Foo(booMock.Object); var fooParam = new FooParam { Description = "test description", ReferenceNumber = 12345 }; var expectedBarParam = new BarParam { Description = "something else", ReferenceNumber = 54321 }; foo.CallBoo(fooParam); // When, Then var testException = Assert.Throws <MockException>(() => booMock.Verify(b => b.ItWorked(It <BarParam> .IsEquivalentTo(expectedBarParam)), Times.Once) ); Assert.StartsWith("Expected invocation on the mock once, but was 0 times", testException.Message.Trim()); }
public void Its_EquivalentTo_ThrowsException_WithMultipleSetups() { // Given var booMock = new Mock <IBar>(); var foo = new Foo(booMock.Object); var fooParam = new FooParam { Description = "given value 1", ReferenceNumber = 12345 }; var fooParam2 = new FooParam { Description = "given value 2", ReferenceNumber = 23456 }; var expectedBarParam = new BarParam { Description = fooParam.Description, ReferenceNumber = fooParam.ReferenceNumber }; var expectedBarParam2 = new BarParam { Description = fooParam2.Description, ReferenceNumber = fooParam2.ReferenceNumber }; var unExpectedBarParam = new BarParam { Description = "Unexpected value" }; booMock.Setup(b => b.ItWorked(Its.EquivalentTo(expectedBarParam, true))); booMock.Setup(b => b.ItWorked(Its.EquivalentTo(expectedBarParam2, true))); foo.CallBoo(fooParam); foo.CallBoo(fooParam2); // When booMock.Verify(b => b.ItWorked(Its.EquivalentTo(expectedBarParam, true)), Times.Once); booMock.Verify(b => b.ItWorked(Its.EquivalentTo(expectedBarParam2, true)), Times.Once); // and When Then var testException = Assert.Throws <MockException>(() => booMock.Verify(b => b.ItWorked(Its.EquivalentTo(unExpectedBarParam, true)), Times.Once) ); Assert.StartsWith("Expected invocation on the mock once, but was 0 times", testException.Message.Trim()); }
public void CallBoo(BarParam param) { _bar.ItWorked(new BarParam { Description = param.Description, ReferenceNumber = param.ReferenceNumber }); }