_uitoa.cpp 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. #include "_uitoa.h"
  2. #include "../../Source/NumberToString.h"
  3. /**
  4. * Test converting a char value into a string
  5. */
  6. void testNumberToString__uitoa::testChar(void){
  7. #ifndef JSON_LIBRARY
  8. assertEquals(sizeof(unsigned char), 1);
  9. assertEquals(NumberToString::_uitoa<unsigned char>((unsigned char)255), JSON_TEXT("255"));
  10. assertEquals(NumberToString::_uitoa<unsigned char>((unsigned char)127), JSON_TEXT("127"));
  11. assertEquals(NumberToString::_uitoa<unsigned char>((unsigned char)15), JSON_TEXT("15"));
  12. assertEquals(NumberToString::_uitoa<unsigned char>((unsigned char)0), JSON_TEXT("0"));
  13. #endif
  14. }
  15. /**
  16. * Test converting a short value into a string
  17. */
  18. void testNumberToString__uitoa::testShort(void){
  19. #ifndef JSON_LIBRARY
  20. assertEquals(sizeof(unsigned short), 2);
  21. assertEquals(NumberToString::_uitoa<unsigned short>((unsigned short)65535), JSON_TEXT("65535"));
  22. assertEquals(NumberToString::_uitoa<unsigned short>((unsigned short)32767), JSON_TEXT("32767"));
  23. assertEquals(NumberToString::_uitoa<unsigned short>((unsigned short)127), JSON_TEXT("127"));
  24. assertEquals(NumberToString::_uitoa<unsigned short>((unsigned short)15), JSON_TEXT("15"));
  25. assertEquals(NumberToString::_uitoa<unsigned short>((unsigned short)0), JSON_TEXT("0"));
  26. #endif
  27. }
  28. /**
  29. * Test converting a int value into a string
  30. */
  31. void testNumberToString__uitoa::testInt(void){
  32. #ifndef JSON_LIBRARY
  33. assertEquals(sizeof(unsigned int), 4);
  34. assertEquals(NumberToString::_uitoa<unsigned int>((unsigned int)4294967295u), JSON_TEXT("4294967295"));
  35. assertEquals(NumberToString::_uitoa<unsigned int>((unsigned int)2147483647), JSON_TEXT("2147483647"));
  36. assertEquals(NumberToString::_uitoa<unsigned int>((unsigned int)32767), JSON_TEXT("32767"));
  37. assertEquals(NumberToString::_uitoa<unsigned int>((unsigned int)127), JSON_TEXT("127"));
  38. assertEquals(NumberToString::_uitoa<unsigned int>((unsigned int)15), JSON_TEXT("15"));
  39. assertEquals(NumberToString::_uitoa<unsigned int>((unsigned int)0), JSON_TEXT("0"));
  40. #endif
  41. }
  42. /**
  43. * Test converting a long value into a string
  44. */
  45. void testNumberToString__uitoa::testLong(void){
  46. #ifndef JSON_LIBRARY
  47. #ifdef TEST_LONG_EXTREMES
  48. if (sizeof(unsigned long) >= 8){
  49. assertEquals(NumberToString::_uitoa<unsigned long>((unsigned long)18446744073709551615UL), JSON_TEXT("18446744073709551615"));
  50. assertEquals(NumberToString::_uitoa<unsigned long>((unsigned long)9223372036854775807L), JSON_TEXT("9223372036854775807"));
  51. }
  52. #endif
  53. assertEquals(NumberToString::_uitoa<unsigned long>((unsigned long)2147483647), JSON_TEXT("2147483647"));
  54. assertEquals(NumberToString::_uitoa<unsigned long>((unsigned long)32767), JSON_TEXT("32767"));
  55. assertEquals(NumberToString::_uitoa<unsigned long>((unsigned long)127), JSON_TEXT("127"));
  56. assertEquals(NumberToString::_uitoa<unsigned long>((unsigned long)15), JSON_TEXT("15"));
  57. assertEquals(NumberToString::_uitoa<unsigned long>((unsigned long)0), JSON_TEXT("0"));
  58. #endif
  59. }
  60. /**
  61. * Test converting a long long value into a string
  62. */
  63. void testNumberToString__uitoa::testLongLong(void){
  64. #ifndef JSON_LIBRARY
  65. #ifndef JSON_ISO_STRICT
  66. #ifdef TEST_LONG_EXTREMES
  67. if (sizeof(unsigned long long) >= 8){
  68. assertEquals(NumberToString::_uitoa<unsigned long>((unsigned long long)18446744073709551615UL), JSON_TEXT("18446744073709551615"));
  69. assertEquals(NumberToString::_uitoa<unsigned long long>((unsigned long long)9223372036854775807L), JSON_TEXT("9223372036854775807"));
  70. assertEquals(NumberToString::_uitoa<unsigned long long>((unsigned long long)-9223372036854775807L), JSON_TEXT("-9223372036854775807"));
  71. }
  72. #endif
  73. assertEquals(NumberToString::_uitoa<unsigned long long>((unsigned long long)2147483647), JSON_TEXT("2147483647"));
  74. assertEquals(NumberToString::_uitoa<unsigned long long>((unsigned long long)32767), JSON_TEXT("32767"));
  75. assertEquals(NumberToString::_uitoa<unsigned long long>((unsigned long long)127), JSON_TEXT("127"));
  76. assertEquals(NumberToString::_uitoa<unsigned long long>((unsigned long long)15), JSON_TEXT("15"));
  77. assertEquals(NumberToString::_uitoa<unsigned long long>((unsigned long long)0), JSON_TEXT("0"));
  78. #endif
  79. #endif
  80. }