public void Create_Product() { using (var context = new StoreContext()) { var factory = new Factory(new ShippingMethodRepository(context)); var products = new ProductRepository(context); var newProduct = factory.CreateProduct("NEW", "New Product"); var option1 = factory.CreateProductOption(sku: "NEWPUSM", colour: "PURPLE", size: "SMALL", price: 18.00M, priceWas: null, stockLevel: 10); var option2 = factory.CreateProductOption(sku: "NEWPULG", colour: "PURPLE", size: "LARGE", price: 20.00M, priceWas: null, stockLevel: 10); newProduct.AddOption(option1); newProduct.AddOption(option2); products.Save(newProduct); var product = products.Load(3); Assert.That(product.SKU == "NEW"); Assert.That(product.Options.Count() == 2); } }