public void shouldImportIngredients()
{
var factory = new MockFactory(MockBehavior.Strict);
var ingredientParserMock = factory.Create<IIngredientParser>();
var ingredientFileReaderMock = factory.Create<IIngredientFileReader>();
var ingredientRepositoryMock = factory.Create<IIngredientRepository>();
const string abc = "abc";
const string fileName = "fileName";
ingredientFileReaderMock.Setup(x => x.ReadIngredientFile(fileName)).Returns(abc);
const string abborre = "Abborre";
ingredientParserMock.Setup(x => x.CreateIngredientFromFileContents(abc)).Returns(new List<Ingredient> {new Ingredient {Name = abborre}});
ingredientRepositoryMock
.Setup(x => x.SaveOrUpdate(It.Is<Ingredient>(y => y.Name == abborre)))
.Returns(null as Ingredient);
new IngredientImporter(ingredientParserMock.Object, ingredientFileReaderMock.Object, ingredientRepositoryMock.Object)
.Import(fileName);
factory.VerifyAll();
}