size_literals_ut.cpp 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. #include "size_literals.h"
  2. void CompileTestUnsigned() {
  3. static_assert(1_KB == 1024, "Wrong 1KB value");
  4. static_assert(3_KB == 3 * 1024, "Wrong 3KB value");
  5. static_assert(41_KB == 41 * 1024, "Wrong 41KB value");
  6. static_assert(1023_KB == 1023 * 1024, "Wrong 1023KB value");
  7. static_assert(1_MB == 1_KB * 1024, "Wrong 1MB value");
  8. static_assert(5_MB == 5_KB * 1024, "Wrong 5MB value");
  9. static_assert(71_MB == 71_KB * 1024, "Wrong 71MB value");
  10. static_assert(1023_MB == 1023_KB * 1024, "Wrong 1023MB value");
  11. static_assert(1_GB == 1_MB * 1024, "Wrong 1GB value");
  12. static_assert(7_GB == 7_MB * 1024, "Wrong 7GB value");
  13. static_assert(29_GB == 29_MB * 1024, "Wrong 29GB value");
  14. static_assert(1023_GB == 1023_MB * 1024, "Wrong 1023GB value");
  15. static_assert(1_TB == 1_GB * 1024, "Wrong 1TB value");
  16. static_assert(9_TB == 9_GB * 1024, "Wrong 9TB value");
  17. static_assert(57_TB == 57_GB * 1024, "Wrong 57TB value");
  18. static_assert(1023_TB == 1023_GB * 1024, "Wrong 1023TB value");
  19. static_assert(1_PB == 1_TB * 1024, "Wrong 1PB value");
  20. static_assert(9_PB == 9_TB * 1024, "Wrong 9PB value");
  21. static_assert(42_PB == 42_TB * 1024, "Wrong 42PB value");
  22. static_assert(1023_PB == 1023_TB * 1024, "Wrong 1023PB value");
  23. static_assert(1_EB == 1_PB * 1024, "Wrong 1EB value");
  24. static_assert(9_EB == 9_PB * 1024, "Wrong 9EB value");
  25. static_assert(9000000_TB == 9000000_GB * 1024, "Wrong 9000000TB value");
  26. }
  27. void CompileTestSigned() {
  28. static_assert(1_KBs == 1024, "Wrong 1KBs value");
  29. static_assert(3_KBs == 3 * 1024, "Wrong 3KBs value");
  30. static_assert(41_KBs == 41 * 1024, "Wrong 41KBs value");
  31. static_assert(1023_KBs == 1023 * 1024, "Wrong 1023KBs value");
  32. static_assert(1_MBs == 1_KBs * 1024, "Wrong 1MBs value");
  33. static_assert(5_MBs == 5_KBs * 1024, "Wrong 5MBs value");
  34. static_assert(71_MBs == 71_KBs * 1024, "Wrong 71MBs value");
  35. static_assert(1023_MBs == 1023_KBs * 1024, "Wrong 1023MBs value");
  36. static_assert(1_GBs == 1_MBs * 1024, "Wrong 1GBs value");
  37. static_assert(7_GBs == 7_MBs * 1024, "Wrong 7GBs value");
  38. static_assert(29_GBs == 29_MBs * 1024, "Wrong 29GBs value");
  39. static_assert(1023_GBs == 1023_MBs * 1024, "Wrong 1023GBs value");
  40. static_assert(1_TBs == 1_GBs * 1024, "Wrong 1TBs value");
  41. static_assert(9_TBs == 9_GBs * 1024, "Wrong 9TBs value");
  42. static_assert(57_TBs == 57_GBs * 1024, "Wrong 57TBs value");
  43. static_assert(1023_TBs == 1023_GBs * 1024, "Wrong 1023TBs value");
  44. static_assert(1_PBs == 1_TBs * 1024, "Wrong 1PBs value");
  45. static_assert(9_PBs == 9_TBs * 1024, "Wrong 9PBs value");
  46. static_assert(42_PBs == 42_TBs * 1024, "Wrong 42PBs value");
  47. static_assert(1023_PBs == 1023_TBs * 1024, "Wrong 1023PBs value");
  48. static_assert(1_EBs == 1_PBs * 1024, "Wrong 1EBs value");
  49. static_assert(7_EBs == 7_PBs * 1024, "Wrong 7EBs value");
  50. static_assert(8388607_TBs == 8388607_GBs * 1024, "Wrong 8388607TBs value"); // 2**23 - 1 TB
  51. // Should cause compilation error if uncommented
  52. //static_assert(8388608_TBs == 8388608_GBs * 1024, "Wrong 8388608TBs value");
  53. }