public void When_ListCarmodelsFromCarbrandId_action_is_called_with_parameter_should_only_return_models_that_match_parameter(int id) { //arrange var fakeRpdbService = A.Fake<IRpdbService>(); A.CallTo(() => fakeRpdbService.GetAllCarbrands()).Returns(new List<Carbrand> { new Carbrand() {CarbrandID = 1, Name = "Mercedes"}, new Carbrand() {CarbrandID = 2, Name = "Fiat"} }); var proposalsController = new ProposalsController(fakeRpdbService); //act var actual = proposalsController.ListCarmodelsFromCarbrandId(id); var result = actual.Data as IEnumerable; //assert A.CallTo( () => fakeRpdbService.GetCarbrandModels(A<int>.That.IsEqualTo(id))) .MustHaveHappened(Repeated.Exactly.Once); Assert.IsNotEmpty(result); Assert.That(result, Is.All.Property("CarbrandID").EqualTo(id)); }