Beispiel #1
0
  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);
  }
Beispiel #2
0
  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;
              }
            });
  }
Beispiel #3
0
  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;
              }
            });
  }
Beispiel #4
0
  @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"));
  }
Beispiel #5
0
 /** @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);
 }