@@ -59,6 +59,24 @@ void test(@TempDir Path tempDir) {
59
59
assertThat (db .count ()).isEqualTo (100 );
60
60
testGet (db );
61
61
62
+ // Check exact time states.
63
+ checkState (db , 9 , refTime .toEpochMilli (), false );
64
+ for (int i = 10 ; i <= 30 ; i ++) {
65
+ checkState (db , i , refTime .toEpochMilli (), true );
66
+ }
67
+ checkState (db , 31 , refTime .toEpochMilli (), false );
68
+
69
+ // Check before time states.
70
+ for (int i = 9 ; i <= 31 ; i ++) {
71
+ checkState (db , i , refTime .toEpochMilli () - 1 , false );
72
+ }
73
+
74
+ // Check after time states.
75
+ checkState (db , 9 , refTime .toEpochMilli () + 1 , false );
76
+ for (int i = 10 ; i <= 30 ; i ++) {
77
+ checkState (db , i , refTime .toEpochMilli () + 1 , true );
78
+ }
79
+ checkState (db , 31 , refTime .toEpochMilli () + 1 , false );
62
80
63
81
final TemporalRangedStateRequest stateRequest =
64
82
new TemporalRangedStateRequest (11 , refTime .toEpochMilli ());
@@ -165,6 +183,17 @@ private void testGet(final TemporalRangedStateDb db) {
165
183
assertThat (res .toString ()).isEqualTo ("test" );
166
184
}
167
185
186
+ private void checkState (final TemporalRangedStateDb db ,
187
+ final long key ,
188
+ final long effectiveTime ,
189
+ final boolean expected ) {
190
+ final TemporalRangedStateRequest request =
191
+ new TemporalRangedStateRequest (key , effectiveTime );
192
+ final Optional <TemporalRangedState > optional = db .getState (request );
193
+ final boolean actual = optional .isPresent ();
194
+ assertThat (actual ).isEqualTo (expected );
195
+ }
196
+
168
197
//
169
198
// @Test
170
199
// void testRemoveOldData() {
0 commit comments