1   /**
2    * 
3    */
4   package org.melati.poem.test;
5   
6   import org.melati.poem.CachedExists;
7   
8   /**
9    * @author timp
10   * @since 31/10/2006
11   */
12  public class CachedExistsTest extends PoemTestCase {
13  
14    /**
15     * Constructor for CachedExistsTest.
16     * @param name
17     */
18    public CachedExistsTest(String name) {
19      super(name);
20    }
21  
22    /**
23     * {@inheritDoc}
24     * @see org.melati.poem.test.PoemTestCase#setUp()
25     */
26    protected void setUp()
27        throws Exception {
28      super.setUp();
29    }
30  
31    /**
32     * {@inheritDoc}
33     * @see org.melati.poem.test.PoemTestCase#tearDown()
34     */
35    protected void tearDown()
36        throws Exception {
37      super.tearDown();
38    }
39  
40    /**
41     * @see org.melati.poem.CachedExists#CachedExists(Table, String, Table[])
42     */
43    public void testCachedExistsTableStringTableArray() {
44      // FIXME work out good use case
45      int queries = getDb().getQueryCount();
46      CachedExists ce = new CachedExists(getDb().getUserTable(), 
47          getDb().getUserTable().troidColumn().fullQuotedName() +" = 0", null);
48      int queries2 = getDb().getQueryCount();
49      assertEquals(queries, queries2);
50      assertTrue(ce.exists());
51      int queries3 = getDb().getQueryCount();
52      assertEquals(queries2 + 1, queries3);
53      assertTrue(ce.exists());
54      int queries4 = getDb().getQueryCount();
55      assertEquals(queries3, queries4);
56  
57    }
58  
59    /**
60     * @see org.melati.poem.CachedExists#CachedExists(Table, String)
61     */
62    public void testCachedExistsTableString() {
63      int queries = getDb().getQueryCount();
64      CachedExists ce = new CachedExists(getDb().getUserTable(), 
65          getDb().getUserTable().troidColumn().fullQuotedName() +" = 0");
66      int queries2 = getDb().getQueryCount();
67      assertEquals(queries, queries2);
68      assertTrue(ce.exists());
69      int queries3 = getDb().getQueryCount();
70      assertEquals(queries2 + 1, queries3);
71      assertTrue(ce.exists());
72      int queries4 = getDb().getQueryCount();
73      assertEquals(queries3, queries4);
74  
75    }
76  
77    /**
78     * @see org.melati.poem.CachedExists#exists()
79     */
80    public void testExists() {
81      int queries = getDb().getQueryCount();
82      CachedExists ce = new CachedExists(getDb().getUserTable(), 
83          getDb().getUserTable().troidColumn().fullQuotedName() +" = 0");
84      int queries2 = getDb().getQueryCount();
85      assertEquals(queries, queries2);
86      assertTrue(ce.exists());
87      int queries3 = getDb().getQueryCount();
88      assertEquals(queries2 + 1, queries3);
89      assertTrue(ce.exists());
90      int queries4 = getDb().getQueryCount();
91      assertEquals(queries3, queries4);
92  
93    }
94  
95  }