From 4ea0d4d043222ce366d256bcfa374633afa0f594 Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Wed, 4 Aug 2010 16:43:04 -0400 Subject: [PATCH] CPNull is equal to CPNull. Unit test included. --- Foundation/CPNull.j | 9 +++++++++ Tests/Foundation/CPNullTest.j | 6 ++++++ 2 files changed, 15 insertions(+) diff --git a/Foundation/CPNull.j b/Foundation/CPNull.j index 0eaca5773..2c267dcb8 100644 --- a/Foundation/CPNull.j +++ b/Foundation/CPNull.j @@ -44,6 +44,7 @@ var CPNullSharedNull = nil; return [super alloc]; }*/ + /*! Returns the singleton instance of the CPNull object. While CPNull and \c nil should @@ -57,6 +58,14 @@ var CPNullSharedNull = nil; return CPNullSharedNull; } +- (BOOL)isEqual:(id)anObject +{ + if (self === anObject) + return YES; + + return [anObject isKindOfClass:[CPNull class]]; +} + /*! Returns CPNull null. @param aCoder the coder from which to do nothing diff --git a/Tests/Foundation/CPNullTest.j b/Tests/Foundation/CPNullTest.j index 7b99a14a2..92c9cd8b7 100644 --- a/Tests/Foundation/CPNullTest.j +++ b/Tests/Foundation/CPNullTest.j @@ -4,6 +4,12 @@ @implementation CPNullTest : OJTestCase +- (void)testEquals +{ + [self assert:[CPNull null] equals:[CPNull null] message:"CPNull null should equal itself."]; + [self assert:[CPNull null] equals:[CPNull new] message:"CPNull null should equal another CPNull."]; +} + - (void)testArchiving { [self assert:[CPKeyedUnarchiver unarchiveObjectWithData:[CPKeyedArchiver archivedDataWithRootObject:[CPNull null]]] equals:[CPNull null]];