1   ////////////////////////////////////////////////////////////////////////////////
2   //CabaWeb
3   //Copyright (C) 2004  Thomas Vogt <Thomas.Vogt@TVC-Software.com>
4   //
5   //This library is free software; you can redistribute it and/or
6   //modify it under the terms of the GNU Lesser General Public
7   //License as published by the Free Software Foundation; either
8   //version 2.1 of the License, or (at your option) any later version.
9   //
10  //This library is distributed in the hope that it will be useful,
11  //but WITHOUT ANY WARRANTY; without even the implied warranty of
12  //MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13  //Lesser General Public License for more details.
14  //
15  //You should have received a copy of the GNU Lesser General Public
16  //License along with this library; if not, write to the Free Software
17  //Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
18  ////////////////////////////////////////////////////////////////////////////////
19  
20  package org.fhw.cabaweb.junittests;
21  
22  import java.sql.Date;
23  import java.sql.Time;
24  import java.util.Collection;
25  
26  import org.apache.ojb.broker.PersistenceBroker;
27  import org.apache.ojb.broker.PersistenceBrokerFactory;
28  
29  import org.fhw.cabaweb.ojb.UseCaseBerechnungsauftraege;
30  import org.fhw.cabaweb.ojb.UseCaseProjekte;
31  import org.fhw.cabaweb.ojb.dataobjects.Berechnungsauftraege;
32  import org.fhw.cabaweb.ojb.dataobjects.Projekte;
33  import org.fhw.cabaweb.ojb.interfaces.UseCase;
34  
35  import junit.framework.TestCase;
36  
37  /***
38   * Klasse f&uuml;r den Test der Funktionen des UseCases Berechnungsauftraege
39   *
40   * @author  <a href="mailto:thomas.vogt@tvc-software.com">Thomas Vogt</a>
41   * @version 16.05.2004
42   */
43  public class UseCaseBerechnungsauftraegeTest extends TestCase
44  {
45      private PersistenceBroker broker;
46      private UseCase testCase;
47      private Berechnungsauftraege test;
48      private Date datum;
49      private Time uhrzeit;
50  
51      public static void main(String[] args)
52      {
53          //      junit.swingui.TestRunner.run(UseCaseProjektbeschreibungenTest.class);
54          junit.textui.TestRunner.run(UseCaseBerechnungsauftraegeTest.class);
55      }
56  
57  	/*
58  	 * @see TestCase#setUp()
59  	 */
60  	protected void setUp() throws Exception
61  	{
62          super.setUp();
63  
64          broker = null;
65          try
66          {
67              broker = PersistenceBrokerFactory.defaultPersistenceBroker();
68          }
69          catch (Throwable t)
70          {
71              t.printStackTrace();
72          }
73  
74          testCase = (UseCase) new UseCaseBerechnungsauftraege(broker);
75          datum = new Date(System.currentTimeMillis());
76          uhrzeit = new Time(System.currentTimeMillis());
77          
78          test = new Berechnungsauftraege();
79  	}
80  
81  	/*
82  	 * @see TestCase#tearDown()
83  	 */
84  	protected void tearDown() throws Exception
85  	{
86          super.tearDown();
87          
88          try
89          {
90              broker.close();
91          }
92          catch (Throwable t)
93          {
94              t.printStackTrace();
95          }
96  	}
97  
98      public void testErzeugen()
99      {
100         Projekte prj = new Projekte(new Integer(1), null, null, null);
101         UseCase prjCase = (UseCase) new UseCaseProjekte(broker);
102         
103         prj = (Projekte) prjCase.sucheObjekt(prj);
104         
105         test = new Berechnungsauftraege(prj, datum, uhrzeit, new Integer(0), new Short((short) 0));
106 
107         testCase.erzeugen(test);
108 
109         Berechnungsauftraege test2 = new Berechnungsauftraege(prj, null, null, null, null);
110  
111         assertEquals(test.toString(), ((Berechnungsauftraege) testCase.sucheObjekt(test2)).toString());
112 
113         test = new Berechnungsauftraege();       
114     }
115 
116     public void testEditieren()
117     {
118         Projekte prj = new Projekte(new Integer(1), null, null, null);
119         UseCase prjCase = (UseCase) new UseCaseProjekte(broker);
120         
121         prj = (Projekte) prjCase.sucheObjekt(prj);
122         
123         test = new Berechnungsauftraege(prj, datum, uhrzeit, new Integer(1), new Short((short) 1));
124 
125         testCase.editieren(test);
126 
127         Berechnungsauftraege test2 = new Berechnungsauftraege(prj, datum, uhrzeit, new Integer(1), new Short((short) 1));
128  
129         assertEquals(test.toString(), ((Berechnungsauftraege) testCase.sucheObjekt(test2)).toString());
130 
131         test = new Berechnungsauftraege();       
132     }
133 
134     public void testSucheObjekt()
135     {
136         Projekte prj = new Projekte(new Integer(1), null, null, null);
137         UseCase prjCase = (UseCase) new UseCaseProjekte(broker);
138         
139         prj = (Projekte) prjCase.sucheObjekt(prj);
140         
141         test = new Berechnungsauftraege(prj, null, null, null, null);
142 
143         Berechnungsauftraege objekt = (Berechnungsauftraege) testCase.sucheObjekt(test);
144         
145         Berechnungsauftraege test2 = new Berechnungsauftraege(prj, datum, uhrzeit, new Integer(1), new Short((short) 1));
146  
147         assertEquals(test2.toString(), objekt.toString());
148 
149         test = new Berechnungsauftraege();        
150     }
151 
152     public void testSucheObjekte()
153     {
154         test = new Berechnungsauftraege(null, null, null, new Integer(1), null);
155 
156         Collection objekte = testCase.sucheObjekte(test);
157         
158         java.util.Iterator iter = objekte.iterator();
159         while (iter.hasNext())
160         {
161 //          System.out.println(iter.next());
162             iter.next();
163         }         
164 
165         assertEquals(true, objekte.size() == 1);
166     }
167 
168     public void testSucheAlle()
169     {
170         Collection alleObjekte = testCase.sucheAlle(Berechnungsauftraege.class);
171         
172         java.util.Iterator iter = alleObjekte.iterator();
173         while (iter.hasNext())
174         {
175 //          System.out.println(iter.next());
176             iter.next();
177         }         
178 
179         assertEquals(true, alleObjekte.size() == 1);
180     }
181 
182     public void testLoeschen()
183     {
184         Projekte prj = new Projekte(new Integer(1), null, null, null);
185         UseCase prjCase = (UseCase) new UseCaseProjekte(broker);
186         
187         prj = (Projekte) prjCase.sucheObjekt(prj);
188 
189         test = new Berechnungsauftraege(prj, null, null, null, null);
190 
191         testCase.loeschen(test);
192 
193         Berechnungsauftraege test2 = new Berechnungsauftraege(prj, null, null, null, null);
194  
195         assertNull(testCase.sucheObjekt(test2));
196 
197         test = new Berechnungsauftraege();       
198     }
199 }