             try! UInt128("0b1101") << 67, try! UInt128("0x680000000000000000"),
             "13 Shifted 67 Bits Doesn't Equal Expected Value"
         )
+        var testValue: UInt128 = 5
+        testValue <<= 3
+        XCTAssertEqual(
+            testValue, 40,
+            "5 <<= 3 Doesn't Equal 40"
+        )
     }
     func testShiftRight() {
         XCTAssertEqual(

            bizarreUInt128 | bizarreUInt128.bigEndian, try! UInt128("0xF3F7F7FFF9FBFDFFFFFDFBF9FFF7F7F3"),
            "Complicated Bit Pattern ORed With Its Big Endian Conversion Doesn't Equal Expected Value"
        )
    }
    func testXOROperation() {
        XCTAssertEqual(
            allZeros ^ allOnes, allOnes,
            "All Bits Equal to 0 XORed With All Bits Equal to 1 Does Not Return an All One Pattern"

            mathOperation.overflow == true && mathOperation.0 == expectedResult,
            "Complicated Bit Pattern's Big Endian Representation Subtracted From Itself Didn't Give the Expected Result"
        )
        var testInteger: UInt128 = 7
        testInteger -= 2
        XCTAssertEqual(
            testInteger, 5,
            "7 -= 2 Doesn't Equal Expected Result"
        )
        XCTAssertEqual(
            --testInteger, 4,
            "Prefix Decrement Doesn't Equal Expected Result"
        )
        XCTAssert(
            testInteger-- == 4 && testInteger == 3,
            "Postfix Decrement Doesn't Equal Expected Result"
        )
    }
    func testDivisionWithModulus() {
        var mathOperation = bizarreUInt128 /% 1
        XCTAssert(
            mathOperation.quotient == bizarreUInt128 && mathOperation.remainder == 0,
            "Complicated Bit Pattern / 1 Doesn't Equal Complicated Bit Pattern"
        )
        mathOperation = bizarreUInt128 /% bizarreUInt128
        XCTAssert(
            mathOperation.quotient == 1 && mathOperation.remainder == 0,
            "Complicated Bit Pattern / Itself Doesn't Equal 1"
        )
        mathOperation = 0 /% bizarreUInt128
        XCTAssert(
            mathOperation.quotient == 0 && mathOperation.remainder == 0,
            "0 / Complicated Bit Pattern Doesn't Equal 0"
        )
        mathOperation = bizarreUInt128 /% bizarreUInt128.bigEndian
        XCTAssert(
            mathOperation.quotient == 0 && mathOperation.remainder == bizarreUInt128,
            "Complicated Bit Pattern Divided by a Smaller Complicated Bit Pattern Doesn't Equal the First Bit Pattern"
        )
        mathOperation = UInt128.max /% (UInt128(UInt64.max) + 1)
        XCTAssert(
            mathOperation.quotient == UInt128(UInt64.max) && mathOperation.remainder == UInt128(UInt64.max),
            "Maximum Value Divided by Half the Bit Count of Maximum Value + 1 (Division Across 64 Bit Boundary) Doesn't Equal Half the Bit Count of Maximum Value"
        )
    }
}