basic_functions.ncd 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257
  1. process main {
  2. var(@identity("Foo")) x;
  3. val_equal(x, "Foo") a;
  4. assert(a);
  5. var(@if("true", "T", "F")) x;
  6. val_equal(x, "T") a;
  7. assert(a);
  8. var(@if("ntrue", "T", "F")) x;
  9. val_equal(x, "F") a;
  10. assert(a);
  11. var(@bool("ntrue")) x;
  12. assert_false(x);
  13. var(@bool("true")) x;
  14. assert(x);
  15. var(@not("ntrue")) x;
  16. assert(x);
  17. var(@not("true")) x;
  18. assert_false(x);
  19. var(@and("ntrue")) x;
  20. assert_false(x);
  21. var(@and("true")) x;
  22. assert(x);
  23. var(@and("ntrue", "ntrue")) x;
  24. assert_false(x);
  25. var(@and("ntrue", "true")) x;
  26. assert_false(x);
  27. var(@and("true", "ntrue")) x;
  28. assert_false(x);
  29. var(@and("true", "true")) x;
  30. assert(x);
  31. var(@or("ntrue")) x;
  32. assert_false(x);
  33. var(@or("true")) x;
  34. assert(x);
  35. var(@or("ntrue", "ntrue")) x;
  36. assert_false(x);
  37. var(@or("ntrue", "true")) x;
  38. assert(x);
  39. var(@or("true", "ntrue")) x;
  40. assert(x);
  41. var(@or("true", "true")) x;
  42. assert(x);
  43. var(@imp("ntrue", "ntrue")) x;
  44. assert(x);
  45. var(@imp("ntrue", "true")) x;
  46. assert(x);
  47. var(@imp("true", "ntrue")) x;
  48. assert_false(x);
  49. var(@imp("true", "true")) x;
  50. assert(x);
  51. var(@val_lesser("B", "A")) x;
  52. assert_false(x);
  53. var(@val_lesser("B", "B")) x;
  54. assert_false(x);
  55. var(@val_lesser("B", "C")) x;
  56. assert(x);
  57. var(@val_greater("B", "A")) x;
  58. assert(x);
  59. var(@val_greater("B", "B")) x;
  60. assert_false(x);
  61. var(@val_greater("B", "C")) x;
  62. assert_false(x);
  63. var(@val_lesser_equal("B", "A")) x;
  64. assert_false(x);
  65. var(@val_lesser_equal("B", "B")) x;
  66. assert(x);
  67. var(@val_lesser_equal("B", "C")) x;
  68. assert(x);
  69. var(@val_greater_equal("B", "A")) x;
  70. assert(x);
  71. var(@val_greater_equal("B", "B")) x;
  72. assert(x);
  73. var(@val_greater_equal("B", "C")) x;
  74. assert_false(x);
  75. var(@val_equal("B", "A")) x;
  76. assert_false(x);
  77. var(@val_equal("B", "B")) x;
  78. assert(x);
  79. var(@val_equal("B", "C")) x;
  80. assert_false(x);
  81. var(@val_different("B", "A")) x;
  82. assert(x);
  83. var(@val_different("B", "B")) x;
  84. assert_false(x);
  85. var(@val_different("B", "C")) x;
  86. assert(x);
  87. var(@concat("Foo", "Bar", {"Baaz", "Qux", {"M"}})) x;
  88. val_equal(x, "FooBarBaazQuxM") a;
  89. assert(a);
  90. var(@concatlist({"A"}, {}, {{}, []})) x;
  91. val_equal(x, {"A", {}, []}) a;
  92. assert(a);
  93. var(@num_lesser("10", "9")) x;
  94. assert_false(x);
  95. var(@num_lesser("10", "10")) x;
  96. assert_false(x);
  97. var(@num_lesser("10", "11")) x;
  98. assert(x);
  99. var(@num_greater("10", "9")) x;
  100. assert(x);
  101. var(@num_greater("10", "10")) x;
  102. assert_false(x);
  103. var(@num_greater("10", "11")) x;
  104. assert_false(x);
  105. var(@num_lesser_equal("10", "9")) x;
  106. assert_false(x);
  107. var(@num_lesser_equal("10", "10")) x;
  108. assert(x);
  109. var(@num_lesser_equal("10", "11")) x;
  110. assert(x);
  111. var(@num_greater_equal("10", "9")) x;
  112. assert(x);
  113. var(@num_greater_equal("10", "10")) x;
  114. assert(x);
  115. var(@num_greater_equal("10", "11")) x;
  116. assert_false(x);
  117. var(@num_equal("10", "9")) x;
  118. assert_false(x);
  119. var(@num_equal("10", "10")) x;
  120. assert(x);
  121. var(@num_equal("10", "11")) x;
  122. assert_false(x);
  123. var(@num_different("10", "9")) x;
  124. assert(x);
  125. var(@num_different("10", "10")) x;
  126. assert_false(x);
  127. var(@num_different("10", "11")) x;
  128. assert(x);
  129. var(@num_add("6", "14")) x;
  130. val_equal(x, "20") a;
  131. assert(a);
  132. var(@num_subtract("30", "3")) x;
  133. val_equal(x, "27") a;
  134. assert(a);
  135. var(@num_multiply("62", "2")) x;
  136. val_equal(x, "124") a;
  137. assert(a);
  138. var(@num_divide("31", "15")) x;
  139. val_equal(x, "2") a;
  140. assert(a);
  141. var(@num_modulo("31", "15")) x;
  142. val_equal(x, "1") a;
  143. assert(a);
  144. var(@encode_value("foo")) x;
  145. val_equal(x, "\"foo\"") a;
  146. assert(a);
  147. var(@decode_value("\"foo\"")) x;
  148. val_equal(x, "foo") a;
  149. assert(a);
  150. var(@tolower("09@AZ[`az{")) x;
  151. val_equal(x, "09@az[`az{") a;
  152. assert(a);
  153. var(@toupper("09@AZ[`az{")) x;
  154. val_equal(x, "09@AZ[`AZ{") a;
  155. assert(a);
  156. exit("0");
  157. }