TEST_F(AntiCacheEvictionManagerTest, TestEvictionOrder) { int num_tuples = 100; initTable(true); TableTuple tuple = m_table->tempTuple(); int tuple_size = m_tableSchema->tupleLength() + TUPLE_HEADER_SIZE; for(int i = 0; i < num_tuples; i++) // insert 10 tuples { tuple.setNValue(0, ValueFactory::getIntegerValue(m_tuplesInserted++)); tuple.setNValue(1, ValueFactory::getIntegerValue(rand())); m_table->insertTuple(tuple); } EvictionIterator itr(m_table); itr.reserve(20 * tuple_size); ASSERT_TRUE(itr.hasNext()); uint32_t oldTimeStamp = 0; while(itr.hasNext()) { itr.next(tuple); uint32_t newTimeStamp = tuple.getTimeStamp(); ASSERT_LE(oldTimeStamp, newTimeStamp); oldTimeStamp = newTimeStamp; } cleanupTable(); }
TEST_F(AntiCacheEvictionManagerTest, GetTupleTimeStamp) { initTable(true); TableTuple tuple = m_table->tempTuple(); tuple.setNValue(0, ValueFactory::getIntegerValue(m_tuplesInserted++)); tuple.setNValue(1, ValueFactory::getIntegerValue(rand())); m_table->insertTuple(tuple); // get the tuple that was just inserted tuple = m_table->lookupTuple(tuple); uint32_t time_stamp = tuple.getTimeStamp(); ASSERT_NE(time_stamp, 0); cleanupTable(); }