]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[2206] Make a common function out of duplicate code
authorMukund Sivaraman <muks@isc.org>
Thu, 4 Oct 2012 04:48:57 +0000 (10:18 +0530)
committerMukund Sivaraman <muks@isc.org>
Thu, 4 Oct 2012 04:49:35 +0000 (10:19 +0530)
src/lib/datasrc/tests/memory/zone_table_segment_unittest.cc

index e6a8a978936d8c72057e64c73f842c431c5492a8..efee347b82c465dc4b985fb7a1c76730745200b6 100644 (file)
@@ -54,22 +54,25 @@ TEST_F(ZoneTableSegmentTest, create) {
     EXPECT_NE(static_cast<void*>(NULL), segment_);
 }
 
-TEST_F(ZoneTableSegmentTest, getHeader) {
-    ZoneTableHeader& header = segment_->getHeader();
+// Helper function to check const and non-const methods.
+template <typename TS, typename TH>
+void
+testGetHeader(ZoneTableSegment* segment) {
+    TH& header = static_cast<TS*>(segment)->getHeader();
 
     // The zone table is unset.
-    ZoneTable* table = header.getTable();
+    const ZoneTable* table = header.getTable();
     EXPECT_EQ(static_cast<void*>(NULL), table);
 }
 
-TEST_F(ZoneTableSegmentTest, getHeaderConst) {
-    // Test const methods
-    const ZoneTableHeader& header =
-         static_cast<const ZoneTableSegment*>(segment_)->getHeader();
+TEST_F(ZoneTableSegmentTest, getHeader) {
+    // non-const version.
+    testGetHeader<ZoneTableSegment, ZoneTableHeader>(segment_);
+}
 
-    // The zone table is unset.
-    const ZoneTable* table = header.getTable();
-    EXPECT_EQ(static_cast<void*>(NULL), table);
+TEST_F(ZoneTableSegmentTest, getHeaderConst) {
+    // const version.
+    testGetHeader<const ZoneTableSegment, const ZoneTableHeader>(segment_);
 }
 
 TEST_F(ZoneTableSegmentTest, getMemorySegment) {