TEST_F(SelectTests, simple_projection_with_position) { auto t = Loader::shortcuts::load("test/lin_xxs.tbl"); ProjectionScan gs; gs.setProducesPositions(true); gs.addInput(t); gs.addField(0); const auto& result = gs.execute()->getResultTable(); const auto& reference = Loader::shortcuts::load("test/reference/simple_projection.tbl"); ASSERT_TRUE(result->contentEquals(reference)); }
void BenchmarkSetUp() { ps = new ProjectionScan(); ps->setEvent("NO_PAPI"); sm = StorageManager::getInstance(); t = sm->getTable("district"); ps->setProducesPositions(true); ps->addInput(t); ps->addField(0); ps->addField(1); }
TEST_F(SelectTests, simple_projection_with_position_all_mat) { auto t = Loader::shortcuts::load("test/lin_xxxs.tbl"); ProjectionScan gs; gs.setProducesPositions(true); gs.addInput(t); gs.addField(0); gs.addField(1); auto result = gs.execute()->getResultTable(); MaterializingScan ms(false); ms.addInput(result); const auto& result2 = ms.execute()->getResultTable(); const auto& reference = Loader::shortcuts::load("test/lin_xxxs.tbl"); ASSERT_TRUE(result2->contentEquals(reference)); }
TEST_F(SelectTests, simple_projection_on_empty_table) { hyrise::storage::c_atable_ptr_t t = Loader::shortcuts::load("test/empty.tbl"); ProjectionScan gs; gs.setProducesPositions(true); gs.addInput(t); gs.addField(2); gs.addField(3); gs.addField(4); gs.addField(5); gs.addField(6); const auto& result = gs.execute()->getResultTable(); const auto& reference = Loader::shortcuts::load("test/reference/empty_after_projection.tbl"); ASSERT_TRUE(result->contentEquals(reference)); }
TEST_F(SelectTests, simple_projection_with_position_mat_and_sample) { auto t = Loader::shortcuts::load("test/lin_xxs.tbl"); ProjectionScan gs; gs.setProducesPositions(true); gs.addInput(t); gs.addField(0); auto result = gs.execute()->getResultTable(); MaterializingScan ms(false); ms.addInput(result); ms.setSamples(3); const auto& result2 = ms.execute()->getResultTable(); ASSERT_EQ((unsigned) 3, result2->size()); }
TEST_F(SelectTests, simple_projection_with_position_mat_memcpy) { auto t = Loader::shortcuts::load("test/lin_xxs.tbl"); ProjectionScan gs; gs.setProducesPositions(true); gs.addInput(t); gs.addField(0); ASSERT_EQ((unsigned) 10, t->columnCount()); auto result = gs.execute()->getResultTable(); MaterializingScan ms(true); ms.addInput(result); const auto& result2 = ms.execute()->getResultTable(); ASSERT_EQ((unsigned) 100, result2->size()); const auto& reference = Loader::shortcuts::load("test/reference/simple_projection.tbl"); ASSERT_TABLE_EQUAL(reference, result2); }
TEST_F(MaterializingScanTests, basic_materializing_scan_test) { auto t = io::Loader::shortcuts::load("test/lin_xxs.tbl"); auto no_p = (storage::PointerCalculator*) nullptr; ProjectionScan ps; ps.addInput(t); ps.addField(0); ps.setProducesPositions(true); ps.execute(); const auto &t2 = ps.getResultTable(); ASSERT_NE(no_p, dynamic_cast<const storage::PointerCalculator*>(t2.get())); MaterializingScan ms; ms.addInput(t2); ms.addField(0); ms.execute(); const auto &result = ms.getResultTable(); ASSERT_EQ(no_p, dynamic_cast<const storage::PointerCalculator*>(result.get())); ASSERT_EQ(100u, result->size()); ASSERT_EQ(1u, result->columnCount()); }