Signal-iOS/SignalServiceKit/tests/Messages/SignalServiceAddressTest.swift

70 lines
3.3 KiB
Swift

//
// Copyright (c) 2020 Open Whisper Systems. All rights reserved.
//
import Foundation
@testable import SignalServiceKit
import XCTest
class SignalServiceAddressTest: SSKBaseTestSwift {
override func setUp() {
super.setUp()
// Put setup code here. This method is called before the invocation of each test method in the class.
}
override func tearDown() {
// Put teardown code here. This method is called after the invocation of each test method in the class.
super.tearDown()
}
func test_isEqualPermissive() {
let phoneNumber1 = "+13213214321"
let phoneNumber2 = "+13213214322"
let uuid1 = UUID()
let uuid2 = UUID()
// Double match
XCTAssertEqual(SignalServiceAddress(uuid: uuid1, phoneNumber: phoneNumber1),
SignalServiceAddress(uuid: uuid1, phoneNumber: phoneNumber1))
// Single match works, ignores single missing.
//
// SignalServiceAddress's getters use a cache to fill in the blanks.
XCTAssertEqual(SignalServiceAddress(uuid: nil, phoneNumber: phoneNumber1),
SignalServiceAddress(uuid: uuid1, phoneNumber: phoneNumber1))
XCTAssertEqual(SignalServiceAddress(uuid: uuid1),
SignalServiceAddress(uuid: uuid1, phoneNumber: phoneNumber1))
XCTAssertEqual(SignalServiceAddress(uuid: uuid1, phoneNumber: phoneNumber1),
SignalServiceAddress(uuid: nil, phoneNumber: phoneNumber1))
XCTAssertEqual(SignalServiceAddress(uuid: uuid1, phoneNumber: phoneNumber1),
SignalServiceAddress(uuid: uuid1))
// Single match works, ignores double missing.
XCTAssertEqual(SignalServiceAddress(uuid: nil, phoneNumber: phoneNumber1),
SignalServiceAddress(uuid: nil, phoneNumber: phoneNumber1))
XCTAssertEqual(SignalServiceAddress(uuid: uuid1),
SignalServiceAddress(uuid: uuid1))
// Match fails if no common value.
XCTAssertEqual(SignalServiceAddress(uuid: uuid1),
SignalServiceAddress(uuid: nil, phoneNumber: phoneNumber1))
// Match fails if either value doesn't match.
XCTAssertNotEqual(SignalServiceAddress(uuid: uuid1),
SignalServiceAddress(uuid: uuid2))
XCTAssertNotEqual(SignalServiceAddress(uuid: nil, phoneNumber: phoneNumber1),
SignalServiceAddress(uuid: nil, phoneNumber: phoneNumber2))
XCTAssertNotEqual(SignalServiceAddress(uuid: uuid1, phoneNumber: phoneNumber1),
SignalServiceAddress(uuid: uuid2))
XCTAssertNotEqual(SignalServiceAddress(uuid: uuid1, phoneNumber: phoneNumber1),
SignalServiceAddress(uuid: nil, phoneNumber: phoneNumber2))
XCTAssertNotEqual(SignalServiceAddress(uuid: uuid1, phoneNumber: phoneNumber1),
SignalServiceAddress(uuid: uuid2, phoneNumber: phoneNumber1))
XCTAssertNotEqual(SignalServiceAddress(uuid: uuid1, phoneNumber: phoneNumber1),
SignalServiceAddress(uuid: uuid1, phoneNumber: phoneNumber2))
XCTAssertNotEqual(SignalServiceAddress(uuid: uuid1, phoneNumber: phoneNumber1),
SignalServiceAddress(uuid: uuid2, phoneNumber: phoneNumber2))
}
}