1 package com.sri.emo.wizard.completion;
2
3 import junit.framework.*;
4 import com.jcorporate.expresso.core.security.SuperUser;
5 import com.jcorporate.expresso.services.test.TestSystemInitializer;
6 import com.jcorporate.expresso.core.registry.MutableRequestRegistry;
7 import com.sri.emo.wizard.completion.persistence.CompletionDBObjConverterImpl;
8 import com.sri.emo.wizard.completion.persistence.ExpressoCompletionRepository;
9 import com.sri.emo.test.DatabaseTestFixture;
10 import com.sri.emo.test.EmoTestSuite;
11 import com.sri.emo.wizard.completion.model.CompletionBean;
12 import java.util.Iterator;
13 import com.sri.emo.wizard.completion.model.CompletionPartsBean;
14 import com.sri.emo.wizard.completion.model.FieldCompletion;
15 import com.sri.emo.wizard.completion.model.CompletionWizardTestBean;
16
17 /***
18 * Tests the database data. Doesn't really do anything other than verify
19 * the model for our use. So technically it isn't even a test case.
20 * @author Michael Rimov
21 * @version 1.0
22 */
23 public class TestEmoCompletionWizardTestModel extends TestCase {
24
25 private DatabaseTestFixture databaseFixture = null;
26
27 public TestEmoCompletionWizardTestModel() throws Exception {
28 super();
29 try {
30 TestSystemInitializer.setUp();
31 new MutableRequestRegistry(TestSystemInitializer.getTestContext(), SuperUser.INSTANCE);
32 } catch (Exception ex) {
33 throw new RuntimeException("Error setting things up",ex);
34 }
35 }
36
37
38 protected void setUp() throws Exception {
39 super.setUp();
40 databaseFixture = new DatabaseTestFixture(TestSystemInitializer.getTestContext(),
41 EmoTestSuite.class.getResourceAsStream("WizardTestData.xml"));
42 databaseFixture.setUp();
43 }
44
45 protected void tearDown() throws Exception {
46 databaseFixture.tearDown();
47 databaseFixture = null;
48 super.tearDown();
49 }
50
51 private static final int TEST_ID = 15;
52 public void testFieldCompletionInModel() throws Exception {
53 CompletionRepository repo = new ExpressoCompletionRepository(new CompletionDBObjConverterImpl());
54 CompletionBean cb = repo.findById(TEST_ID);
55
56 for (Iterator i = cb.getCompletionParts().iterator(); i.hasNext();) {
57 CompletionPartsBean partsbean = (CompletionPartsBean) i.next();
58
59 switch (new Integer(partsbean.getPart().getId()).intValue()) {
60 case 4:
61 assertEquals(FieldCompletion.WIZARD, partsbean.getFieldCompletion());
62 break;
63
64 case 5:
65 assertEquals(FieldCompletion.FIXED, partsbean.getFieldCompletion());
66 break;
67
68 case 6:
69 assertEquals(FieldCompletion.WIZARD, partsbean.getFieldCompletion());
70 break;
71
72 case 7:
73 assertEquals(FieldCompletion.WIZARD, partsbean.getFieldCompletion());
74 break;
75
76 case CompletionWizardTestBean.CRITIQUES:
77 assertEquals(FieldCompletion.WIZARD, partsbean.getFieldCompletion());
78 break;
79
80
81 default:
82 fail("Found unexpected part in test model. Id: " + partsbean.getPart().getId());
83 }
84 }
85 }
86
87 }