     }
     
     func testBooleanAndEqualOperator() {
-        let tests = [
-            (lhs: UInt128.min, rhs: UInt128.min, result: UInt128.min),
-            (lhs: UInt128(1), rhs: UInt128(1), result: UInt128(1)),
-            (lhs: UInt128.min, rhs: UInt128.max, result: UInt128.min),
-            (lhs: UInt128(upperBits: UInt64.min, lowerBits: UInt64.max),
-             rhs: UInt128(upperBits: UInt64.max, lowerBits: UInt64.min),
-             result: UInt128.min),
-            (lhs: UInt128(upperBits: 17434549027881090559, lowerBits: 18373836492640810226),
-             rhs: UInt128(upperBits: 17506889200551263486, lowerBits: 18446176699804939249),
-             result: UInt128(upperBits: 17361645879185571070, lowerBits: 18373836492506460400)),
-            (lhs: UInt128.max, rhs: UInt128.max, result: UInt128.max)]
+        var tests = [(lhs: UInt128.min, rhs: UInt128.min, result: UInt128.min)]
+        tests.append((lhs: UInt128(1), rhs: UInt128(1), result: UInt128(1)))
+        tests.append((lhs: UInt128.min, rhs: UInt128.max, result: UInt128.min))
+        tests.append((lhs: UInt128(upperBits: UInt64.min, lowerBits: UInt64.max),
+                      rhs: UInt128(upperBits: UInt64.max, lowerBits: UInt64.min),
+                      result: UInt128.min))
+        tests.append((lhs: UInt128(upperBits: 17434549027881090559, lowerBits: 18373836492640810226),
+                      rhs: UInt128(upperBits: 17506889200551263486, lowerBits: 18446176699804939249),
+                      result: UInt128(upperBits: 17361645879185571070, lowerBits: 18373836492506460400)))
+        tests.append((lhs: UInt128.max, rhs: UInt128.max, result: UInt128.max))
         
         tests.forEach { test in
             var result = test.lhs

    }
    
    func divisionTests() -> [(dividend: UInt128, divisor: UInt128, quotient: UInt128, remainder: UInt128)] {
        var tests = [(dividend: UInt128, divisor: UInt128, quotient: UInt128, remainder: UInt128)]()
        tests.append(
            // 0 / 1 = 0, remainder 0
            (dividend: UInt128.min, divisor: UInt128(1),
             quotient: UInt128.min, remainder: UInt128.min))
        tests.append(
            // 2 / 1 = 2, remainder 0
            (dividend: UInt128(2), divisor: UInt128(1),
             quotient: UInt128(2), remainder: UInt128.min))
        tests.append(
            // 1 / 2 = 0, remainder 1
            (dividend: UInt128(1), divisor: UInt128(2),
             quotient: UInt128(0), remainder: UInt128(1)))
        tests.append(
            // UInt128.max / UInt64.max = UInt128(upperBits: 1, lowerBits: 1), remainder 0
            (dividend: UInt128.max, divisor: UInt128(UInt64.max),
             quotient: UInt128(upperBits: 1, lowerBits: 1), remainder: UInt128.min))
        tests.append(
            // UInt128.max / UInt128.max = 1, remainder 0
            (dividend: UInt128.max, divisor: UInt128.max,
             quotient: UInt128(1), remainder: UInt128.min))
        tests.append(
            // UInt64.max / UInt128.max = 0, remainder UInt64.max
            (dividend: UInt128(UInt64.max), divisor: UInt128.max,
             quotient: UInt128.min, remainder: UInt128(UInt64.max)))
        return tests
    }
    

    
    func testMaskingLeftShiftEqualOperatorStandardCases() {
        let uint64_1_in_msb: UInt64 = 2 << 62
        var tests = [(input: UInt128(upperBits: 0, lowerBits: 1),
                      shiftWidth: UInt64(127),
                      expected: UInt128(upperBits: uint64_1_in_msb, lowerBits: 0))]
        tests.append((input: UInt128(upperBits: 0, lowerBits: 1),
                      shiftWidth: UInt64(64),
                      expected: UInt128(upperBits: 1, lowerBits: 0)))
        tests.append((input: UInt128(upperBits: 0, lowerBits: 1),
                      shiftWidth: UInt64(1),
                      expected: UInt128(upperBits: 0, lowerBits: 2)))
        
        tests.forEach { test in
            var testValue = test.input
