Commit 6e2de8ba authored by JINMEI Tatuya's avatar JINMEI Tatuya
Browse files

[2107] clearly separated mutable and immutable versions of getNext().

and tested for both versions.
parent 56de9af8
...@@ -237,7 +237,11 @@ public: ...@@ -237,7 +237,11 @@ public:
/// get the same result by directly calling get() on \c next, it would /// get the same result by directly calling get() on \c next, it would
/// help encourage the use of more efficient usage if we provide an /// help encourage the use of more efficient usage if we provide an
/// explicit accessor. /// explicit accessor.
RdataSet* getNext() const { return (next.get()); } //const RdataSet* getNext() const { return (next.get()); }
const RdataSet* getNext() const { return (next.get()); }
/// \brief Return the bare pointer to the next node, mutable version.
RdataSet* getNext() { return (next.get()); }
/// \brief Return the number of RDATAs stored in the \c RdataSet. /// \brief Return the number of RDATAs stored in the \c RdataSet.
size_t getRdataCount() const { return (rdata_count_); } size_t getRdataCount() const { return (rdata_count_); }
......
...@@ -121,13 +121,16 @@ TEST_F(RdataSetTest, getNext) { ...@@ -121,13 +121,16 @@ TEST_F(RdataSetTest, getNext) {
ConstRRsetPtr()); ConstRRsetPtr());
// By default, the next pointer should be NULL (already tested in other // By default, the next pointer should be NULL (already tested in other
// test cases), which should be the case with getNext() // test cases), which should be the case with getNext(). We test both
// mutable and immutable versions of getNext().
EXPECT_EQ(static_cast<RdataSet*>(NULL), rdataset->getNext()); EXPECT_EQ(static_cast<RdataSet*>(NULL), rdataset->getNext());
EXPECT_EQ(static_cast<const RdataSet*>(NULL),
static_cast<const RdataSet*>(rdataset)->getNext());
// making a link (it would form an infinite loop, but it doesn't matter // making a link (it would form an infinite loop, but it doesn't matter
// in this test), and check the pointer returned by getNext(). // in this test), and check the pointer returned by getNext().
rdataset->next = rdataset; rdataset->next = rdataset;
EXPECT_EQ(rdataset, rdataset->getNext()); EXPECT_EQ(rdataset, static_cast<const RdataSet*>(rdataset)->getNext());
RdataSet::destroy(mem_sgmt_, RRClass::IN(), rdataset); RdataSet::destroy(mem_sgmt_, RRClass::IN(), rdataset);
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment