1
2
3
4 package org.melati.poem.test;
5
6 import org.melati.poem.CachedCount;
7 import org.melati.poem.User;
8
9
10
11
12
13 public class CachedCountTest extends PoemTestCase {
14
15
16
17
18
19 public CachedCountTest(String name) {
20 super(name);
21 }
22
23
24
25
26
27 protected void setUp()
28 throws Exception {
29 super.setUp();
30 }
31
32
33
34
35
36 protected void tearDown()
37 throws Exception {
38 super.tearDown();
39 }
40
41
42
43
44 public void testCachedCountTableStringTableArray() {
45
46 int queries = getDb().getQueryCount();
47 CachedCount cc = new CachedCount(getDb().getUserTable(),
48 getDb().getUserTable().troidColumn().fullQuotedName() + " = 0", null);
49 int queries2 = getDb().getQueryCount();
50 assertEquals(queries, queries2);
51 assertEquals(1, cc.count());
52 int queries3 = getDb().getQueryCount();
53 assertEquals(queries2 + 1, queries3);
54 assertEquals(1, cc.count());
55 int queries4 = getDb().getQueryCount();
56 assertEquals(queries3, queries4);
57 }
58
59
60
61
62 public void testCachedCountPersistentBooleanBoolean() {
63 int queries = getDb().getQueryCount();
64 User u = (User)getDb().getUserTable().newPersistent();
65 u.setName("guest");
66 CachedCount cc = new CachedCount(u,false,true);
67 int queries2 = getDb().getQueryCount();
68 assertEquals(queries, queries2);
69 assertEquals(1, cc.count());
70 int queries3 = getDb().getQueryCount();
71 assertEquals(queries2 + 1, queries3);
72 assertEquals(1, cc.count());
73 int queries4 = getDb().getQueryCount();
74 assertEquals(queries3, queries4);
75 }
76
77
78
79
80 public void testCachedCountTableString() {
81 int queries = getDb().getQueryCount();
82 CachedCount cc = new CachedCount(getDb().getUserTable(),
83 getDb().getUserTable().troidColumn().fullQuotedName() + " = 0");
84 int queries2 = getDb().getQueryCount();
85 assertEquals(queries, queries2);
86 assertEquals(1, cc.count());
87 int queries3 = getDb().getQueryCount();
88 assertEquals(queries2 + 1, queries3);
89 assertEquals(1, cc.count());
90 int queries4 = getDb().getQueryCount();
91 assertEquals(queries3, queries4);
92
93 }
94
95
96
97
98 public void testCount() {
99 int queries = getDb().getQueryCount();
100 CachedCount cc = new CachedCount(getDb().getUserTable(), null, null);
101 int queries2 = getDb().getQueryCount();
102 assertEquals(queries, queries2);
103 assertEquals(2, cc.count());
104 int queries3 = getDb().getQueryCount();
105 assertEquals(queries2 + 1, queries3);
106 assertEquals(2, cc.count());
107 int queries4 = getDb().getQueryCount();
108 assertEquals(queries3, queries4);
109 }
110
111 }