public void AddProductConfigurationRows() { var model = new ConfigurationModel(); var flavorNameA = "TestFlavor"; var flavorNameB = "TestFlavor2"; var productA = "ProductA"; var productB = "ProductB"; model.Flavors = new List<ConfigurationModel.FlavorOptions> { new ConfigurationModel.FlavorOptions { FlavorName = flavorNameA, IncludedProductTitles = new List<string> { productA } }, new ConfigurationModel.FlavorOptions { FlavorName = flavorNameB, IncludedProductTitles = new List<string> { productB } } }; var product = new ConfigurationModel.Product {Title = productB}; model.Products = new List<ConfigurationModel.Product> { new ConfigurationModel.Product {Title = productA}, product }; var controller = new ConfigurationController(model); var testView = new ConfigViewForTests(); controller.PopulateWithModelSettings(testView); TestThatViewHasProduct(testView, model.Products[0]); TestThatViewHasProduct(testView, model.Products[1]); TestThatProductIsSelectedForTheseFlavors(testView, model.Products[0], new List<string> { flavorNameA }); TestThatProductIsSelectedForTheseFlavors(testView, model.Products[1], new List<string> { flavorNameB }); }
public void AddProductConfigurationRows() { var model = new ConfigurationModel(); var flavorNameA = "TestFlavor"; var flavorNameB = "TestFlavor2"; var productA = "ProductA"; var productB = "ProductB"; model.Flavors = new List <ConfigurationModel.FlavorOptions> { new ConfigurationModel.FlavorOptions { FlavorName = flavorNameA, IncludedProductTitles = new List <string> { productA } }, new ConfigurationModel.FlavorOptions { FlavorName = flavorNameB, IncludedProductTitles = new List <string> { productB } } }; var product = new ConfigurationModel.Product { Title = productB }; model.Products = new List <ConfigurationModel.Product> { new ConfigurationModel.Product { Title = productA }, product }; var controller = new ConfigurationController(model); var testView = new ConfigViewForTests(); controller.PopulateWithModelSettings(testView); TestThatViewHasProduct(testView, model.Products[0]); TestThatViewHasProduct(testView, model.Products[1]); TestThatProductIsSelectedForTheseFlavors(testView, model.Products[0], new List <string> { flavorNameA }); TestThatProductIsSelectedForTheseFlavors(testView, model.Products[1], new List <string> { flavorNameB }); }
private void TestThatViewHasProduct(ConfigViewForTests testView, ConfigurationModel.Product product) { CollectionAssert.Contains(testView.productNames, product.Title); }
private void TestThatProductIsSelectedForTheseFlavors(ConfigViewForTests testView, ConfigurationModel.Product product, List <string> list) { CollectionAssert.AreEquivalent(testView.enabledFlavorsForProduct[product.Title], list); }