001: /*
002: * Wilos Is a cLever process Orchestration Software - http://www.wilos-project.org
003: * Copyright (C) 2006-2007 Paul Sabatier University, IUP ISI (Toulouse, France) <massie@irit.fr>
004: *
005: * This program is free software; you can redistribute it and/or modify it under the terms of the GNU
006: * General Public License as published by the Free Software Foundation; either version 2 of the License,
007: * or (at your option) any later version.
008: *
009: * This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
010: * even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
011: * GNU General Public License for more details.
012: *
013: * You should have received a copy of the GNU General Public License along with this program; if not,
014: * write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
015: */
016: package wilos.test.model.misc.concretetaskdescriptor;
017:
018: import static org.junit.Assert.assertEquals;
019: import static org.junit.Assert.assertNotNull;
020: import static org.junit.Assert.assertNull;
021: import static org.junit.Assert.assertTrue;
022: import static org.junit.Assert.fail;
023:
024: import java.text.ParseException;
025: import java.util.Date;
026:
027: import org.junit.After;
028: import org.junit.Before;
029: import org.junit.Test;
030:
031: import wilos.model.misc.concreterole.ConcreteRoleDescriptor;
032: import wilos.model.misc.concretetask.ConcreteTaskDescriptor;
033: import wilos.model.spem2.task.TaskDescriptor;
034: import wilos.utils.Constantes;
035: import wilos.utils.Constantes.State;
036:
037: public class ConcreteTaskDescriptorTest {
038:
039: private ConcreteTaskDescriptor concreteTaskDescriptor;
040:
041: private Date date;
042:
043: public static final String CONCRETE_NAME = "Concrete name";
044:
045: public static final int ACCOMPLISHED_TIME = 15;
046:
047: public static final int PLANNED_TIME = 24;
048:
049: public static final String PLANNED_FINISHING_DATE_STRING = "18/01/2007 10:00";
050:
051: public ConcreteTaskDescriptorTest() {
052: try {
053: date = Constantes.DATE_FORMAT
054: .parse(PLANNED_FINISHING_DATE_STRING);
055: } catch (ParseException e) {
056: e.printStackTrace();
057: }
058: }
059:
060: @Before
061: public void setUp() {
062: this .concreteTaskDescriptor = new ConcreteTaskDescriptor();
063: this .concreteTaskDescriptor.setConcreteName(CONCRETE_NAME);
064: this .concreteTaskDescriptor
065: .setAccomplishedTime(ACCOMPLISHED_TIME);
066: this .concreteTaskDescriptor.setPlannedTime(PLANNED_TIME);
067: this .concreteTaskDescriptor.setPlannedFinishingDate(this .date);
068: }
069:
070: @After
071: public void tearDown() {
072: //None
073: }
074:
075: @Test
076: public void testClone() {
077: try {
078: assertEquals(this .concreteTaskDescriptor,
079: this .concreteTaskDescriptor.clone());
080: } catch (CloneNotSupportedException e) {
081: fail("Error CloneNotSupportedException in the testClone method");
082: }
083: }
084:
085: @Test
086: public void testHashCode() {
087: ConcreteTaskDescriptor ctd = new ConcreteTaskDescriptor();
088: ctd.setConcreteName(CONCRETE_NAME);
089: ctd.setAccomplishedTime(ACCOMPLISHED_TIME);
090: ctd.setPlannedTime(PLANNED_TIME);
091: ctd.setPlannedFinishingDate(this .date);
092:
093: assertNotNull(this .concreteTaskDescriptor.hashCode());
094: assertNotNull(ctd.hashCode());
095: assertEquals(this .concreteTaskDescriptor.hashCode(), ctd
096: .hashCode());
097: }
098:
099: @Test
100: public void testAddTaskDescriptor() {
101: TaskDescriptor taskDescriptor = new TaskDescriptor();
102: this .concreteTaskDescriptor.addTaskDescriptor(taskDescriptor);
103: assertNotNull(this .concreteTaskDescriptor.getTaskDescriptor());
104: assertEquals(this .concreteTaskDescriptor.getTaskDescriptor(),
105: taskDescriptor);
106: assertEquals(this .concreteTaskDescriptor.getState(),
107: State.CREATED);
108: assertEquals(this .concreteTaskDescriptor
109: .getPlannedFinishingDate(), this .date);
110: assertTrue(taskDescriptor.getConcreteTaskDescriptors().size() == 1);
111: System.out.println(this .concreteTaskDescriptor.getState());
112: System.out.println(this .concreteTaskDescriptor
113: .getPlannedFinishingDate());
114: }
115:
116: @Test
117: public void testRemoveTaskDescriptor() {
118: TaskDescriptor taskDescriptor = new TaskDescriptor();
119:
120: this .concreteTaskDescriptor.addTaskDescriptor(taskDescriptor);
121: assertNotNull(this .concreteTaskDescriptor.getTaskDescriptor());
122: assertEquals(this .concreteTaskDescriptor.getTaskDescriptor(),
123: taskDescriptor);
124:
125: this .concreteTaskDescriptor
126: .removeTaskDescriptor(taskDescriptor);
127: assertNull(this .concreteTaskDescriptor.getTaskDescriptor());
128: assertTrue(taskDescriptor.getConcreteTaskDescriptors().size() == 0);
129: }
130:
131: @Test
132: public void testaddConcreteRoleDescriptor() {
133: ConcreteRoleDescriptor crd = new ConcreteRoleDescriptor();
134: this .concreteTaskDescriptor.addMainConcreteRoleDescriptor(crd);
135:
136: assertTrue(this .concreteTaskDescriptor
137: .getMainConcreteRoleDescriptor() == crd);
138: assertTrue(crd.getPrimaryConcreteTaskDescriptors().size() == 1);
139: }
140:
141: }
|