blob: 6ef64b0fbb204a52dc4fd79761503fbb38f2c8c9 [file] [log] [blame]
// RUN: %target-run-simple-swift
// REQUIRES: executable_test
import StdlibUnittest
let PrintTests = TestSuite("PrintInteger")
PrintTests.test("CustomStringConvertible") {
func hasDescription(_ any: Any) {
expectTrue(any is CustomStringConvertible)
}
hasDescription(Int(42))
hasDescription(UInt(42))
hasDescription(Int8(-42))
hasDescription(Int16(-42))
hasDescription(Int32(-42))
hasDescription(Int64(-42))
hasDescription(UInt8(42))
hasDescription(UInt16(42))
hasDescription(UInt32(42))
hasDescription(UInt64(42))
hasDescription(CChar(42))
hasDescription(CUnsignedChar(42))
hasDescription(CUnsignedShort(42))
hasDescription(CUnsignedInt(42))
hasDescription(CUnsignedLong(42))
hasDescription(CUnsignedLongLong(42))
hasDescription(CSignedChar(42))
hasDescription(CShort(42))
hasDescription(CInt(42))
hasDescription(CLong(42))
hasDescription(CLongLong(42))
hasDescription(CWideChar(42)!)
hasDescription(CChar16(42))
hasDescription(CChar32(42)!)
}
PrintTests.test("Printable") {
expectPrinted("42", CChar(42))
expectPrinted("42", CUnsignedChar(42))
expectPrinted("42", CUnsignedShort(42))
expectPrinted("42", CUnsignedInt(42))
expectPrinted("42", CUnsignedLong(42))
expectPrinted("42", CUnsignedLongLong(42))
expectPrinted("42", CSignedChar(42))
expectPrinted("42", CShort(42))
expectPrinted("42", CInt(42))
expectPrinted("42", CLong(42))
expectPrinted("42", CLongLong(42))
expectPrinted("*", CWideChar(42)!)
expectPrinted("42", CChar16(42))
expectPrinted("*", CChar32(42)!)
if (UInt64(Int.max) > 0x1_0000_0000 as UInt64) {
expectPrinted("-9223372036854775808", Int.min)
expectPrinted("9223372036854775807", Int.max)
} else {
expectPrinted("-2147483648", Int.min)
expectPrinted("2147483647", Int.max)
}
expectPrinted("0", Int(0))
expectPrinted("42", Int(42))
expectPrinted("-42", Int(-42))
if (UInt64(UInt.max) > 0x1_0000_0000 as UInt64) {
expectPrinted("18446744073709551615", UInt.max)
} else {
expectPrinted("4294967295", UInt.max)
}
expectPrinted("0", UInt.min)
expectPrinted("0", UInt(0))
expectPrinted("42", UInt(42))
expectPrinted("-128", Int8.min)
expectPrinted("127", Int8.max)
expectPrinted("0", Int8(0))
expectPrinted("42", Int8(42))
expectPrinted("-42", Int8(-42))
expectPrinted("0", UInt8.min)
expectPrinted("255", UInt8.max)
expectPrinted("0", UInt8(0))
expectPrinted("42", UInt8(42))
expectPrinted("-32768", Int16.min)
expectPrinted("32767", Int16.max)
expectPrinted("0", Int16(0))
expectPrinted("42", Int16(42))
expectPrinted("-42", Int16(-42))
expectPrinted("0", UInt16.min)
expectPrinted("65535", UInt16.max)
expectPrinted("0", UInt16(0))
expectPrinted("42", UInt16(42))
expectPrinted("-2147483648", Int32.min)
expectPrinted("2147483647", Int32.max)
expectPrinted("0", Int32(0))
expectPrinted("42", Int32(42))
expectPrinted("-42", Int32(-42))
expectPrinted("0", UInt32.min)
expectPrinted("4294967295", UInt32.max)
expectPrinted("0", UInt32(0))
expectPrinted("42", UInt32(42))
expectPrinted("-9223372036854775808", Int64.min)
expectPrinted("9223372036854775807", Int64.max)
expectPrinted("0", Int64(0))
expectPrinted("42", Int64(42))
expectPrinted("-42", Int64(-42))
expectPrinted("0", UInt64.min)
expectPrinted("18446744073709551615", UInt64.max)
expectPrinted("0", UInt64(0))
expectPrinted("42", UInt64(42))
expectPrinted("-42", Int8(-42))
expectPrinted("-42", Int16(-42))
expectPrinted("-42", Int32(-42))
expectPrinted("-42", Int64(-42))
expectPrinted("42", UInt8(42))
expectPrinted("42", UInt16(42))
expectPrinted("42", UInt32(42))
expectPrinted("42", UInt64(42))
expectPrinted("42", CChar(42))
expectPrinted("42", CUnsignedChar(42))
expectPrinted("42", CUnsignedShort(42))
expectPrinted("42", CUnsignedInt(42))
expectPrinted("42", CUnsignedLong(42))
expectPrinted("42", CUnsignedLongLong(42))
expectPrinted("42", CSignedChar(42))
expectPrinted("42", CShort(42))
expectPrinted("42", CInt(42))
expectPrinted("42", CLong(42))
expectPrinted("42", CLongLong(42))
expectPrinted("*", CWideChar(42)!)
expectPrinted("42", CChar16(42))
expectPrinted("*", CChar32(42)!)
}
runAllTests()