ObjFW  Artifact [3fe6749543]

Artifact 3fe6749543e5832c40e420abcdc9bcf60ec811300d033e917f8c1b9359d927c4:

  • File tests/OFNumberTests.m — part of check-in [366681bebe] at 2014-06-26 00:58:57 on branch trunk — OFNumber: Remove methods for arithmetic

    These methods encouraged doing arithmetic on objects rather than getting
    the C type value, doing the arithmetic and creating a new object. They
    didn't do anything else internally, and so doing this manually isn't
    slower - it's even faster if you do multiple operations, as no temporary
    objects are created then.

    Another advantage of this is that there are no longer uncertainties
    about types of different OFNumber objects when doing arithmetic, as the
    user has to be explicit about the types when getting the C type value
    and thus knows which types will be used for the arithmetic. (user: js, size: 1220) [annotate] [blame] [check-ins using]


/*
 * Copyright (c) 2008, 2009, 2010, 2011, 2012, 2013, 2014
 *   Jonathan Schleifer <js@webkeks.org>
 *
 * All rights reserved.
 *
 * This file is part of ObjFW. It may be distributed under the terms of the
 * Q Public License 1.0, which can be found in the file LICENSE.QPL included in
 * the packaging of this file.
 *
 * Alternatively, it may be distributed under the terms of the GNU General
 * Public License, either version 2 or 3, which can be found in the file
 * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this
 * file.
 */

#include "config.h"

#import "OFString.h"
#import "OFNumber.h"
#import "OFAutoreleasePool.h"

#import "TestsAppDelegate.h"

static OFString *module = @"OFNumber";

@implementation TestsAppDelegate (OFNumberTests)
- (void)numberTests
{
	OFAutoreleasePool *pool = [[OFAutoreleasePool alloc] init];
	OFNumber *num;

	TEST(@"+[numberWithIntMax:]",
	    (num = [OFNumber numberWithIntMax: 123456789]))

	TEST(@"-[isEqual:]",
	    [num isEqual: [OFNumber numberWithUInt32: 123456789]])

	TEST(@"-[hash]", [num hash] == 0x82D8BC42)

	TEST(@"-[charValue]", [num charValue] == 21)

	TEST(@"-[doubleValue]", [num doubleValue] == 123456789.L)

	[pool drain];
}
@end