def load_consolidator(relative_path="../../compiled_files/"): consolidator_json = load_file(consolidated_products_filename, relative_path) product_consolidator = ProductConsolidator() if consolidator_json is not None: product_consolidator = ProductConsolidator.from_json(consolidator_json) return product_consolidator
def test_add_item_to_map(self): product_consolidator = ProductConsolidator() brand = "I'm a brand" model = "I'm a model" item = ItemBase(brand, model) product_consolidator.__add_item_to_map__( item, product_consolidator.pre_shaves) self.assertTrue(item.brand in product_consolidator.pre_shaves) self.assertTrue( item.model in product_consolidator.pre_shaves[item.brand]) self.assertEqual( item, product_consolidator.pre_shaves[item.brand][item.model])
from src.main.com.rowley.shavekeeper.productdatacompiler.models.ProductConsolidator import ProductConsolidator from src.main.com.rowley.shavekeeper.productdatacompiler.models.ProductModelByBrandMap import ProductModelByBrandMap from src.main.com.rowley.shavekeeper.productdatacompiler.web.FileHelper import load_consolidator, save_consolidator, \ save_reconciler, load_file, save_file reconciled_json = load_file("Reconciler2_Reconciled", "../compiled_files/") reconciled = ProductModelByBrandMap.from_json(reconciled_json) consolidated_json = load_file("ConsolidatedProducts2", "../compiled_files/") base_consolidated = ProductConsolidator.from_json(consolidated_json) deduped = ProductConsolidator() total_pre = 0 total_post = 0 for brand in base_consolidated.pre_shaves: for model in base_consolidated.pre_shaves[brand]: total_pre += 1 if brand in reconciled.brands and model in reconciled.brands[brand]: # print "handling brand: " + brand + " model: " + model consolidated_pre_shave = base_consolidated.pre_shaves[brand][model] reconciled_pre_shave = reconciled.brands[brand][model] consolidated_pre_shave["brand"] = reconciled_pre_shave["brand"] consolidated_pre_shave["model"] = reconciled_pre_shave["model"] deduped.add_pre_shave(consolidated_pre_shave) for brand in base_consolidated.soaps: for model in base_consolidated.soaps[brand]: total_pre += 1 if brand in reconciled.brands and model in reconciled.brands[brand]:
def create_test_product_consolidator(self): product_consolidator = ProductConsolidator() pre_shave_1 = PreShave(self.brand_one, "Preshave 1 model") product_consolidator.add_pre_shave(pre_shave_1) pre_shave_2 = PreShave(self.brand_two, "Preshave 2 model") product_consolidator.add_pre_shave(pre_shave_2) pre_shave_3 = PreShave(self.brand_two, "Preshave 3 model") product_consolidator.add_pre_shave(pre_shave_3) soap_1 = Soap(self.brand_one, "Soap 1 model") product_consolidator.add_soap(soap_1) soap_2 = Soap(self.brand_one, "Soap 2 model") product_consolidator.add_soap(soap_2) soap_3 = Soap(self.brand_one, "Soap 3 model") product_consolidator.add_soap(soap_3) brush = Brush(self.brand_one, "brush model") product_consolidator.add_brush(brush) razor_1 = Razor(self.brand_one, "Razor 1 model", "DE", True, False) product_consolidator.add_razor(razor_1) razor_2 = Razor(self.brand_two, "Razor 2 model", "Straight Blade", False, False) product_consolidator.add_razor(razor_2) blade_1 = Blade(self.brand_one, "Blade 1 model") product_consolidator.add_blade(blade_1) blade_2 = Blade(self.brand_one, "Blade 2 model") product_consolidator.add_blade(blade_2) blade_3 = Blade(self.brand_two, "Blade 3 model") product_consolidator.add_blade(blade_3) blade_4 = Blade(self.brand_two, "Blade 4 model") product_consolidator.add_blade(blade_4) blade_5 = Blade(self.brand_one, "Blade 5 model") product_consolidator.add_blade(blade_5) post_shave_1 = PostShave(self.brand_one, "Post Shave 1 model") product_consolidator.add_post_shave(post_shave_1) post_shave_2 = PostShave(self.brand_two, "Post Shave 2 model") product_consolidator.add_post_shave(post_shave_2) after_shave_1 = AfterShave(self.brand_one, "AfterShave 1 model") product_consolidator.add_after_shave(after_shave_1) return product_consolidator
def test_save_file(self): products = ProductConsolidator() products.add_after_shave(AfterShave("brand", "model")) save_file(products, filename="TestFile")
def test_load_file_exists(self): reference = ProductConsolidator() reference.add_after_shave(AfterShave("brand", "model")) products = load_file("TestFile") self.assertEqual(reference.to_json(), products)
def set_up_mock(self): product_consolidator = ProductConsolidator() product_consolidator.__add_item_to_map__ = MagicMock(return_value=True) return product_consolidator
def test_from_JSON(self): product_consolidator = ProductConsolidator.from_json( self.product_consolidator_json_string) reference_consolidator = self.create_test_product_consolidator() self.assertEquals(product_consolidator, reference_consolidator)
def test_eq_different_types(self): self.assertNotEqual(ProductConsolidator(), Brush())
def test_eq_same_instance(self): product_consolidator = ProductConsolidator() self.assertEqual(product_consolidator, product_consolidator)