         } 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.

        }
    }
    func testDecimalStringConversion() {
        // String conversion test.
        XCTAssertTrue(
            try! UInt128("0034648827046971881013470724628828721173") == sanityValue,
            "Basic Decimal String to UInt128 conversion failed"
        )
        // Invalid character.
        do {
            let _ = try UInt128("00a")

            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")
