Signal-iOS/Signal/test/util/FunctionalUtilTest.m
Evan Hahn 127958a8fa
Swiftify a few phone number utility methods
This converts `PhoneNumberUtil.countryNameFromCountryCode`,
`PhoneNumberUtil.countryCodesForSearchTerm`, and `PhoneNumberUtil.name`
to Swift. I renamed `PhoneNumberUtil.name` to `does` for clarity, and
made it private.

This also lets us remove several utility methods.
2022-12-07 08:32:24 -06:00

34 lines
1.1 KiB
Objective-C

//
// Copyright 2014 Signal Messenger, LLC
// SPDX-License-Identifier: AGPL-3.0-only
//
#import "SignalBaseTest.h"
#import <SignalServiceKit/FunctionalUtil.h>
@interface FunctionalUtilTest : SignalBaseTest
@end
#pragma mark -
@implementation FunctionalUtilTest
- (void)testMap
{
XCTAssert([[@[] map:^(id x) { return x; }] isEqualToArray:@[]]);
XCTAssert([[(@[ @1, @2 ]) map:^(id x) { return x; }] isEqualToArray:(@[ @1, @2 ])]);
XCTAssert([[(@[ @1, @2 ]) map:^(NSNumber *x) { return @(x.intValue + 1); }] isEqualToArray:(@[ @2, @3 ])]);
}
- (void)testFilter
{
XCTAssert([[@[] filter:^(id x) { return YES; }] isEqualToArray:@[]]);
XCTAssert([[(@[ @1, @2 ]) filter:^(NSNumber *x) { return YES; }] isEqualToArray:(@[ @1, @2 ])]);
XCTAssert([[(@[ @1, @2 ]) filter:^(NSNumber *x) { return NO; }] isEqualToArray:(@[])]);
XCTAssert([[(@[ @1, @2 ]) filter:^BOOL(NSNumber *x) { return x.intValue == 1; }] isEqualToArray:(@[ @1 ])]);
XCTAssert([[(@[ @1, @2 ]) filter:^BOOL(NSNumber *x) { return x.intValue == 2; }] isEqualToArray:(@[ @2 ])]);
}
@end