blob: 86731d4d953852939f5e5a51d652fcf428b670df [file] [log] [blame] [edit]
//
// MTLComparisonAdditionsSpec.m
// Mantle
//
// Created by Josh Vera on 10/26/12.
// Copyright (c) 2012 GitHub. All rights reserved.
//
// Portions copyright (c) 2011 Bitswift. All rights reserved.
// See the LICENSE file for more information.
//
#import "NSObject+MTLComparisonAdditions.h"
SpecBegin(MTLComparisonAdditions)
describe(@"MTLEqualObjects", ^{
id obj1 = @"Test1";
id obj2 = @"Test2";
it(@"returns true when given two values of nil", ^{
expect(MTLEqualObjects(nil, nil)).to.beTruthy();
});
it(@"returns true when given two equal objects", ^{
expect(MTLEqualObjects(obj1, obj1)).to.beTruthy();
});
it(@"returns false when given two inequal objects", ^{
expect(MTLEqualObjects(obj1, obj2)).to.beFalsy();
});
it(@"returns false when given an object and nil", ^{
expect(MTLEqualObjects(obj1, nil)).to.beFalsy();
});
it(@"returns the same value when given symmetric arguments", ^{
expect(MTLEqualObjects(obj2, obj1)).to.equal(MTLEqualObjects(obj1, obj2));
});
describe(@"when comparing mutable objects", ^{
id mutableObj1 = [obj1 mutableCopy];
id mutableObj2 = [obj1 mutableCopy];
it(@"returns true when given two equal but not identical objects", ^{
expect(MTLEqualObjects(mutableObj1, mutableObj2)).to.beTruthy();
});
});
});
SpecEnd