diff --git a/test/source/base.cpp b/test/source/base.cpp
index 4894840..4b89d52 100644
--- a/test/source/base.cpp
+++ b/test/source/base.cpp
@@ -67,6 +67,7 @@
     EXPECT_EQ(expected_source, source.get());
     EXPECT_NE(event.get(), &source.get_event());
     EXPECT_EQ(expected_event, source.get_event().get());
+    EXPECT_FALSE(source.get_prepare());
 
     {
         testing::InSequence seq;
@@ -87,6 +88,7 @@
     EXPECT_EQ(expected_source, source.get());
     EXPECT_NE(event.get(), &source.get_event());
     EXPECT_EQ(expected_event, source.get_event().get());
+    EXPECT_FALSE(source.get_prepare());
 
     {
         testing::InSequence seq;
@@ -107,6 +109,7 @@
     EXPECT_EQ(nullptr, source.get());
     EXPECT_NE(event.get(), &source.get_event());
     EXPECT_EQ(expected_event, source.get_event().get());
+    EXPECT_FALSE(source.get_prepare());
 
     EXPECT_CALL(mock, sd_event_source_unref(nullptr)).WillOnce(Return(nullptr));
     EXPECT_CALL(mock, sd_event_unref(expected_event)).WillOnce(Return(nullptr));
@@ -189,6 +192,7 @@
     EXPECT_CALL(mock, sd_event_source_set_prepare(expected_source, testing::_))
         .WillOnce(DoAll(SaveArg<1>(&event_handler), Return(0)));
     base->set_prepare(std::move(callback));
+    EXPECT_TRUE(base->get_prepare());
     EXPECT_FALSE(callback);
     EXPECT_FALSE(completed);
 
@@ -203,6 +207,7 @@
     EXPECT_CALL(mock, sd_event_source_set_prepare(expected_source, testing::_))
         .WillOnce(DoAll(SaveArg<1>(&event_handler), Return(0)));
     base->set_prepare(std::move(callback));
+    EXPECT_TRUE(base->get_prepare());
     EXPECT_FALSE(callback);
 
     EXPECT_EQ(-EINVAL, event_handler(nullptr, nullptr));
@@ -224,6 +229,7 @@
     EXPECT_CALL(mock, sd_event_source_set_prepare(expected_source, testing::_))
         .WillOnce(Return(0));
     base->set_prepare(std::move(callback));
+    EXPECT_TRUE(base->get_prepare());
     EXPECT_FALSE(callback);
     EXPECT_EQ(-EBUSY, base->prepareCallback());
 }
@@ -234,6 +240,7 @@
     EXPECT_CALL(mock, sd_event_source_set_prepare(expected_source, testing::_))
         .WillOnce(Return(0));
     base->set_prepare(std::move(callback));
+    EXPECT_TRUE(base->get_prepare());
     EXPECT_FALSE(callback);
     EXPECT_EQ(-ENOSYS, base->prepareCallback());
 }
@@ -244,6 +251,7 @@
     EXPECT_CALL(mock, sd_event_source_set_prepare(expected_source, testing::_))
         .WillOnce(Return(-EINVAL));
     EXPECT_THROW(base->set_prepare(std::move(callback)), SdEventError);
+    EXPECT_FALSE(base->get_prepare());
     EXPECT_TRUE(callback);
     EXPECT_EQ(-ENOSYS, base->prepareCallback());
 }
