Adds the IsNull() matcher.

This commit is contained in:
zhanyong.wan
2009-09-24 21:41:36 +00:00
parent f7af24c7de
commit 2d970ee3ba
3 changed files with 53 additions and 0 deletions

View File

@@ -78,6 +78,7 @@ using testing::FloatEq;
using testing::Ge;
using testing::Gt;
using testing::HasSubstr;
using testing::IsNull;
using testing::Key;
using testing::Le;
using testing::Lt;
@@ -685,6 +686,32 @@ TEST(NeTest, CanDescribeSelf) {
EXPECT_EQ("is not equal to 5", Describe(m));
}
// Tests that IsNull() matches any NULL pointer of any type.
TEST(IsNullTest, MatchesNullPointer) {
Matcher<int*> m1 = IsNull();
int* p1 = NULL;
int n = 0;
EXPECT_TRUE(m1.Matches(p1));
EXPECT_FALSE(m1.Matches(&n));
Matcher<const char*> m2 = IsNull();
const char* p2 = NULL;
EXPECT_TRUE(m2.Matches(p2));
EXPECT_FALSE(m2.Matches("hi"));
Matcher<void*> m3 = IsNull();
void* p3 = NULL;
EXPECT_TRUE(m3.Matches(p3));
EXPECT_FALSE(m3.Matches(reinterpret_cast<void*>(0xbeef)));
}
// Tests that IsNull() describes itself properly.
TEST(IsNullTest, CanDescribeSelf) {
Matcher<int*> m = IsNull();
EXPECT_EQ("is NULL", Describe(m));
EXPECT_EQ("is not NULL", DescribeNegation(m));
}
// Tests that NotNull() matches any non-NULL pointer of any type.
TEST(NotNullTest, MatchesNonNullPointer) {
Matcher<int*> m1 = NotNull();

View File

@@ -147,6 +147,7 @@ using testing::IgnoreResult;
using testing::Invoke;
using testing::InvokeArgument;
using testing::InvokeWithoutArgs;
using testing::IsNull;
using testing::Le;
using testing::Lt;
using testing::Matcher;
@@ -491,6 +492,13 @@ TEST(LinkTest, TestMatcherNotNull) {
ON_CALL(mock, VoidFromString(NotNull())).WillByDefault(Return());
}
// Tests the linkage of the IsNull matcher.
TEST(LinkTest, TestMatcherIsNull) {
Mock mock;
ON_CALL(mock, VoidFromString(IsNull())).WillByDefault(Return());
}
// Tests the linkage of the Ref matcher.
TEST(LinkTest, TestMatcherRef) {
Mock mock;