public static void main(String[] args) { // 获得事件分发中心 EventDispatch dispatch = EventDispatch.getEventDispathc(); // 接受乞丐对事件的处理 dispatch.registerCustomer(new Beggar()); // 接受平民对事件的处理 dispatch.registerCustomer(new Commoner()); // 接受贵族对该事件的处理 dispatch.registerCustomer(new Nobleman()); // 建立一个原子弹生产工厂 ProductManager factory = new ProductManager(); // 制造一个产品 System.out.println("=====模拟创建产品事件========"); System.out.println("创建一个叫做小男孩的原子弹"); Product p = factory.createProduct("小男孩原子弹"); // 修改一个产品 System.out.println("\n=====模拟修改产品事件========"); System.out.println("把小男孩原子弹修改为胖子号原子弹"); factory.editProduct(p, "胖子号原子弹"); // 再克隆一个原子弹 System.out.println("\n=====模拟克隆产品事件========"); System.out.println("克隆胖子号原子弹"); factory.clone(p); // 销毁一个产品,销毁地点地球人都知道 System.out.println("\n=====模拟销毁产品事件========"); System.out.println("遗弃胖子号原子弹"); factory.abandonProduct(p); }
private void mockProductImport(Owner owner, final Map<String, Product> products) { when(productManager.importProducts(eq(owner), any(Map.class), any(Map.class))) .thenAnswer( new Answer<ImportResult<Product>>() { @Override public ImportResult<Product> answer(InvocationOnMock invocation) throws Throwable { Object[] args = invocation.getArguments(); Map<String, ProductData> productData = (Map<String, ProductData>) args[1]; ImportResult<Product> importResult = new ImportResult<Product>(); Map<String, Product> output = importResult.getCreatedEntities(); if (productData != null) { for (String pid : productData.keySet()) { Product product = products.get(pid); if (product != null) { output.put(product.getId(), product); } } } return importResult; } }); }
private void mockUpdateProduct(final Product product, Owner owner) { when(productManager.updateProduct(any(ProductData.class), eq(owner), anyBoolean())) .thenAnswer( new Answer<Product>() { @Override public Product answer(InvocationOnMock invocation) throws Throwable { Object[] args = invocation.getArguments(); ProductData pdata = (ProductData) args[0]; return (product.getId().equals(pdata.getId())) ? product : null; } }); }
@Test public void testCreatedDevSkuWithNoSla() { Owner owner = TestUtil.createOwner("o"); List<ProductData> devProdDTOs = new ArrayList<ProductData>(); final Product p1 = TestUtil.createProduct("dev-product", "Dev Product"); devProdDTOs.add(p1.toDTO()); Consumer devSystem = TestUtil.createConsumer(owner); devSystem.setFact("dev_sku", p1.getId()); when(productAdapter.getProductsByIds(eq(owner), any(List.class))).thenReturn(devProdDTOs); mockUpdateProduct(p1, owner); this.mockContentImport(owner, Collections.<String, Content>emptyMap()); when(productManager.importProducts(eq(owner), any(Map.class), any(Map.class))) .thenAnswer( new Answer<ImportResult<Product>>() { @Override public ImportResult<Product> answer(InvocationOnMock invocation) throws Throwable { Object[] args = invocation.getArguments(); Map<String, ProductData> productData = (Map<String, ProductData>) args[1]; ImportResult<Product> importResult = new ImportResult<Product>(); Map<String, Product> output = importResult.getCreatedEntities(); // We need to copy the attributes from the product data to the product to // simulate a proper update. for (ProductData pdata : productData.values()) { if (pdata != null) { if (p1.getId().equals(pdata.getId())) { p1.clearAttributes(); if (pdata.getAttributes() != null) { for (ProductAttributeData attrib : pdata.getAttributes()) { p1.setAttribute(attrib.getName(), attrib.getValue()); } } output.put(p1.getId(), p1); } else { Product product = new Product(pdata.getId(), pdata.getName()); // Do we care about this product? Probably not. output.put(product.getId(), product); } } } return importResult; } }); Pool created = entitler.assembleDevPool(devSystem, devSystem.getFact("dev_sku")); assertEquals(entitler.DEFAULT_DEV_SLA, created.getProduct().getAttributeValue("support_level")); }
/** @param args */ public static void main(String[] args) { Barcode.Test(); Item.Test(); Product.Test(); StorageUnit.Test(); ProductContainer.Test(); ProductGroup.Test(); ProductList.Test(); ItemList.Test(); ProductContainerList.Test(); ItemFilter.Test(); ProductFilter.Test(); ItemManager.Test(); ProductManager.Test(); // Size.Test(); StorageUnitManager.Test(); System.out.println("All tests passed."); }
public static TestSuite getInsertObjectTestSuite() { TestSuite suite = new TestSuite(); suite.setName("InserfaceWithoutTablesInsertObjectTestSuite"); suite.setDescription( "This suite tests the insertion of each object in the interface model (without tables)."); suite.addTest(new InsertObjectTest(Film.example2())); suite.addTest(new InsertObjectTest(Secretary.example2())); suite.addTest(new InsertObjectTest(Company.example3())); suite.addTest(new InsertObjectTest(CourseDeveloper.example1())); suite.addTest(new InsertObjectTest(Email.example2())); // suite.addTest(new InsertObjectTest(Employee.example3())); Cannot use insert test on emp as // bi-1-1 suite.addTest(new InsertObjectTest(PersonnelManager.example1())); suite.addTest(new InsertObjectTest(Phone.example1())); suite.addTest(new InsertObjectTest(ProductDeveloper.example3())); suite.addTest(new InsertObjectTest(ProductManager.example1())); suite.addTest(new InsertObjectTest(Receptionist.example1())); return suite; }
@Override public void contextInitialized(ServletContextEvent arg0) { ProductManager.initProductManager(); }
/** * Will solve the tsp. * * @param args */ public static void main(String[] args) { ProductReader reader = new ProductReader("src/resources/product.txt"); System.out.println(reader.getSize()); ProductManager manager = new ProductManager(reader.getProducts()); ArrayList<Product> list = new ArrayList<Product>(); MazeReader maze = new MazeReader(fieldFile, coordinatesFile); Product start = new Product(0, maze.getStartCol(), maze.getStartRow()); Product finish = new Product(29, maze.getTargetCol(), maze.getTargetRow()); manager.addStart(start); manager.addFinish(finish); list.add(manager.get(0)); list.add(manager.get(1)); list.add(manager.get(2)); list.add(manager.get(3)); list.add(manager.get(4)); list.add(manager.get(5)); list.add(manager.get(6)); list.add(manager.get(7)); list.add(manager.get(16)); list.add(manager.get(17)); list.add(manager.get(18)); list.add(manager.get(19)); list.add(manager.get(20)); list.add(manager.get(22)); list.add(manager.get(24)); list.add(manager.get(26)); list.add(manager.get(27)); list.add(manager.get(29)); // set all distances to all products. for (int i = 0; i < manager.size(); i++) { for (int j = 0; j < manager.size(); j++) { if (i != j) { System.out.println(manager.get(i) + " to " + manager.get(j)); manager.get(i).setDistanceTo(manager.get(j)); } } } // calculate the best route. list.remove(finish); list = manager.nearestNeighbour(list); list.add(finish); int distance = 0; for (int i = 0; i < list.size() - 1; i++) { distance += list.get(i).getDistance(list.get(i + 1)); } System.out.println(distance); ActionWriter.writeAction(distance, list); }