         XCTAssertEqual(NSNumber(char: Int8(0)).unsignedLongLongValue, UInt64(0))
         XCTAssertEqual(NSNumber(char: Int8(-37)).boolValue, true);
         XCTAssertEqual(NSNumber(char: Int8(-37)).charValue, Int8(-37))
+#if !(os(Linux) && arch(arm))
+        // Linux/arm chars are unsigned, so Int8 in Swift, until this issue is resolved, these tests will always fail.
         XCTAssertEqual(NSNumber(char: Int8(-37)).shortValue, Int16(-37))
         XCTAssertEqual(NSNumber(char: Int8(-37)).intValue, Int32(-37))
         XCTAssertEqual(NSNumber(char: Int8(-37)).longLongValue, Int64(-37))
+#endif
         XCTAssertEqual(NSNumber(char: Int8(42)).boolValue, true)
         XCTAssertEqual(NSNumber(char: Int8(42)).charValue, Int8(42))
         XCTAssertEqual(NSNumber(char: Int8(42)).unsignedCharValue, UInt8(42))

        XCTAssertEqual(NSNumber(bool: false).compare(NSNumber(bool: true)), NSComparisonResult.OrderedAscending)

        XCTAssertEqual(NSNumber(bool: false).compare(NSNumber(char: 0)), NSComparisonResult.OrderedSame)
        XCTAssertEqual(NSNumber(bool: false).compare(NSNumber(char: -1)), NSComparisonResult.OrderedDescending)
        XCTAssertEqual(NSNumber(bool: false).compare(NSNumber(char: 1)), NSComparisonResult.OrderedAscending)

        XCTAssertEqual(NSNumber(bool: true).compare(NSNumber(char: 1)), NSComparisonResult.OrderedSame)

    func test_compareNumberWithChar() {
        XCTAssertEqual(NSNumber(char: 42).compare(NSNumber(char: 42)), NSComparisonResult.OrderedSame)
        XCTAssertEqual(NSNumber(char: 42).compare(NSNumber(char: 0)), NSComparisonResult.OrderedDescending)
#if !(os(Linux) && arch(arm))
        // Linux/arm chars are unsigned, so Int8 in Swift, until this issue is resolved, this test will always fail.
        XCTAssertEqual(NSNumber(char: -37).compare(NSNumber(char: 16)), NSComparisonResult.OrderedAscending)
#endif

        XCTAssertEqual(NSNumber(char: 1).compare(NSNumber(bool: true)), NSComparisonResult.OrderedSame)
        XCTAssertEqual(NSNumber(char: 1).compare(NSNumber(bool: false)), NSComparisonResult.OrderedDescending)
#if !(os(Linux) && arch(arm))
        // Linux/arm chars are unsigned, so Int8 in Swift, until this issue is resolved, this test will always fail.
        XCTAssertEqual(NSNumber(char: -37).compare(NSNumber(bool: true)), NSComparisonResult.OrderedAscending)
#endif

        XCTAssertEqual(NSNumber(char: 42).compare(NSNumber(unsignedChar: 42)), NSComparisonResult.OrderedSame)
        XCTAssertEqual(NSNumber(char: 42).compare(NSNumber(unsignedChar: 16)), NSComparisonResult.OrderedDescending)
#if !(os(Linux) && arch(arm))
        // Linux/arm chars are unsigned, so Int8 in Swift, until this issue is resolved, this test will always fail.
        XCTAssertEqual(NSNumber(char: -37).compare(NSNumber(unsignedChar: 255)), NSComparisonResult.OrderedAscending)
#endif

        XCTAssertEqual(NSNumber(char: 42).compare(NSNumber(float: 42)), NSComparisonResult.OrderedSame)
#if !(os(Linux) && arch(arm))
        // Linux/arm chars are unsigned, so Int8 in Swift, until this issue is resolved, this test will always fail.
        XCTAssertEqual(NSNumber(char: -16).compare(NSNumber(float: -37.5)), NSComparisonResult.OrderedDescending)
#endif
        XCTAssertEqual(NSNumber(char: 16).compare(NSNumber(float: 16.1)), NSComparisonResult.OrderedAscending)
    }

