public void TryRemoveAddress_IfAddressIsFromAnotherRL_ThenTheAddressWillNotBeDeletedAndMessageWillNotBeEmpty() { //arrange RouteList routeListSourceMock = Substitute.For <RouteList>(); routeListSourceMock.Id.Returns(999); RouteListItem routeListItemRemovingMock = Substitute.For <RouteListItem>(); routeListItemRemovingMock.WasTransfered.Returns(true); routeListItemRemovingMock.Order = Substitute.For <Order>(); RouteListItem routeListItemSourceMock = Substitute.For <RouteListItem>(); routeListItemSourceMock.RouteList.Returns(routeListSourceMock); IUnitOfWork uow = Substitute.For <IUnitOfWork>(); IRouteListItemRepository routeListItemRepository = Substitute.For <IRouteListItemRepository>(); routeListItemRepository.GetTransferedFrom(uow, routeListItemRemovingMock).Returns(routeListItemSourceMock); RouteList routeListUnderTest = new RouteList { UoW = uow }; routeListUnderTest.Addresses.Add(routeListItemRemovingMock); // act routeListUnderTest.TryRemoveAddress(routeListItemRemovingMock, out string msg, routeListItemRepository); // assert Assert.That(routeListUnderTest.Addresses.Count, Is.EqualTo(1)); Assert.That(string.IsNullOrEmpty(msg), Is.False); }