/** * Copyright (C) 2009 by Claas Wilke (info@claaswilke.de) * * This file is part of the Royal and Loyal Example of Dresden OCL2 for Eclipse. * * Dresden OCL2 for Eclipse is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by the * Free Software Foundation, either version 3 of the License, or (at your option) * any later version. * * Dresden OCL2 for Eclipse is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License * for more details. * * You should have received a copy of the GNU Lesser General Public License along * with Dresden OCL2 for Eclipse. If not, see <http://www.gnu.org/licenses/>. */ package org.dresdenocl.examples.royalandloyal.instance; import java.util.ArrayList; import java.util.List; import javax.swing.SpringLayout.Constraints; import org.dresdenocl.examples.royalandloyal.Burning; import org.dresdenocl.examples.royalandloyal.Color; import org.dresdenocl.examples.royalandloyal.Customer; import org.dresdenocl.examples.royalandloyal.CustomerCard; import org.dresdenocl.examples.royalandloyal.Date; import org.dresdenocl.examples.royalandloyal.Earning; import org.dresdenocl.examples.royalandloyal.LoyaltyAccount; import org.dresdenocl.examples.royalandloyal.LoyaltyProgram; import org.dresdenocl.examples.royalandloyal.Membership; import org.dresdenocl.examples.royalandloyal.ProgramPartner; import org.dresdenocl.examples.royalandloyal.Service; import org.dresdenocl.examples.royalandloyal.ServiceLevel; import org.dresdenocl.examples.royalandloyal.Transaction; /** * <p> * A class which creates a simple model instance of the royals and loyals UML * model. * </p> * * @author Claas Wilke */ public class ModelInstanceProviderClass { private static List<Object> myModelObjects = null; public static void main(String[] args) { List<Object> allObjects; int countOfCustomers; int countOfCustomerCards; int countOfDates; int countOfLoyaltyAccounts; int countOfLoyaltyPrograms; int countOfMemberships; int countOfProgramPartners; int countOfServices; int countOfServiceLevels; int countOfTransactions; int countOfBurnings; allObjects = ModelInstanceProviderClass.getModelObjects(); countOfCustomers = 0; countOfCustomerCards = 0; countOfDates = 0; countOfLoyaltyAccounts = 0; countOfLoyaltyPrograms = 0; countOfMemberships = 0; countOfProgramPartners = 0; countOfServices = 0; countOfServiceLevels = 0; countOfTransactions = 0; countOfBurnings = 0; for (Object anElement : allObjects) { if (anElement instanceof Customer) { countOfCustomers++; } else if (anElement instanceof CustomerCard) { countOfCustomerCards++; } else if (anElement instanceof Date) { countOfDates++; } else if (anElement instanceof LoyaltyAccount) { countOfLoyaltyAccounts++; } else if (anElement instanceof LoyaltyProgram) { countOfLoyaltyPrograms++; } else if (anElement instanceof Membership) { countOfMemberships++; } else if (anElement instanceof ProgramPartner) { countOfProgramPartners++; } else if (anElement instanceof Service) { countOfServices++; } else if (anElement instanceof ServiceLevel) { countOfServiceLevels++; } else if (anElement instanceof Transaction && !(anElement instanceof Burning) && !(anElement instanceof Earning)) { countOfTransactions++; } if (anElement instanceof Burning) { countOfBurnings++; } // no else. } System.out.println("Example contains " + countOfCustomers + " Customers."); System.out.println("Example contains " + countOfCustomerCards + " CustomerCards."); System.out.println("Example contains " + countOfDates + " Dates."); System.out.println("Example contains " + countOfLoyaltyAccounts + " LoyaltyAccounts."); System.out.println("Example contains " + countOfLoyaltyPrograms + " LoyaltyPrograms."); System.out.println("Example contains " + countOfMemberships + " Memberships."); System.out.println("Example contains " + countOfProgramPartners + " ProgramPartners."); System.out.println("Example contains " + countOfServices + " Services."); System.out.println("Example contains " + countOfServiceLevels + " ServiceLevels."); System.out.println("Example contains " + countOfTransactions + " Transactions."); System.out.println("Example contains " + countOfBurnings + " Burnings."); } /** * @return A model instance of the royal and loyal UML model. */ public static List<Object> getModelObjects() { /* * PLEASE DO NOT CHANGE THE ORDERING IN WHICH THE OBJECTS ARE ADDED TO THE * RESULT. OTHERWHISE THE INTERPRETER TEST SUITE WON'T WORK ANYMORE!!! */ Customer customer1; Customer customer2; CustomerCard card1; CustomerCard card2; LoyaltyAccount account1; LoyaltyProgram program1; LoyaltyProgram program2; Membership membership1; Membership membership2; Service service1; ServiceLevel level1; ServiceLevel level2; ServiceLevel level3; Transaction transaction1; ProgramPartner partner1; if (myModelObjects == null) { myModelObjects = new ArrayList<Object>(); customer1 = new Customer(18); myModelObjects.add(customer1); customer2 = new Customer(11); myModelObjects.add(customer2); card1 = new CustomerCard(); card1.setValidFrom(new Date(2008, 1, 1)); card1.setValidThru(new Date(2009, 1, 1)); myModelObjects.add(card1); card2 = new CustomerCard(); card2.setValidFrom(new Date(2009, 1, 1)); card2.setValidThru(new Date(2008, 1, 1)); myModelObjects.add(card2); level1 = new ServiceLevel(); myModelObjects.add(level1); level2 = new ServiceLevel(); myModelObjects.add(level2); level3 = new ServiceLevel(); myModelObjects.add(level3); membership1 = new Membership(); membership1.setCurrentLevel(level1); myModelObjects.add(membership1); account1 = new LoyaltyAccount(); account1.setMembership(membership1); membership1.addAccount(account1); myModelObjects.add(account1); membership2 = new Membership(); membership2.setCurrentLevel(level2); myModelObjects.add(membership2); program1 = new LoyaltyProgram(); program1.setMembership(membership1); program1.addLevel(level1); program1.addLevel(level2); myModelObjects.add(program1); program2 = new LoyaltyProgram(); program2.setMembership(membership2); program2.addLevel(level1); program2.addLevel(level3); myModelObjects.add(program2); service1 = new Service(); myModelObjects.add(service1); partner1 = new ProgramPartner(); myModelObjects.add(partner1); level1.setProgram(program1); program1.addPartner(partner1); partner1.addProgram(program1); level1.addAvailableService(service1); service1.setLevel(level1); service1.setPartner(partner1); partner1.addDeliveredService(service1); transaction1 = new Transaction(); myModelObjects.add(transaction1); /* Add Objects for some iterator expression test cases. */ myModelObjects.addAll(getModelObjectsForIterator10()); myModelObjects.addAll(getModelObjectsForIterator12()); myModelObjects.addAll(getModelObjectsForIterator14()); myModelObjects.addAll(getModelObjectsForIterator15()); /* Add Objects for some boolean expression test cases. */ myModelObjects.addAll(getModelObjectsForBoolean01()); myModelObjects.addAll(getModelObjectsForBoolean03()); myModelObjects.addAll(getModelObjectsForBoolean04()); myModelObjects.addAll(getModelObjectsForBoolean05()); myModelObjects.addAll(getModelObjectsForBoolean06()); /* Add Objects for some iterator expression test cases. */ myModelObjects.addAll(getModelObjectsForIterator07()); myModelObjects.addAll(getModelObjectsForIterator08()); myModelObjects.addAll(getModelObjectsForIterator09()); /* Add Objects for some invariant expression test cases. */ myModelObjects.addAll(getModelObjectsForInv01()); /* Add Objects for some static object or operation test cases. */ myModelObjects.addAll(getModelObjectsForStatic01()); /* Add Objects for some body expression test cases. */ myModelObjects.addAll(getModelObjectsForBody02()); /* Add Objects for some definition test cases. */ myModelObjects.addAll(getModelObjectsForDef01()); myModelObjects.addAll(getModelObjectsForDef02()); myModelObjects.addAll(getModelObjectsForDef03()); myModelObjects.addAll(getModelObjectsForDef04()); myModelObjects.addAll(getModelObjectsForDef05()); myModelObjects.addAll(getModelObjectsForDef06()); myModelObjects.addAll(getModelObjectsForDef07()); myModelObjects.addAll(getModelObjectsForDef08()); /* Add Objects for some derived value test cases. */ myModelObjects.addAll(getModelObjectsForDerive01()); myModelObjects.addAll(getModelObjectsForDerive02()); /* Add Objects for some initial value test cases. */ myModelObjects.addAll(getModelObjectsForInit01()); myModelObjects.addAll(getModelObjectsForInit02()); myModelObjects.addAll(getModelObjectsForInit03()); /* Add Objects for some invariant test cases. */ myModelObjects.addAll(getModelObjectsForInv04()); myModelObjects.addAll(getModelObjectsForInv05()); myModelObjects.addAll(getModelObjectsForInv06()); myModelObjects.addAll(getModelObjectsForInv07()); myModelObjects.addAll(getModelObjectsForInv08()); myModelObjects.addAll(getModelObjectsForInv09()); myModelObjects.addAll(getModelObjectsForInv10()); myModelObjects.addAll(getModelObjectsForInv11()); myModelObjects.addAll(getModelObjectsForInv12()); myModelObjects.addAll(getModelObjectsForInv13()); myModelObjects.addAll(getModelObjectsForInv14()); myModelObjects.addAll(getModelObjectsForInv15()); myModelObjects.addAll(getModelObjectsForInv18()); /* Add Objects for some precondition test cases. */ myModelObjects.addAll(getModelObjectsForPre02()); /* Add Objects for some postcondition test cases. */ myModelObjects.addAll(getModelObjectsForPost01()); myModelObjects.addAll(getModelObjectsForPost02()); myModelObjects.addAll(getModelObjectsForPost05()); myModelObjects.addAll(getModelObjectsForPost06()); myModelObjects.addAll(getModelObjectsForPost07()); myModelObjects.addAll(getModelObjectsForPost08()); myModelObjects.addAll(getModelObjectsForPost11()); myModelObjects.addAll(getModelObjectsForPost12()); } // no else. return myModelObjects; } /** * @return A {@link List} containing all Objects used to test the * {@link Constraints} contained in the file 'boody02.ocl'. */ private static List<Object> getModelObjectsForBody02() { List<Object> result; result = new ArrayList<Object>(); LoyaltyAccount account1; Membership membership1; CustomerCard card1; Customer customer1; customer1 = new Customer(25); customer1.setName("Testman"); card1 = new CustomerCard(); card1.setOwner(customer1); membership1 = new Membership(); membership1.setCard(card1); account1 = new LoyaltyAccount(); account1.setMembership(membership1); result.add(account1); result.add(membership1); result.add(card1); result.add(customer1); return result; } /** * @return A {@link List} containing all Objects used to test the * {@link Constraints} contained in the file 'define01.ocl'. */ private static List<Object> getModelObjectsForDef01() { List<Object> result; result = new ArrayList<Object>(); LoyaltyAccount account1; Transaction ta1; Transaction ta2; ta1 = new Transaction(); ta1.setAmount(new Float(25.5)); ta2 = new Transaction(); ta2.setAmount(new Float(74.5)); account1 = new LoyaltyAccount(); account1.addTransaction(ta1); account1.addTransaction(ta2); result.add(account1); result.add(ta1); result.add(ta2); return result; } /** * @return A {@link List} containing all Objects used to test the * {@link Constraints} contained in the file 'define02.ocl'. */ private static List<Object> getModelObjectsForDef02() { List<Object> result; result = new ArrayList<Object>(); LoyaltyProgram aProgram; ServiceLevel level1; ServiceLevel level2; Service service1; Service service2; Service service3; service1 = new Service(); service2 = new Service(); service3 = new Service(); level1 = new ServiceLevel(); level1.setName("level1"); level1.addAvailableService(service1); level1.addAvailableService(service2); level2 = new ServiceLevel(); level2.setName("level2"); level2.addAvailableService(service3); aProgram = new LoyaltyProgram(); aProgram.addLevel(level1); aProgram.addLevel(level2); result.add(aProgram); result.add(level1); result.add(level2); result.add(service1); result.add(service2); result.add(service3); return result; } /** * @return A {@link List} containing all Objects used to test the * {@link Constraints} contained in the file 'define03.ocl'. */ private static List<Object> getModelObjectsForDef03() { List<Object> result; result = new ArrayList<Object>(); Membership membership1; ServiceLevel level1; level1 = new ServiceLevel(); level1.setName("level1"); membership1 = new Membership(); membership1.setCurrentLevel(level1); result.add(membership1); result.add(level1); return result; } /** * @return A {@link List} containing all Objects used to test the * {@link Constraints} contained in the file 'define04.ocl'. */ private static List<Object> getModelObjectsForDef04() { List<Object> result; result = new ArrayList<Object>(); LoyaltyAccount account1; Transaction ta1; Transaction ta2; Service service1; Service service2; service1 = new Service(); service2 = new Service(); ta1 = new Transaction(); ta1.setService(service1); ta2 = new Transaction(); ta2.setService(service2); account1 = new LoyaltyAccount(); account1.addTransaction(ta1); account1.addTransaction(ta2); result.add(account1); result.add(ta1); result.add(ta2); result.add(service1); result.add(service2); return result; } /** * @return A {@link List} containing all Objects used to test the * {@link Constraints} contained in the file 'define05.ocl'. */ private static List<Object> getModelObjectsForDef05() { List<Object> result; result = new ArrayList<Object>(); Customer customer1; customer1 = new Customer(25); customer1.setName("Tesman"); result.add(customer1); return result; } /** * @return A {@link List} containing all Objects used to test the * {@link Constraints} contained in the file 'define06.ocl'. */ private static List<Object> getModelObjectsForDef06() { List<Object> result; result = new ArrayList<Object>(); CustomerCard card1; Transaction ta1; Transaction ta2; ta1 = new Transaction(); ta1.setDate(Date.now()); ta1.setPoints(100); ta2 = new Transaction(); ta2.setDate(Date.now()); ta2.setPoints(50); card1 = new CustomerCard(); card1.addTransaction(ta1); card1.addTransaction(ta2); result.add(card1); result.add(ta1); result.add(ta2); return result; } /** * @return A {@link List} containing all Objects used to test the * {@link Constraints} contained in the file 'define07.ocl'. */ private static List<Object> getModelObjectsForDef07() { List<Object> result; result = new ArrayList<Object>(); CustomerCard card1; card1 = new CustomerCard(); result.add(card1); return result; } /** * @return A {@link List} containing all Objects used to test the * {@link Constraints} contained in the file 'define08.ocl'. */ private static List<Object> getModelObjectsForDef08() { List<Object> result; result = new ArrayList<Object>(); ProgramPartner partner1; Service service1; Service service2; Service service3; Transaction ta1; Transaction ta2; Transaction ta3; ta1 = new Burning(); ta2 = new Earning(); ta3 = new Burning(); service1 = new Service(); service1.setTransaction(ta1); service2 = new Service(); service2.setTransaction(ta2); service3 = new Service(); service3.setTransaction(ta3); partner1 = new ProgramPartner(); partner1.addDeliveredService(service1); partner1.addDeliveredService(service2); partner1.addDeliveredService(service3); result.add(partner1); result.add(service1); result.add(service2); result.add(service3); result.add(ta1); result.add(ta2); result.add(ta3); return result; } /** * @return A {@link List} containing all Objects used to test the * {@link Constraints} contained in the file 'derive01.ocl'. */ private static List<Object> getModelObjectsForDerive01() { List<Object> result; result = new ArrayList<Object>(); CustomerCard card1; Customer customer1; customer1 = new Customer(25); customer1.setName("Testman"); customer1.setTitle("Mr."); card1 = new CustomerCard(); card1.setOwner(customer1); result.add(card1); result.add(customer1); return result; } /** * @return A {@link List} containing all Objects used to test the * {@link Constraints} contained in the file 'derive02.ocl'. */ private static List<Object> getModelObjectsForDerive02() { List<Object> result; result = new ArrayList<Object>(); LoyaltyAccount account1; Transaction ta1; Transaction ta2; Transaction ta3; ta1 = new Earning(); ta1.setPoints(25); ta2 = new Burning(); ta2.setPoints(50); ta3 = new Earning(); ta3.setPoints(25); account1 = new LoyaltyAccount(); account1.addTransaction(ta1); account1.addTransaction(ta2); account1.addTransaction(ta3); result.add(account1); result.add(ta1); result.add(ta2); result.add(ta3); return result; } /** * @return A {@link List} containing all Objects used to test the * {@link Constraints} contained in the file 'init01.ocl'. */ private static List<Object> getModelObjectsForInit01() { List<Object> result; result = new ArrayList<Object>(); LoyaltyAccount account1; account1 = new LoyaltyAccount(); result.add(account1); return result; } /** * @return A {@link List} containing all Objects used to test the * {@link Constraints} contained in the file 'init02.ocl'. */ private static List<Object> getModelObjectsForInit02() { List<Object> result; result = new ArrayList<Object>(); CustomerCard card1; card1 = new CustomerCard(); result.add(card1); return result; } /** * @return A {@link List} containing all Objects used to test the * {@link Constraints} contained in the file 'init03.ocl'. */ private static List<Object> getModelObjectsForInit03() { List<Object> result; result = new ArrayList<Object>(); LoyaltyAccount account1; account1 = new LoyaltyAccount(); result.add(account1); return result; } /** * @return A {@link List} containing all Objects used to test the * {@link Constraints} contained in the file 'invariant01.ocl'. */ private static List<Object> getModelObjectsForInv01() { List<Object> result; result = new ArrayList<Object>(); Customer customer19; Customer customer20; Customer customer21; customer19 = new Customer(17); customer20 = new Customer(18); customer21 = new Customer(19); result.add(customer19); result.add(customer20); result.add(customer21); return result; } /** * @return A {@link List} containing all Objects used to test the * {@link Constraints} contained in the file 'invariant04.ocl'. */ private static List<Object> getModelObjectsForInv04() { List<Object> result; result = new ArrayList<Object>(); Membership membership1; Membership membership2; LoyaltyProgram program1; LoyaltyProgram program2; Customer customer1; Customer customer2; CustomerCard card1; CustomerCard card2; CustomerCard card3; card1 = new CustomerCard(); card2 = new CustomerCard(); card3 = new CustomerCard(); customer1 = new Customer(25); customer1.addCard(card1); customer2 = new Customer(25); customer2.addCard(card2); program1 = new LoyaltyProgram(); program1.enroll(customer1); program2 = new LoyaltyProgram(); program2.enroll(customer2); membership1 = new Membership(); membership1.setProgram(program1); membership1.setCard(card1); membership2 = new Membership(); membership2.setProgram(program2); membership2.setCard(card3); result.add(membership1); result.add(membership2); result.add(program1); result.add(program2); result.add(customer1); result.add(customer2); result.add(card1); result.add(card2); result.add(card3); return result; } /** * @return A {@link List} containing all Objects used to test the * {@link Constraints} contained in the file 'invariant05.ocl'. */ private static List<Object> getModelObjectsForInv05() { List<Object> result; result = new ArrayList<Object>(); Membership membership1; Membership membership2; ServiceLevel level1; ServiceLevel level2; CustomerCard card1; CustomerCard card2; card1 = new CustomerCard(); card2 = new CustomerCard(); card1.setColor(Color.silver); card2.setColor(Color.silver); level1 = new ServiceLevel(); level2 = new ServiceLevel(); level1.setName("Silver"); level2.setName("Gold"); membership1 = new Membership(); membership2 = new Membership(); membership1.setCurrentLevel(level1); membership2.setCurrentLevel(level2); membership1.setCard(card1); membership2.setCard(card2); result.add(membership1); result.add(membership2); result.add(level1); result.add(level2); result.add(card1); result.add(card2); return result; } /** * @return A {@link List} containing all Objects used to test the * {@link Constraints} contained in the file 'invariant06.ocl'. */ private static List<Object> getModelObjectsForInv06() { List<Object> result; result = new ArrayList<Object>(); LoyaltyProgram program1; LoyaltyProgram program2; ProgramPartner partner1; ProgramPartner partner2; Service service1; service1 = new Service(); partner1 = new ProgramPartner(); partner2 = new ProgramPartner(); partner1.addDeliveredService(service1); program1 = new LoyaltyProgram(); program2 = new LoyaltyProgram(); program1.addPartner(partner1); program2.addPartner(partner1); program2.addPartner(partner2); result.add(program1); result.add(program2); result.add(partner1); result.add(partner2); result.add(service1); return result; } /** * @return A {@link List} containing all Objects used to test the * {@link Constraints} contained in the file 'invariant07.ocl'. */ private static List<Object> getModelObjectsForInv07() { List<Object> result; result = new ArrayList<Object>(); Customer customer1; Customer customer2; LoyaltyProgram program1; LoyaltyProgram program2; CustomerCard card1; CustomerCard card2; CustomerCard card3; CustomerCard card4; card1 = new CustomerCard(); card2 = new CustomerCard(); card3 = new CustomerCard(); card4 = new CustomerCard(); card1.setValid(true); card2.setValid(true); card3.setValid(true); card4.setValid(false); program1 = new LoyaltyProgram(); program2 = new LoyaltyProgram(); customer1 = new Customer(25); customer2 = new Customer(25); customer1.addProgram(program1); customer1.addProgram(program2); customer2.addProgram(program1); customer2.addProgram(program2); customer1.addCard(card1); customer1.addCard(card2); customer2.addCard(card3); customer2.addCard(card4); result.add(customer1); result.add(customer2); result.add(program1); result.add(program2); result.add(card1); result.add(card2); result.add(card3); result.add(card4); return result; } /** * @return A {@link List} containing all Objects used to test the * {@link Constraints} contained in the file 'invariant08.ocl'. */ private static List<Object> getModelObjectsForInv08() { List<Object> result; result = new ArrayList<Object>(); LoyaltyProgram program1; LoyaltyProgram program2; Service service1; Service service2; ProgramPartner partner1; ProgramPartner partner2; Membership membership1; Membership membership2; LoyaltyAccount account1; account1 = new LoyaltyAccount(); membership1 = new Membership(); membership2 = new Membership(); membership2.addAccount(account1); service1 = new Service(); service2 = new Service(); partner1 = new ProgramPartner(); partner2 = new ProgramPartner(); partner1.addDeliveredService(service1); partner2.addDeliveredService(service2); service1.setPointsBurned(0); service2.setPointsBurned(0); service1.setPointsEarned(0); service2.setPointsEarned(0); program1 = new LoyaltyProgram(); program2 = new LoyaltyProgram(); program1.addPartner(partner1); program2.addPartner(partner2); program1.setMembership(membership1); program2.setMembership(membership2); result.add(program1); result.add(program2); result.add(service1); result.add(service2); result.add(partner1); result.add(partner2); result.add(membership1); result.add(membership2); result.add(account1); return result; } /** * @return A {@link List} containing all Objects used to test the * {@link Constraints} contained in the file 'invariant09.ocl'. */ private static List<Object> getModelObjectsForInv09() { List<Object> result; result = new ArrayList<Object>(); /* * context ProgramPartner inv nrOfParticipants: numberOfCustomers = * programs.participants->size() */ ProgramPartner partner1; ProgramPartner partner2; LoyaltyProgram program1; LoyaltyProgram program2; Customer customer1; customer1 = new Customer(25); program1 = new LoyaltyProgram(); program2 = new LoyaltyProgram(); program1.enroll(customer1); partner1 = new ProgramPartner(); partner2 = new ProgramPartner(); partner1.setNumberOfCustomers(1); partner2.setNumberOfCustomers(1); partner1.addProgram(program1); partner2.addProgram(program2); result.add(partner1); result.add(partner2); result.add(program1); result.add(program2); result.add(customer1); return result; } /** * @return A {@link List} containing all Objects used to test the * {@link Constraints} contained in the file 'invariant10.ocl'. */ private static List<Object> getModelObjectsForInv10() { List<Object> result; result = new ArrayList<Object>(); LoyaltyProgram program1; LoyaltyProgram program2; ServiceLevel level1; ServiceLevel level2; level1 = new ServiceLevel(); level2 = new ServiceLevel(); level1.setName("Silver"); level2.setName("Gold"); program1 = new LoyaltyProgram(); program2 = new LoyaltyProgram(); program1.addLevel(level1); program1.addLevel(level2); program2.addLevel(level2); program2.addLevel(level1); result.add(program1); result.add(program2); result.add(level1); result.add(level2); return result; } /** * @return A {@link List} containing all Objects used to test the * {@link Constraints} contained in the file 'invariant11.ocl'. */ private static List<Object> getModelObjectsForInv11() { List<Object> result; result = new ArrayList<Object>(); ProgramPartner partner1; ProgramPartner partner2; Service service1; Service service2; Transaction ta1; Transaction ta2; ta1 = new Transaction(); ta2 = new Transaction(); ta1.setPoints(2000); ta2.setPoints(10000); service1 = new Service(); service2 = new Service(); service1.setTransaction(ta1); service2.setTransaction(ta2); partner1 = new ProgramPartner(); partner2 = new ProgramPartner(); partner1.addDeliveredService(service1); partner2.addDeliveredService(service2); result.add(partner1); result.add(partner2); result.add(service1); result.add(service2); result.add(ta1); result.add(ta2); return result; } /** * @return A {@link List} containing all Objects used to test the * {@link Constraints} contained in the file 'invariant12.ocl'. */ private static List<Object> getModelObjectsForInv12() { List<Object> result; result = new ArrayList<Object>(); ProgramPartner partner1; ProgramPartner partner2; Service service1; Service service2; Transaction ta1; Transaction ta2; ta1 = new Burning(); ta2 = new Earning(); ta1.setPoints(10000); ta2.setPoints(10000); service1 = new Service(); service2 = new Service(); service1.setTransaction(ta1); service2.setTransaction(ta2); partner1 = new ProgramPartner(); partner2 = new ProgramPartner(); partner1.addDeliveredService(service1); partner2.addDeliveredService(service2); result.add(partner1); result.add(partner2); result.add(service1); result.add(service2); result.add(ta1); result.add(ta2); return result; } /** * @return A {@link List} containing all Objects used to test the * {@link Constraints} contained in the file 'invariant13.ocl'. */ private static List<Object> getModelObjectsForInv13() { List<Object> result; result = new ArrayList<Object>(); CustomerCard card1; CustomerCard card2; card1 = new CustomerCard(); card2 = new CustomerCard(); card1.setValidFrom(new Date(2008, 1, 1)); card2.setValidFrom(new Date(2008, 1, 1)); card1.setValidThru(new Date(3008, 1, 1)); card2.setValidThru(new Date(2009, 1, 1)); card1.setValid(true); card2.setValid(true); result.add(card1); result.add(card2); return result; } /** * @return A {@link List} containing all Objects used to test the * {@link Constraints} contained in the file 'invariant14.ocl'. */ private static List<Object> getModelObjectsForInv14() { List<Object> result; result = new ArrayList<Object>(); LoyaltyAccount account1; LoyaltyAccount account2; Transaction ta1; Transaction ta2; Transaction ta3; Transaction ta4; CustomerCard card1; CustomerCard card2; CustomerCard card3; CustomerCard card4; Customer customer1; Customer customer2; customer1 = new Customer(25); customer2 = new Customer(25); card1 = new CustomerCard(); card2 = new CustomerCard(); card3 = new CustomerCard(); card4 = new CustomerCard(); card1.setOwner(customer1); card2.setOwner(customer1); card3.setOwner(customer1); card4.setOwner(customer2); ta1 = new Transaction(); ta2 = new Transaction(); ta3 = new Transaction(); ta4 = new Transaction(); ta1.setCard(card1); ta2.setCard(card2); ta3.setCard(card3); ta4.setCard(card4); account1 = new LoyaltyAccount(); account2 = new LoyaltyAccount(); account1.addTransaction(ta1); account1.addTransaction(ta2); account2.addTransaction(ta3); account2.addTransaction(ta4); result.add(account1); result.add(account2); result.add(ta1); result.add(ta2); result.add(ta3); result.add(ta4); result.add(card1); result.add(card2); result.add(card3); result.add(card4); result.add(customer1); result.add(customer2); return result; } /** * @return A {@link List} containing all Objects used to test the * {@link Constraints} contained in the file 'invariant15.ocl'. */ private static List<Object> getModelObjectsForInv15() { List<Object> result; result = new ArrayList<Object>(); LoyaltyAccount account1; LoyaltyAccount account2; Transaction ta1; ta1 = new Transaction(); ta1.setPoints(100); account1 = new LoyaltyAccount(); account2 = new LoyaltyAccount(); account1.setPoints(100); account2.setPoints(100); account1.addTransaction(ta1); result.add(account1); result.add(account2); result.add(ta1); return result; } /** * @return A {@link List} containing all Objects used to test the * {@link Constraints} contained in the file 'invariant18.ocl'. */ private static List<Object> getModelObjectsForInv18() { List<Object> result; result = new ArrayList<Object>(); Transaction ta1; ta1 = new Burning(); ta1.setPoints(100); result.add(ta1); return result; } /** * @return A {@link List} containing all Objects used to test the * {@link Constraints} contained in the file 'post01.ocl'. */ private static List<Object> getModelObjectsForPost01() { List<Object> result; result = new ArrayList<Object>(); LoyaltyProgram program1; Customer customer1; Customer customer2; program1 = new LoyaltyProgram(); customer1 = new Customer(25); customer2 = new Customer(25); result.add(program1); result.add(customer1); result.add(customer2); return result; } /** * @return A {@link List} containing all Objects used to test the * {@link Constraints} contained in the file 'post02.ocl'. */ private static List<Object> getModelObjectsForPost02() { List<Object> result; result = new ArrayList<Object>(); LoyaltyProgram program1; ProgramPartner partner1; ServiceLevel level1; Service service1; service1 = new Service(); level1 = new ServiceLevel(); partner1 = new ProgramPartner(); program1 = new LoyaltyProgram(); program1.addPartner(partner1); program1.addLevel(level1); result.add(program1); result.add(partner1); result.add(level1); result.add(service1); return result; } /** * @return A {@link List} containing all Objects used to test the * {@link Constraints} contained in the file 'post05.ocl'. */ private static List<Object> getModelObjectsForPost05() { List<Object> result; result = new ArrayList<Object>(); LoyaltyAccount account1; LoyaltyAccount account2; account1 = new LoyaltyAccount(); account2 = new LoyaltyAccount(); account1.setPoints(0); account2.setPoints(100); result.add(account1); result.add(account2); return result; } /** * @return A {@link List} containing all Objects used to test the * {@link Constraints} contained in the file 'post06.ocl'. */ private static List<Object> getModelObjectsForPost06() { List<Object> result; result = new ArrayList<Object>(); Customer customer1; customer1 = new Customer(25); result.add(customer1); return result; } /** * @return A {@link List} containing all Objects used to test the * {@link Constraints} contained in the file 'post07.ocl'. */ private static List<Object> getModelObjectsForPost07() { List<Object> result; result = new ArrayList<Object>(); Service service1; service1 = new Service(); service1.setPointsEarned(100); service1.setPointsBurned(0); result.add(service1); return result; } /** * @return A {@link List} containing all Objects used to test the * {@link Constraints} contained in the file 'post08.ocl'. */ private static List<Object> getModelObjectsForPost08() { List<Object> result; result = new ArrayList<Object>(); Transaction ta1; Service service1; ServiceLevel level1; LoyaltyProgram program1; program1 = new LoyaltyProgram(); level1 = new ServiceLevel(); level1.setProgram(program1); service1 = new Service(); service1.setLevel(level1); ta1 = new Transaction(); ta1.setService(service1); result.add(ta1); result.add(service1); result.add(level1); result.add(program1); return result; } /** * @return A {@link List} containing all Objects used to test the * {@link Constraints} contained in the file 'post11.ocl'. */ private static List<Object> getModelObjectsForPost11() { List<Object> result; result = new ArrayList<Object>(); LoyaltyProgram program1; Membership membership1; Customer customer1; customer1 = new Customer(25); membership1 = new Membership(); program1 = new LoyaltyProgram(); program1.setMembership(membership1); result.add(program1); result.add(customer1); result.add(membership1); return result; } /** * @return A {@link List} containing all Objects used to test the * {@link Constraints} contained in the file 'post11.ocl'. */ private static List<Object> getModelObjectsForPost12() { List<Object> result; result = new ArrayList<Object>(); Date date1; date1 = Date.now(); result.add(date1); return result; } /** * @return A {@link List} containing all Objects used to test the * {@link Constraints} contained in the file 'pre02.ocl'. */ private static List<Object> getModelObjectsForPre02() { List<Object> result; result = new ArrayList<Object>(); LoyaltyProgram program1; LoyaltyProgram program2; LoyaltyProgram program3; ProgramPartner partner1; ServiceLevel level1; level1 = new ServiceLevel(); partner1 = new ProgramPartner(); program1 = new LoyaltyProgram(); program2 = new LoyaltyProgram(); program3 = new LoyaltyProgram(); program1.addPartner(partner1); program2.addPartner(partner1); program1.addLevel(level1); program3.addLevel(level1); result.add(program1); result.add(program2); result.add(program3); result.add(partner1); result.add(level1); return result; } /** * @return A {@link List} containing all Objects used to test the * {@link Constraints} contained in the file 'boolean01.ocl'. */ private static List<Object> getModelObjectsForBoolean01() { List<Object> result; result = new ArrayList<Object>(); Service service3; Service service4; service3 = new Service(); service4 = new Service(); service3.setPointsEarned(100); service3.setPointsBurned(0); service4.setPointsEarned(100); service4.setPointsBurned(50); result.add(service3); result.add(service4); return result; } /** * @return A {@link List} containing all Objects used to test the * {@link Constraints} contained in the file 'boolean03.ocl'. */ private static List<Object> getModelObjectsForBoolean03() { List<Object> result; result = new ArrayList<Object>(); Customer customer7; Customer customer8; Customer customer9; customer7 = new Customer(15); customer8 = new Customer(55); customer9 = new Customer(99); result.add(customer7); result.add(customer8); result.add(customer9); return result; } /** * @return A {@link List} containing all Objects used to test the * {@link Constraints} contained in the file 'boolean04.ocl'. */ private static List<Object> getModelObjectsForBoolean04() { List<Object> result; result = new ArrayList<Object>(); Customer customer10; Customer customer11; CustomerCard card3; CustomerCard card4; CustomerCard card5; CustomerCard card6; customer10 = new Customer(11); customer11 = new Customer(11); card3 = new CustomerCard(); card4 = new CustomerCard(); card5 = new CustomerCard(); card6 = new CustomerCard(); customer10.addCard(card3); customer10.addCard(card4); customer10.addCard(card5); customer10.addCard(card6); result.add(customer10); result.add(customer11); result.add(card3); result.add(card4); result.add(card5); result.add(card6); return result; } /** * @return A {@link List} containing all Objects used to test the * {@link Constraints} contained in the file 'boolean05.ocl'. */ private static List<Object> getModelObjectsForBoolean05() { List<Object> result; result = new ArrayList<Object>(); Customer customer12; Customer customer13; Customer customer14; customer12 = new Customer(25); customer12.setTitle("Mr."); customer13 = new Customer(25); customer13.setTitle("Ms."); customer14 = new Customer(25); customer14.setTitle("Dr."); result.add(customer12); result.add(customer13); result.add(customer14); return result; } /** * @return A {@link List} containing all Objects used to test the * {@link Constraints} contained in the file 'boolean06.ocl'. */ private static List<Object> getModelObjectsForBoolean06() { List<Object> result; result = new ArrayList<Object>(); Customer customer15; Customer customer16; customer15 = new Customer(25); customer15.setName("Foobar"); customer16 = new Customer(25); customer16.setName("Nobar"); result.add(customer15); result.add(customer16); return result; } /** * @return A {@link List} containing all Objects used to test the * {@link Constraints} contained in the file 'iterator07.ocl'. */ private static List<Object> getModelObjectsForIterator07() { List<Object> result; result = new ArrayList<Object>(); CustomerCard card7; CustomerCard card8; Transaction transaction5; Transaction transaction6; card7 = new CustomerCard(); card8 = new CustomerCard(); transaction5 = new Transaction(); transaction6 = new Transaction(); transaction5.setPoints(100); transaction6.setPoints(200); card7.addTransaction(transaction5); card8.addTransaction(transaction5); card8.addTransaction(transaction6); result.add(card7); result.add(card8); result.add(transaction5); result.add(transaction6); return result; } /** * @return A {@link List} containing all Objects used to test the * {@link Constraints} contained in the file 'iterator08.ocl'. */ private static List<Object> getModelObjectsForIterator08() { List<Object> result; result = new ArrayList<Object>(); Customer customer17; Customer customer18; LoyaltyProgram program10; LoyaltyProgram program11; Membership membership6; Membership membership7; LoyaltyAccount account7; LoyaltyAccount account8; customer17 = new Customer(25); customer18 = new Customer(25); program10 = new LoyaltyProgram(); program11 = new LoyaltyProgram(); customer17.addProgram(program10); customer18.addProgram(program11); membership6 = new Membership(); membership7 = new Membership(); program10.setMembership(membership6); program11.setMembership(membership7); account7 = new LoyaltyAccount(); account8 = new LoyaltyAccount(); membership6.addAccount(account7); membership7.addAccount(account7); membership7.addAccount(account8); account7.setPoints(0); account8.setPoints(100); result.add(customer17); result.add(customer18); result.add(program10); result.add(program11); result.add(membership6); result.add(membership7); result.add(account7); result.add(account8); return result; } /** * @return A {@link List} containing all Objects used to test the * {@link Constraints} contained in the file 'iterator09.ocl'. */ private static List<Object> getModelObjectsForIterator09() { List<Object> result; result = new ArrayList<Object>(); LoyaltyProgram program12; LoyaltyProgram program13; Membership membership8; Membership membership9; LoyaltyAccount account9; LoyaltyAccount account10; program12 = new LoyaltyProgram(); program13 = new LoyaltyProgram(); membership8 = new Membership(); membership9 = new Membership(); program12.setMembership(membership8); program13.setMembership(membership9); account9 = new LoyaltyAccount(); account10 = new LoyaltyAccount(); membership8.addAccount(account9); membership8.addAccount(account10); membership9.addAccount(account10); account9.setNumber(9999); account10.setNumber(10000); result.add(program12); result.add(program13); result.add(membership8); result.add(membership9); result.add(account9); result.add(account10); return result; } /** * @return A {@link List} containing all Objects used to test the * {@link Constraints} contained in the file 'iterator10.ocl'. */ private static List<Object> getModelObjectsForIterator10() { List<Object> result; result = new ArrayList<Object>(); Customer customer3; Customer customer4; LoyaltyProgram program3; LoyaltyProgram program4; program3 = new LoyaltyProgram(); program4 = new LoyaltyProgram(); customer3 = new Customer(27); customer3.setName("Testman"); customer4 = new Customer(95); customer4.setName("Testman"); program3.enroll(customer3); program4.enroll(customer3); program4.enroll(customer4); result.add(program3); result.add(program4); result.add(customer3); result.add(customer4); return result; } /** * @return A {@link List} containing all Objects used to test the * {@link Constraints} contained in the file 'iterator12.ocl'. */ private static List<Object> getModelObjectsForIterator12() { List<Object> result; result = new ArrayList<Object>(); LoyaltyAccount account2; LoyaltyAccount account3; LoyaltyAccount account4; LoyaltyProgram program5; LoyaltyProgram program6; LoyaltyProgram program7; Membership membership3; Membership membership4; Membership membership5; program5 = new LoyaltyProgram(); program6 = new LoyaltyProgram(); program7 = new LoyaltyProgram(); account2 = new LoyaltyAccount(); account2.setNumber(9998); account3 = new LoyaltyAccount(); account3.setNumber(9999); account4 = new LoyaltyAccount(); account4.setNumber(10000); membership3 = new Membership(); membership4 = new Membership(); membership5 = new Membership(); program5.setMembership(membership3); program6.setMembership(membership4); program7.setMembership(membership5); membership4.addAccount(account2); membership5.addAccount(account2); membership5.addAccount(account3); membership5.addAccount(account4); result.add(program5); result.add(program6); result.add(program7); result.add(account2); result.add(account3); result.add(account4); result.add(membership3); result.add(membership4); result.add(membership5); return result; } /** * @return A {@link List} containing all Objects used to test the * {@link Constraints} contained in the file 'iterator14.ocl'. */ private static List<Object> getModelObjectsForIterator14() { List<Object> result; result = new ArrayList<Object>(); Transaction transaction2; Transaction transaction3; Transaction transaction4; LoyaltyAccount account5; LoyaltyAccount account6; account5 = new LoyaltyAccount(); account6 = new LoyaltyAccount(); transaction2 = new Transaction(); transaction3 = new Transaction(); transaction4 = new Transaction(); transaction2.setPoints(400); transaction3.setPoints(500); transaction4.setPoints(600); account5.addTransaction(transaction2); account5.addTransaction(transaction4); account6.addTransaction(transaction2); account6.addTransaction(transaction3); account6.addTransaction(transaction4); result.add(account5); result.add(account6); result.add(transaction2); result.add(transaction3); result.add(transaction4); return result; } /** * @return A {@link List} containing all Objects used to test the * {@link Constraints} contained in the file 'iterator15.ocl'. */ private static List<Object> getModelObjectsForIterator15() { List<Object> result; result = new ArrayList<Object>(); Customer customer5; Customer customer6; LoyaltyProgram program8; LoyaltyProgram program9; ProgramPartner partner2; ProgramPartner partner3; Service service2; customer5 = new Customer(25); customer6 = new Customer(25); program8 = new LoyaltyProgram(); program9 = new LoyaltyProgram(); customer5.addProgram(program8); customer6.addProgram(program9); partner2 = new ProgramPartner(); partner3 = new ProgramPartner(); program9.addPartner(partner2); program9.addPartner(partner3); service2 = new Service(); partner3.addDeliveredService(service2); result.add(customer5); result.add(customer6); result.add(program8); result.add(program9); result.add(partner2); result.add(partner3); result.add(service2); return result; } /** * @return A {@link List} containing all Objects used to test the * {@link Constraints} contained in the file 'iterator01.ocl'. */ private static List<Object> getModelObjectsForStatic01() { List<Object> result; result = new ArrayList<Object>(); Transaction transaction1; Date date1; transaction1 = new Transaction(); date1 = new Date(2008, 1, 1); transaction1.setDate(date1); result.add(transaction1); result.add(date1); return result; } }