diff options
author | mtaal | 2006-10-25 19:24:24 +0000 |
---|---|---|
committer | mtaal | 2006-10-25 19:24:24 +0000 |
commit | cc37454a4fbef231fab891430851f20d49f008ac (patch) | |
tree | e35b086adae91e21a015761a43448085a17e220c | |
parent | 1a5028225126132d9a012b32d6adc784be934642 (diff) | |
download | org.eclipse.emf.teneo-cc37454a4fbef231fab891430851f20d49f008ac.tar.gz org.eclipse.emf.teneo-cc37454a4fbef231fab891430851f20d49f008ac.tar.xz org.eclipse.emf.teneo-cc37454a4fbef231fab891430851f20d49f008ac.zip |
Improved testcase after input from Dan Connelybuild_200610260523
-rw-r--r-- | tests/org.eclipse.emf.teneo.commontest/src/org/eclipse/emf/teneo/test/emf/sample/ExtendedPO2Action.java | 188 |
1 files changed, 139 insertions, 49 deletions
diff --git a/tests/org.eclipse.emf.teneo.commontest/src/org/eclipse/emf/teneo/test/emf/sample/ExtendedPO2Action.java b/tests/org.eclipse.emf.teneo.commontest/src/org/eclipse/emf/teneo/test/emf/sample/ExtendedPO2Action.java index ddc755d5b..6cec671b5 100644 --- a/tests/org.eclipse.emf.teneo.commontest/src/org/eclipse/emf/teneo/test/emf/sample/ExtendedPO2Action.java +++ b/tests/org.eclipse.emf.teneo.commontest/src/org/eclipse/emf/teneo/test/emf/sample/ExtendedPO2Action.java @@ -11,13 +11,20 @@ * Martin Taal * </copyright> * - * $Id: ExtendedPO2Action.java,v 1.1 2006/07/04 22:12:15 mtaal Exp $ + * $Id: ExtendedPO2Action.java,v 1.2 2006/10/25 19:24:24 mtaal Exp $ */ package org.eclipse.emf.teneo.test.emf.sample; +import java.io.IOException; +import java.util.Calendar; +import java.util.Collections; import java.util.Date; +import java.util.GregorianCalendar; +import java.util.Iterator; +import java.util.List; +import org.eclipse.emf.ecore.resource.Resource; import org.eclipse.emf.teneo.samples.emf.sample.epo2.Customer; import org.eclipse.emf.teneo.samples.emf.sample.epo2.EPO2Factory; import org.eclipse.emf.teneo.samples.emf.sample.epo2.EPO2Package; @@ -25,15 +32,17 @@ import org.eclipse.emf.teneo.samples.emf.sample.epo2.GlobalAddress; import org.eclipse.emf.teneo.samples.emf.sample.epo2.Item; import org.eclipse.emf.teneo.samples.emf.sample.epo2.OrderStatus; import org.eclipse.emf.teneo.samples.emf.sample.epo2.PurchaseOrder; +import org.eclipse.emf.teneo.samples.emf.sample.epo2.Supplier; import org.eclipse.emf.teneo.samples.emf.sample.epo2.USAddress; import org.eclipse.emf.teneo.test.AbstractTestAction; +import org.eclipse.emf.teneo.test.StoreTestException; import org.eclipse.emf.teneo.test.stores.TestStore; /** * Tests the extended po 2 example * * @author <a href="mailto:mtaal@elver.org">Martin Taal</a> - * @version $Revision: 1.1 $ $Date: 2006/07/04 22:12:15 $ + * @version $Revision: 1.2 $ $Date: 2006/10/25 19:24:24 $ */ public abstract class ExtendedPO2Action extends AbstractTestAction { @@ -46,55 +55,136 @@ public abstract class ExtendedPO2Action extends AbstractTestAction public void doAction(TestStore store) { final EPO2Factory factory = EPO2Factory.eINSTANCE; - - store.beginTransaction(); - - PurchaseOrder po = factory.createPurchaseOrder(); - - po.setComment("my comment"); - - USAddress adr = factory.createUSAddress(); - adr.setCity("Doorn"); - adr.setCountry("Netherlands"); - adr.setName("M. Taal"); - adr.setState("Utrecht"); - adr.setStreet("Nassaulaan 7"); - adr.setZip(3941); - po.setBillTo(adr); - - po.setOrderDate(new Date()); + { + Supplier supplier = factory.createSupplier(); // This is the root. Keep it .... + supplier.setName("Computer City"); - Customer cust = factory.createCustomer(); - cust.setCustomerID(5000); - po.setCustomer(cust); + PurchaseOrder po = factory.createPurchaseOrder(); + supplier.getOrders().add(po); + PurchaseOrder prevpo = factory.createPurchaseOrder(); + supplier.getOrders().add(prevpo); + + po.setComment("a new purchase order"); + prevpo.setComment("the previous purchase order"); + + USAddress adr = factory.createUSAddress(); + adr.setCity("Doorn"); + adr.setCountry("Netherlands"); + adr.setName("M. Taal"); + adr.setState("Utrecht"); + adr.setStreet("Nassaulaan 7"); + adr.setZip(3941); + + USAddress adr1 = factory.createUSAddress(); + adr1.setCity("Doorn"); + adr1.setCountry("Netherlands"); + adr1.setName("M. Taal"); + adr1.setState("Utrecht"); + adr1.setStreet("Nassaulaan 7"); + adr1.setZip(3941); + + //both have same billto + po.setBillTo(adr); + prevpo.setBillTo(adr1); + + po.setOrderDate(new Date()); + Calendar cal = new GregorianCalendar(); + cal.add(Calendar.DAY_OF_MONTH,-5); + prevpo.setOrderDate(cal.getTime()); + + Customer cust = factory.createCustomer(); + supplier.getCustomers().add(cust); + cust.setCustomerID(5000); + cust.getOrders().add(po); // Added by DSC for JCR validation. Remove later.... + cust.getOrders().add(prevpo); // Added by DSC for JCR validation. Remove later.... + po.setCustomer(cust); + prevpo.setCustomer(cust); + + GlobalAddress globadr = factory.createGlobalAddress(); + globadr.setCountry("Belgium"); + globadr.setCountryCode(36); + globadr.setName("Belgium Office"); + globadr.getLocation().add("MY GLOBAL LOCATION"); + + GlobalAddress globadr1 = factory.createGlobalAddress(); + globadr1.setCountry("Belgium"); + globadr1.setCountryCode(36); + globadr1.setName("Belgium Office"); + globadr1.getLocation().add("MY GLOBAL LOCATION"); + + // both have same shipto + po.setShipTo(globadr); + prevpo.setShipTo(globadr1); + + po.setStatus(OrderStatus.COMPLETE_LITERAL); + prevpo.setStatus(OrderStatus.BACK_ORDER_LITERAL); + + Item item = factory.createItem(); + item.setComment("I like this product"); + item.setPartNum("500.11.22"); + item.setProductName("Dell Latitude"); + item.setQuantity(50); + item.setShipDate(new Date()); + item.setOrder(po); // Added by DSC for JCR validation. Remove later.... + + Item item2 = factory.createItem(); + item2.setComment("A few of these for me."); + item2.setPartNum("500.11.2000"); + item2.setProductName("Sun Opteron Workstation"); + item2.setQuantity(200); + item2.setShipDate(new Date()); + item2.setOrder(prevpo); // Added by DSC for JCR validation. Remove later.... + + po.getItems().add(item); + prevpo.getItems().add(item2); + po.setPreviousOrder(prevpo); + store.beginTransaction(); + store.store(supplier); + store.commitTransaction(); + /* + final Resource res = store.getResource(); + res.getContents().add(supplier); + try { + res.save(Collections.EMPTY_MAP); + } catch (IOException e) { + throw new StoreTestException("IOException", e); + } + */ + } + + { + store.beginTransaction(); +// final Resource res2 = store.getResource(); +// Supplier supplierTest = (Supplier)res2.getContents().get(0); + Supplier supplierTest = (Supplier)store.getObject(Supplier.class); + List customers = supplierTest.getCustomers(); + assertNotNull(customers); + assertTrue(customers.size()==1); + assertNotNull(customers.get(0)); + assertTrue(((Customer)customers.get(0)).getCustomerID() > 0); + assertNotNull(((Customer)customers.get(0)).getOrders()); + assertTrue(((Customer)customers.get(0)).getOrders().size()==2); + for (Iterator it = supplierTest.getOrders().iterator(); it.hasNext(); ) + { + PurchaseOrder potest = (PurchaseOrder)it.next(); + assertNotNull(potest.getStatus().getLiteral()); + assertTrue(potest.getItems().size()>0); + Item itemtest = (Item)potest.getItems().get(0); + assertNotNull(itemtest.eContainer()); + assertNotNull(itemtest.getOrder()); + assertNotNull(itemtest.getShipDate()); + assertNotNull(itemtest.getPartNum()); + assertNotNull(potest.getCustomer()); + USAddress billTo = (USAddress)potest.getBillTo(); + assertNotNull(billTo); + assertNotNull(billTo.getStreet()); + GlobalAddress shipTo = (GlobalAddress)potest.getShipTo(); + assertNotNull(shipTo); + assertTrue(shipTo.getCountryCode() > 0); + } + store.commitTransaction(); + } - GlobalAddress globadr = factory.createGlobalAddress(); - globadr.setCountry("Belgium"); - globadr.setCountryCode(36); - globadr.setName("Belgium Office"); - globadr.getLocation().add("MY GLOBAL LOCATION"); - po.setShipTo(globadr); - - po.setStatus(OrderStatus.COMPLETE_LITERAL); - - Item item = factory.createItem(); - item.setComment("I like this product"); - item.setPartNum("500.11.22"); - item.setProductName("Dell Latitude"); - item.setQuantity(50); - item.setShipDate(new Date()); - - po.getItems().add(item); - store.store(po); - store.commitTransaction(); - - store.beginTransaction(); - PurchaseOrder potest = (PurchaseOrder)store.getObject(PurchaseOrder.class); - Item itemtest = (Item)potest.getItems().get(0); - assertTrue(itemtest.eContainer() != null); - assertTrue(potest.getCustomer() != null); - store.commitTransaction(); - checkContainerForSeparatelyReadItem(store); } |