diff options
author | Tor Egge <Tor.Egge@oath.com> | 2017-09-15 14:23:49 +0000 |
---|---|---|
committer | Tor Egge <Tor.Egge@oath.com> | 2017-09-15 14:23:49 +0000 |
commit | 6237802f98df78c21643b72814ef4a4ea2752f1f (patch) | |
tree | a10d55dc29434bfdbb5a2b9465d52ea388cc5ea4 | |
parent | 86269703bd714a88e23def8a842466e35609c9f3 (diff) |
Use a new fixture for the last 4 tests to reduce amount of duplicated code.
-rw-r--r-- | searchcore/src/tests/proton/reference/gid_to_lid_change_handler/gid_to_lid_change_handler_test.cpp | 89 |
1 files changed, 48 insertions, 41 deletions
diff --git a/searchcore/src/tests/proton/reference/gid_to_lid_change_handler/gid_to_lid_change_handler_test.cpp b/searchcore/src/tests/proton/reference/gid_to_lid_change_handler/gid_to_lid_change_handler_test.cpp index 263159cefea..cddce944e4d 100644 --- a/searchcore/src/tests/proton/reference/gid_to_lid_change_handler/gid_to_lid_change_handler_test.cpp +++ b/searchcore/src/tests/proton/reference/gid_to_lid_change_handler/gid_to_lid_change_handler_test.cpp @@ -222,74 +222,81 @@ TEST_F("Test that we keep old listener when registering duplicate", Fixture) TEST_DO(stats.assertListeners(2, 1, 1)); } -TEST_F("Test that put is ignored if we have a pending remove", Fixture) +class StatsFixture : public Fixture +{ + ListenerStats &_stats; + +public: + StatsFixture() + : Fixture(), + _stats(addStats()) + { + addListener(std::make_unique<MyListener>(_stats, "test", "testdoc")); + } + + ~StatsFixture() + { + removeListeners("testdoc", {}); + } + + void assertChanges(uint32_t expPutChanges, uint32_t expRemoveChanges) + { + TEST_DO(_stats.assertChanges(expPutChanges, expRemoveChanges)); + } +}; + +TEST_F("Test that put is ignored if we have a pending remove", StatsFixture) { - auto &stats = f.addStats(); - auto listener = std::make_unique<MyListener>(stats, "test", "testdoc"); - f.addListener(std::move(listener)); f.notifyRemove(toGid(doc1), 20); - TEST_DO(stats.assertChanges(0, 1)); + TEST_DO(f.assertChanges(0, 1)); f.notifyPutDone(toGid(doc1), 10, 10); - TEST_DO(stats.assertChanges(0, 1)); + TEST_DO(f.assertChanges(0, 1)); f.notifyRemoveDone(toGid(doc1), 20); - TEST_DO(stats.assertChanges(0, 1)); + TEST_DO(f.assertChanges(0, 1)); f.notifyPutDone(toGid(doc1), 11, 30); - TEST_DO(stats.assertChanges(1, 1)); - f.removeListeners("testdoc", {}); + TEST_DO(f.assertChanges(1, 1)); } -TEST_F("Test that pending removes are merged", Fixture) +TEST_F("Test that pending removes are merged", StatsFixture) { - auto &stats = f.addStats(); - auto listener = std::make_unique<MyListener>(stats, "test", "testdoc"); - f.addListener(std::move(listener)); f.notifyRemove(toGid(doc1), 20); - TEST_DO(stats.assertChanges(0, 1)); + TEST_DO(f.assertChanges(0, 1)); f.notifyRemove(toGid(doc1), 40); - TEST_DO(stats.assertChanges(0, 1)); + TEST_DO(f.assertChanges(0, 1)); f.notifyPutDone(toGid(doc1), 10, 10); - TEST_DO(stats.assertChanges(0, 1)); + TEST_DO(f.assertChanges(0, 1)); f.notifyRemoveDone(toGid(doc1), 20); - TEST_DO(stats.assertChanges(0, 1)); + TEST_DO(f.assertChanges(0, 1)); f.notifyPutDone(toGid(doc1), 11, 30); - TEST_DO(stats.assertChanges(0, 1)); + TEST_DO(f.assertChanges(0, 1)); f.notifyRemoveDone(toGid(doc1), 40); - TEST_DO(stats.assertChanges(0, 1)); + TEST_DO(f.assertChanges(0, 1)); f.notifyPutDone(toGid(doc1), 12, 50); - TEST_DO(stats.assertChanges(1, 1)); - f.removeListeners("testdoc", {}); + TEST_DO(f.assertChanges(1, 1)); } -TEST_F("Test that out of order notifyRemoveDone is handled", Fixture) +TEST_F("Test that out of order notifyRemoveDone is handled", StatsFixture) { - auto &stats = f.addStats(); - auto listener = std::make_unique<MyListener>(stats, "test", "testdoc"); - f.addListener(std::move(listener)); - f.notifyRemove(toGid(doc1), 20); - TEST_DO(stats.assertChanges(0, 1)); + f.notifyRemove(toGid(doc1), 20); + TEST_DO(f.assertChanges(0, 1)); f.notifyRemove(toGid(doc1), 40); - TEST_DO(stats.assertChanges(0, 1)); + TEST_DO(f.assertChanges(0, 1)); f.notifyRemoveDone(toGid(doc1), 40); - TEST_DO(stats.assertChanges(0, 1)); + TEST_DO(f.assertChanges(0, 1)); f.notifyRemoveDone(toGid(doc1), 20); - TEST_DO(stats.assertChanges(0, 1)); + TEST_DO(f.assertChanges(0, 1)); f.notifyPutDone(toGid(doc1), 12, 50); - TEST_DO(stats.assertChanges(1, 1)); - f.removeListeners("testdoc", {}); + TEST_DO(f.assertChanges(1, 1)); } -TEST_F("Test that out of order notifyPutDone is handled", Fixture) +TEST_F("Test that out of order notifyPutDone is handled", StatsFixture) { - auto &stats = f.addStats(); - auto listener = std::make_unique<MyListener>(stats, "test", "testdoc"); - f.addListener(std::move(listener)); - f.notifyRemove(toGid(doc1), 20); - TEST_DO(stats.assertChanges(0, 1)); + f.notifyRemove(toGid(doc1), 20); + TEST_DO(f.assertChanges(0, 1)); f.notifyPutDone(toGid(doc1), 12, 50); - TEST_DO(stats.assertChanges(1, 1)); + TEST_DO(f.assertChanges(1, 1)); f.notifyRemoveDone(toGid(doc1), 20); - TEST_DO(stats.assertChanges(1, 1)); - f.removeListeners("testdoc", {}); + TEST_DO(f.assertChanges(1, 1)); } } |