30{
31
32
33
35 assert(pool.getRecord() == NULL);
36
37
38 pool.setMaxAllocatedRecs(3);
39
40
42 assert(rec1 != NULL);
43
44
46 assert(rec2 != NULL);
47 assert(rec2 != rec1);
48
49
51 assert(rec3 != NULL);
52 assert((rec3 != rec1) && (rec3 != rec2));
53
54
55 assert(pool.getRecord() == NULL);
56
57
58 pool.releaseRecord(rec2);
60 assert(rec == rec2);
61
62
63 pool.releaseRecord(rec3);
64 pool.releaseRecord(rec1);
65 pool.releaseRecord(rec);
69 assert(release1 == rec3);
70 assert(release2 == rec1);
71 assert(release3 == rec);
72 assert(pool.getRecord() == NULL);
73
74
75
76
77 pool.setMaxAllocatedRecs(4);
78 pool.setMaxAllocatedRecs(0);
79 pool.releaseRecord(release3);
80 pool.releaseRecord(release1);
81 pool.releaseRecord(release2);
82 rec1 = pool.getRecord();
83 rec2 = pool.getRecord();
84 rec3 = pool.getRecord();
85 assert(rec1 == release3);
86 assert(rec2 == release1);
87 assert(rec3 == release2);
88 assert(pool.getRecord() == NULL);
89
90
91
92 pool.setMaxAllocatedRecs(4);
93 rec = pool.getRecord();
94 assert(rec != NULL);
95 assert(rec != rec1);
96 assert(rec != rec2);
97 assert(rec != rec3);
98 assert(pool.getRecord() == NULL);
99}
Class providing an easy to use interface to get/set/operate on the fields in a SAM/BAM record.