             try! UInt128(binaryString) == sanityValue,
             "Basic Binary String to UInt128 conversion failed"
         )
+        // Valid string output conversion test (lowercase)
+        XCTAssertTrue(
+            String(sanityValue, radix: 2, uppercase: false) == String.init([
+                "110100001000100011111000100010001101100011",
+                "1100001110100010001000111000001000100100000000",
+                "1000100010000000100010001000000010101"
+                ].joinWithSeparator("")),
+            "Basic UInt128 to Binary Lowercase String Conversion Failed"
+        )
+        // Valid string output conversion test (uppercase)
+        XCTAssertTrue(
+            String(sanityValue, radix: 2, uppercase: true) == String.init([
+                "110100001000100011111000100010001101100011",
+                "1100001110100010001000111000001000100100000000",
+                "1000100010000000100010001000000010101"
+                ].joinWithSeparator("")),
+            "Basic UInt128 to Binary Uppercase String Conversion Failed"
+        )
         // Invalid characters.
         do {
             let _ = try UInt128("0b002")

            try! UInt128("0o00320421742106617035042160211001042004210025") == sanityValue,
            "Basic Octal String to UInt128 conversion failed"
        )
        // Invalid characters.
        do {
            let _ = try UInt128("0o008")

        } catch {
            XCTFail("Invalid Radix didn't throw correctly.")
        }
        // Test 0 output from 0 input.
        let zero = UInt128(0)
        XCTAssert(zero.description == "0")
        // Test String Conversion from UInt128 Input.
        XCTAssertTrue(
            try! UInt128(String(bizarreUInt128)) == bizarreUInt128,
            "UInt128 Input to String Gave Incorrect Result"
        )
    }
    func testBinaryStringConversion() {
        // String conversion test.
