From 28ccca679adb4ddd19e3c5a6bd03b468955a4670 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Oscar=20Bystr=C3=B6m=20Ericsson?= Date: Sat, 16 Sep 2023 13:17:11 +0200 Subject: [PATCH] [NBKDoubleWidthKit] Literal tests. --- .../NBKDoubleWidth+Literals.swift | 168 +++++++----------- 1 file changed, 63 insertions(+), 105 deletions(-) diff --git a/Tests/NBKDoubleWidthKitTests/NBKDoubleWidth+Literals.swift b/Tests/NBKDoubleWidthKitTests/NBKDoubleWidth+Literals.swift index 5c884372..6a41679a 100644 --- a/Tests/NBKDoubleWidthKitTests/NBKDoubleWidth+Literals.swift +++ b/Tests/NBKDoubleWidthKitTests/NBKDoubleWidth+Literals.swift @@ -24,10 +24,17 @@ final class NBKDoubleWidthTestsOnLiteralsAsInt256: XCTestCase { typealias T = Int256 + //=------------------------------------------------------------------------= + // MARK: State + //=------------------------------------------------------------------------= + + let top = T(x64: X(0xe7e6e5e4e3e2e1e0, 0xefeeedecebeae9e8, 0xf7f6f5f4f3f2f1f0, 0xfffefdfcfbfaf9f8)) + let bottom = T(x64: X(0x0706050403020100, 0x0f0e0d0c0b0a0908, 0x1716151413121110, 0x1f1e1d1c1b1a1918)) + //=------------------------------------------------------------------------= // MARK: Tests //=------------------------------------------------------------------------= - + func testFromIntegerLiteral() { XCTAssertEqual(T(x64: X( 10, 0, 0, 0)), (10)) XCTAssertEqual(T(x64: X( 02, 0, 0, 0)), (0b10)) @@ -39,33 +46,19 @@ final class NBKDoubleWidthTestsOnLiteralsAsInt256: XCTestCase { XCTAssertEqual(T(x64: X( ~7, ~0, ~0, ~0)), (-0o10)) XCTAssertEqual(T(x64: X(~15, ~0, ~0, ~0)), (-0x10)) #if SBI && swift(>=5.8) - XCTAssertEqual(T(x64: X( 0, 0, 0, 0)), (0x000000000000000000000000000000000000000000000000000000000000000000000000000000)) - XCTAssertEqual(T(x64: X( ~0, 0, 0, 0)), (0x00000000000000000000000000000000000000000000000000000000000000ffffffffffffffff)) - XCTAssertEqual(T(x64: X( ~0, ~0, 0, 0)), (0x0000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffff)) - XCTAssertEqual(T(x64: X( ~0, ~0, ~0, 0)), (0x000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffff)) - XCTAssertEqual(T(x64: X( ~0, ~0, ~0, ~0)), (-0x000000000000000000000000000000000000000000000000000000000000000000000000000001)) - XCTAssertEqual(T(x64: X( 0, ~0, ~0, ~0)), (-0x000000000000000000000000000000000000000000000000000000000000010000000000000000)) - XCTAssertEqual(T(x64: X( 0, 0, ~0, ~0)), (-0x000000000000000000000000000000000000000000000100000000000000000000000000000000)) - XCTAssertEqual(T(x64: X( 0, 0, 0, ~0)), (-0x000000000000000000000000000001000000000000000000000000000000000000000000000000)) - - XCTAssertEqual(T(exactlyIntegerLiteral: (0x000000000000008000000000000000000000000000000000000000000000000000000000000000)), nil) - XCTAssertEqual(T(exactlyIntegerLiteral: (0x000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)), T.max) - XCTAssertEqual(T(exactlyIntegerLiteral: (-0x000000000000008000000000000000000000000000000000000000000000000000000000000000)), T.min) - XCTAssertEqual(T(exactlyIntegerLiteral: (-0x000000000000008000000000000000000000000000000000000000000000000000000000000001)), nil) + XCTAssertEqual(self.top/*-----------*/, (-0x00000000000000000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e20)) + XCTAssertEqual(self.bottom/*--------*/, (0x000000000000001f1e1d1c1b1a191817161514131211100f0e0d0c0b0a09080706050403020100)) + XCTAssertEqual(T(exactlyIntegerLiteral: (0x000000000000008000000000000000000000000000000000000000000000000000000000000000)), nil) + XCTAssertEqual(T(exactlyIntegerLiteral: (0x000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)), T.max) + XCTAssertEqual(T(exactlyIntegerLiteral: (-0x000000000000008000000000000000000000000000000000000000000000000000000000000000)), T.min) + XCTAssertEqual(T(exactlyIntegerLiteral: (-0x000000000000008000000000000000000000000000000000000000000000000000000000000001)), nil) - XCTAssertEqual(T(x64: X( 0, 0, 0, 0)), (00000000000000000000000000000000000000000000000000000000000000000000000000000000)) - XCTAssertEqual(T(x64: X( ~0, 0, 0, 0)), (00000000000000000000000000000000000000000000000000000000000018446744073709551615)) - XCTAssertEqual(T(x64: X( ~0, ~0, 0, 0)), (00000000000000000000000000000000000000000340282366920938463463374607431768211455)) - XCTAssertEqual(T(x64: X( ~0, ~0, ~0, 0)), (00000000000000000000006277101735386680763835789423207666416102355444464034512895)) - XCTAssertEqual(T(x64: X( ~0, ~0, ~0, ~0)), (-00000000000000000000000000000000000000000000000000000000000000000000000000000001)) - XCTAssertEqual(T(x64: X( 0, ~0, ~0, ~0)), (-00000000000000000000000000000000000000000000000000000000000018446744073709551616)) - XCTAssertEqual(T(x64: X( 0, 0, ~0, ~0)), (-00000000000000000000000000000000000000000340282366920938463463374607431768211456)) - XCTAssertEqual(T(x64: X( 0, 0, 0, ~0)), (-00000000000000000000006277101735386680763835789423207666416102355444464034512896)) - - XCTAssertEqual(T(exactlyIntegerLiteral: (00057896044618658097711785492504343953926634992332820282019728792003956564819968)), nil) - XCTAssertEqual(T(exactlyIntegerLiteral: (00057896044618658097711785492504343953926634992332820282019728792003956564819967)), T.max) - XCTAssertEqual(T(exactlyIntegerLiteral: (-00057896044618658097711785492504343953926634992332820282019728792003956564819968)), T.min) - XCTAssertEqual(T(exactlyIntegerLiteral: (-00057896044618658097711785492504343953926634992332820282019728792003956564819969)), nil) + XCTAssertEqual(self.top/*-----------*/, (-00000001780731860627700044960722568376592200742329637303199754547598369979440672)) + XCTAssertEqual(self.bottom/*--------*/, (00014074904626401341155369551180448584754667373453244490859944217516317499064576)) + XCTAssertEqual(T(exactlyIntegerLiteral: (00057896044618658097711785492504343953926634992332820282019728792003956564819968)), nil) + XCTAssertEqual(T(exactlyIntegerLiteral: (00057896044618658097711785492504343953926634992332820282019728792003956564819967)), T.max) + XCTAssertEqual(T(exactlyIntegerLiteral: (-00057896044618658097711785492504343953926634992332820282019728792003956564819968)), T.min) + XCTAssertEqual(T(exactlyIntegerLiteral: (-00057896044618658097711785492504343953926634992332820282019728792003956564819969)), nil) #else XCTAssertEqual(T(integerLiteral: Int.max), T(x64: X(UInt64(Int.max), 0, 0, 0))) XCTAssertEqual(T(integerLiteral: Int.min), ~T(x64: X(UInt64(Int.max), 0, 0, 0))) @@ -83,33 +76,19 @@ final class NBKDoubleWidthTestsOnLiteralsAsInt256: XCTestCase { XCTAssertEqual(T(x64: X( ~7, ~0, ~0, ~0)), "-0o10") XCTAssertEqual(T(x64: X(~15, ~0, ~0, ~0)), "-0x10") - XCTAssertEqual(T(x64: X( 0, 0, 0, 0)), "0x000000000000000000000000000000000000000000000000000000000000000000000000000000") - XCTAssertEqual(T(x64: X( ~0, 0, 0, 0)), "0x00000000000000000000000000000000000000000000000000000000000000ffffffffffffffff") - XCTAssertEqual(T(x64: X( ~0, ~0, 0, 0)), "0x0000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffff") - XCTAssertEqual(T(x64: X( ~0, ~0, ~0, 0)), "0x000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffff") - XCTAssertEqual(T(x64: X( ~0, ~0, ~0, ~0)), "-0x000000000000000000000000000000000000000000000000000000000000000000000000000001") - XCTAssertEqual(T(x64: X( 0, ~0, ~0, ~0)), "-0x000000000000000000000000000000000000000000000000000000000000010000000000000000") - XCTAssertEqual(T(x64: X( 0, 0, ~0, ~0)), "-0x000000000000000000000000000000000000000000000100000000000000000000000000000000") - XCTAssertEqual(T(x64: X( 0, 0, 0, ~0)), "-0x000000000000000000000000000001000000000000000000000000000000000000000000000000") - - XCTAssertEqual(T(exactlyStringLiteral: "0x000000000000008000000000000000000000000000000000000000000000000000000000000000"), nil) - XCTAssertEqual(T(exactlyStringLiteral: "0x000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"), T.max) - XCTAssertEqual(T(exactlyStringLiteral: "-0x000000000000008000000000000000000000000000000000000000000000000000000000000000"), T.min) - XCTAssertEqual(T(exactlyStringLiteral: "-0x000000000000008000000000000000000000000000000000000000000000000000000000000001"), nil) + XCTAssertEqual(self.top/*----------*/, "-0x00000000000000000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e20") + XCTAssertEqual(self.bottom/*-------*/, "0x000000000000001f1e1d1c1b1a191817161514131211100f0e0d0c0b0a09080706050403020100") + XCTAssertEqual(T(exactlyStringLiteral: "0x000000000000008000000000000000000000000000000000000000000000000000000000000000"), nil) + XCTAssertEqual(T(exactlyStringLiteral: "0x000000000000007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"), T.max) + XCTAssertEqual(T(exactlyStringLiteral: "-0x000000000000008000000000000000000000000000000000000000000000000000000000000000"), T.min) + XCTAssertEqual(T(exactlyStringLiteral: "-0x000000000000008000000000000000000000000000000000000000000000000000000000000001"), nil) - XCTAssertEqual(T(x64: X( 0, 0, 0, 0)), "00000000000000000000000000000000000000000000000000000000000000000000000000000000") - XCTAssertEqual(T(x64: X( ~0, 0, 0, 0)), "00000000000000000000000000000000000000000000000000000000000018446744073709551615") - XCTAssertEqual(T(x64: X( ~0, ~0, 0, 0)), "00000000000000000000000000000000000000000340282366920938463463374607431768211455") - XCTAssertEqual(T(x64: X( ~0, ~0, ~0, 0)), "00000000000000000000006277101735386680763835789423207666416102355444464034512895") - XCTAssertEqual(T(x64: X( ~0, ~0, ~0, ~0)), "-00000000000000000000000000000000000000000000000000000000000000000000000000000001") - XCTAssertEqual(T(x64: X( 0, ~0, ~0, ~0)), "-00000000000000000000000000000000000000000000000000000000000018446744073709551616") - XCTAssertEqual(T(x64: X( 0, 0, ~0, ~0)), "-00000000000000000000000000000000000000000340282366920938463463374607431768211456") - XCTAssertEqual(T(x64: X( 0, 0, 0, ~0)), "-00000000000000000000006277101735386680763835789423207666416102355444464034512896") - - XCTAssertEqual(T(exactlyStringLiteral: "00057896044618658097711785492504343953926634992332820282019728792003956564819968"), nil) - XCTAssertEqual(T(exactlyStringLiteral: "00057896044618658097711785492504343953926634992332820282019728792003956564819967"), T.max) - XCTAssertEqual(T(exactlyStringLiteral: "-00057896044618658097711785492504343953926634992332820282019728792003956564819968"), T.min) - XCTAssertEqual(T(exactlyStringLiteral: "-00057896044618658097711785492504343953926634992332820282019728792003956564819969"), nil) + XCTAssertEqual(self.top/*----------*/, "-00000001780731860627700044960722568376592200742329637303199754547598369979440672") + XCTAssertEqual(self.bottom/*-------*/, "00014074904626401341155369551180448584754667373453244490859944217516317499064576") + XCTAssertEqual(T(exactlyStringLiteral: "00057896044618658097711785492504343953926634992332820282019728792003956564819968"), nil) + XCTAssertEqual(T(exactlyStringLiteral: "00057896044618658097711785492504343953926634992332820282019728792003956564819967"), T.max) + XCTAssertEqual(T(exactlyStringLiteral: "-00057896044618658097711785492504343953926634992332820282019728792003956564819968"), T.min) + XCTAssertEqual(T(exactlyStringLiteral: "-00057896044618658097711785492504343953926634992332820282019728792003956564819969"), nil) } } @@ -121,6 +100,13 @@ final class NBKDoubleWidthTestsOnLiteralsAsUInt256: XCTestCase { typealias T = UInt256 + //=------------------------------------------------------------------------= + // MARK: State + //=------------------------------------------------------------------------= + + let top = T(x64: X(0xe7e6e5e4e3e2e1e0, 0xefeeedecebeae9e8, 0xf7f6f5f4f3f2f1f0, 0xfffefdfcfbfaf9f8)) + let bottom = T(x64: X(0x0706050403020100, 0x0f0e0d0c0b0a0908, 0x1716151413121110, 0x1f1e1d1c1b1a1918)) + //=------------------------------------------------------------------------= // MARK: Tests //=------------------------------------------------------------------------= @@ -131,33 +117,19 @@ final class NBKDoubleWidthTestsOnLiteralsAsUInt256: XCTestCase { XCTAssertEqual(T(x64: X( 08, 0, 0, 0)), (0o10)) XCTAssertEqual(T(x64: X( 16, 0, 0, 0)), (0x10)) #if SBI && swift(>=5.8) - XCTAssertEqual(T(x64: X( 0, 0, 0, 0)), (0x000000000000000000000000000000000000000000000000000000000000000000000000000000)) - XCTAssertEqual(T(x64: X( ~0, 0, 0, 0)), (0x00000000000000000000000000000000000000000000000000000000000000ffffffffffffffff)) - XCTAssertEqual(T(x64: X( ~0, ~0, 0, 0)), (0x0000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffff)) - XCTAssertEqual(T(x64: X( ~0, ~0, ~0, 0)), (0x000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffff)) - XCTAssertEqual(T(x64: X( ~0, ~0, ~0, ~0)), (0x00000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)) - XCTAssertEqual(T(x64: X( 0, ~0, ~0, ~0)), (0x00000000000000ffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000)) - XCTAssertEqual(T(x64: X( 0, 0, ~0, ~0)), (0x00000000000000ffffffffffffffffffffffffffffffff00000000000000000000000000000000)) - XCTAssertEqual(T(x64: X( 0, 0, 0, ~0)), (0x00000000000000ffffffffffffffff000000000000000000000000000000000000000000000000)) + XCTAssertEqual(self.top/*-----------*/, (0x00000000000000fffefdfcfbfaf9f8f7f6f5f4f3f2f1f0efeeedecebeae9e8e7e6e5e4e3e2e1e0)) + XCTAssertEqual(self.bottom/*--------*/, (0x000000000000001f1e1d1c1b1a191817161514131211100f0e0d0c0b0a09080706050403020100)) + XCTAssertEqual(T(exactlyIntegerLiteral: (0x000000000000010000000000000000000000000000000000000000000000000000000000000000)), nil) + XCTAssertEqual(T(exactlyIntegerLiteral: (0x00000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)), T.max) + XCTAssertEqual(T(exactlyIntegerLiteral: (0x000000000000000000000000000000000000000000000000000000000000000000000000000000)), T.min) + XCTAssertEqual(T(exactlyIntegerLiteral: (-0x000000000000000000000000000000000000000000000000000000000000000000000000000001)), nil) - XCTAssertEqual(T(exactlyIntegerLiteral: (0x000000000000010000000000000000000000000000000000000000000000000000000000000000)), nil) - XCTAssertEqual(T(exactlyIntegerLiteral: (0x00000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff)), T.max) - XCTAssertEqual(T(exactlyIntegerLiteral: (0x000000000000000000000000000000000000000000000000000000000000000000000000000000)), T.min) - XCTAssertEqual(T(exactlyIntegerLiteral: (-0x000000000000000000000000000000000000000000000000000000000000000000000000000001)), nil) - - XCTAssertEqual(T(x64: X( 0, 0, 0, 0)), (00000000000000000000000000000000000000000000000000000000000000000000000000000000)) - XCTAssertEqual(T(x64: X( ~0, 0, 0, 0)), (00000000000000000000000000000000000000000000000000000000000018446744073709551615)) - XCTAssertEqual(T(x64: X( ~0, ~0, 0, 0)), (00000000000000000000000000000000000000000340282366920938463463374607431768211455)) - XCTAssertEqual(T(x64: X( ~0, ~0, ~0, 0)), (00000000000000000000006277101735386680763835789423207666416102355444464034512895)) - XCTAssertEqual(T(x64: X( ~0, ~0, ~0, ~0)), (00115792089237316195423570985008687907853269984665640564039457584007913129639935)) - XCTAssertEqual(T(x64: X( 0, ~0, ~0, ~0)), (00115792089237316195423570985008687907853269984665640564039439137263839420088320)) - XCTAssertEqual(T(x64: X( 0, 0, ~0, ~0)), (00115792089237316195423570985008687907852929702298719625575994209400481361428480)) - XCTAssertEqual(T(x64: X( 0, 0, 0, ~0)), (00115792089237316195417293883273301227089434195242432897623355228563449095127040)) - - XCTAssertEqual(T(exactlyIntegerLiteral: (00115792089237316195423570985008687907853269984665640564039457584007913129639936)), nil) - XCTAssertEqual(T(exactlyIntegerLiteral: (00115792089237316195423570985008687907853269984665640564039457584007913129639935)), T.max) - XCTAssertEqual(T(exactlyIntegerLiteral: (00000000000000000000000000000000000000000000000000000000000000000000000000000000)), T.min) - XCTAssertEqual(T(exactlyIntegerLiteral: (-00000000000000000000000000000000000000000000000000000000000000000000000000000001)), nil) + XCTAssertEqual(self.top/*-----------*/, (00115790308505455567723526024286119531261069242336003260839703036409543150199264)) + XCTAssertEqual(self.bottom/*--------*/, (00014074904626401341155369551180448584754667373453244490859944217516317499064576)) + XCTAssertEqual(T(exactlyIntegerLiteral: (00115792089237316195423570985008687907853269984665640564039457584007913129639936)), nil) + XCTAssertEqual(T(exactlyIntegerLiteral: (00115792089237316195423570985008687907853269984665640564039457584007913129639935)), T.max) + XCTAssertEqual(T(exactlyIntegerLiteral: (00000000000000000000000000000000000000000000000000000000000000000000000000000000)), T.min) + XCTAssertEqual(T(exactlyIntegerLiteral: (-00000000000000000000000000000000000000000000000000000000000000000000000000000001)), nil) #else XCTAssertEqual(T(integerLiteral: UInt.max), T(x64: X(UInt64(UInt.max), 0, 0, 0))) XCTAssertEqual(T(integerLiteral: UInt.min), T(x64: X(UInt64(UInt.min), 0, 0, 0))) @@ -170,33 +142,19 @@ final class NBKDoubleWidthTestsOnLiteralsAsUInt256: XCTestCase { XCTAssertEqual(T(x64: X( 08, 0, 0, 0)), "0o10") XCTAssertEqual(T(x64: X( 16, 0, 0, 0)), "0x10") - XCTAssertEqual(T(x64: X( 0, 0, 0, 0)), "0x000000000000000000000000000000000000000000000000000000000000000000000000000000") - XCTAssertEqual(T(x64: X( ~0, 0, 0, 0)), "0x00000000000000000000000000000000000000000000000000000000000000ffffffffffffffff") - XCTAssertEqual(T(x64: X( ~0, ~0, 0, 0)), "0x0000000000000000000000000000000000000000000000ffffffffffffffffffffffffffffffff") - XCTAssertEqual(T(x64: X( ~0, ~0, ~0, 0)), "0x000000000000000000000000000000ffffffffffffffffffffffffffffffffffffffffffffffff") - XCTAssertEqual(T(x64: X( ~0, ~0, ~0, ~0)), "0x00000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff") - XCTAssertEqual(T(x64: X( 0, ~0, ~0, ~0)), "0x00000000000000ffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000") - XCTAssertEqual(T(x64: X( 0, 0, ~0, ~0)), "0x00000000000000ffffffffffffffffffffffffffffffff00000000000000000000000000000000") - XCTAssertEqual(T(x64: X( 0, 0, 0, ~0)), "0x00000000000000ffffffffffffffff000000000000000000000000000000000000000000000000") - - XCTAssertEqual(T(exactlyStringLiteral: "0x000000000000010000000000000000000000000000000000000000000000000000000000000000"), nil) - XCTAssertEqual(T(exactlyStringLiteral: "0x00000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"), T.max) - XCTAssertEqual(T(exactlyStringLiteral: "0x000000000000000000000000000000000000000000000000000000000000000000000000000000"), T.min) - XCTAssertEqual(T(exactlyStringLiteral: "-0x000000000000000000000000000000000000000000000000000000000000000000000000000001"), nil) - - XCTAssertEqual(T(x64: X( 0, 0, 0, 0)), "00000000000000000000000000000000000000000000000000000000000000000000000000000000") - XCTAssertEqual(T(x64: X( ~0, 0, 0, 0)), "00000000000000000000000000000000000000000000000000000000000018446744073709551615") - XCTAssertEqual(T(x64: X( ~0, ~0, 0, 0)), "00000000000000000000000000000000000000000340282366920938463463374607431768211455") - XCTAssertEqual(T(x64: X( ~0, ~0, ~0, 0)), "00000000000000000000006277101735386680763835789423207666416102355444464034512895") - XCTAssertEqual(T(x64: X( ~0, ~0, ~0, ~0)), "00115792089237316195423570985008687907853269984665640564039457584007913129639935") - XCTAssertEqual(T(x64: X( 0, ~0, ~0, ~0)), "00115792089237316195423570985008687907853269984665640564039439137263839420088320") - XCTAssertEqual(T(x64: X( 0, 0, ~0, ~0)), "00115792089237316195423570985008687907852929702298719625575994209400481361428480") - XCTAssertEqual(T(x64: X( 0, 0, 0, ~0)), "00115792089237316195417293883273301227089434195242432897623355228563449095127040") + XCTAssertEqual(self.top/*----------*/, "0x00000000000000fffefdfcfbfaf9f8f7f6f5f4f3f2f1f0efeeedecebeae9e8e7e6e5e4e3e2e1e0") + XCTAssertEqual(self.bottom/*-------*/, "0x000000000000001f1e1d1c1b1a191817161514131211100f0e0d0c0b0a09080706050403020100") + XCTAssertEqual(T(exactlyStringLiteral: "0x000000000000010000000000000000000000000000000000000000000000000000000000000000"), nil) + XCTAssertEqual(T(exactlyStringLiteral: "0x00000000000000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff"), T.max) + XCTAssertEqual(T(exactlyStringLiteral: "0x000000000000000000000000000000000000000000000000000000000000000000000000000000"), T.min) + XCTAssertEqual(T(exactlyStringLiteral: "-0x000000000000000000000000000000000000000000000000000000000000000000000000000001"), nil) - XCTAssertEqual(T(exactlyStringLiteral: "00115792089237316195423570985008687907853269984665640564039457584007913129639936"), nil) - XCTAssertEqual(T(exactlyStringLiteral: "00115792089237316195423570985008687907853269984665640564039457584007913129639935"), T.max) - XCTAssertEqual(T(exactlyStringLiteral: "00000000000000000000000000000000000000000000000000000000000000000000000000000000"), T.min) - XCTAssertEqual(T(exactlyStringLiteral: "-00000000000000000000000000000000000000000000000000000000000000000000000000000001"), nil) + XCTAssertEqual(self.top/*----------*/, "00115790308505455567723526024286119531261069242336003260839703036409543150199264") + XCTAssertEqual(self.bottom/*-------*/, "00014074904626401341155369551180448584754667373453244490859944217516317499064576") + XCTAssertEqual(T(exactlyStringLiteral: "00115792089237316195423570985008687907853269984665640564039457584007913129639936"), nil) + XCTAssertEqual(T(exactlyStringLiteral: "00115792089237316195423570985008687907853269984665640564039457584007913129639935"), T.max) + XCTAssertEqual(T(exactlyStringLiteral: "00000000000000000000000000000000000000000000000000000000000000000000000000000000"), T.min) + XCTAssertEqual(T(exactlyStringLiteral: "-00000000000000000000000000000000000000000000000000000000000000000000000000000001"), nil) } }