lexicographical_order.gravity 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. #unittest {
  2. name: "Lexicographical order;";
  3. error: NONE;
  4. result: true;
  5. };
  6. func main () {
  7. var a = "aa";
  8. var b = "b";
  9. var c1 = "c1";
  10. var c2 = "c2";
  11. var D = "D";
  12. var d = "d";
  13. var unicode1 = "😀";
  14. var unicode2 = "😱";
  15. // lt, gt
  16. var r1 = (a < b) && !(a > b);
  17. var r2 = (c1 < c2) && !(c1 > c2);
  18. var r3 = (D < d) && !(D > d);
  19. var r4 = (unicode1 < unicode2) && !(unicode1 > unicode2);
  20. var r5 = !(a < a) && !(a > a);
  21. // eq, neq
  22. var r6 = (a == a) && !(a == b) && (a != b) && !(a != a);
  23. var r7 = (c1 == c1) && !(c1 == c2) && (c1 != c2) && !(c1 != c1);
  24. var r8 = (D == D) && !(D == d) && (D != d) && !(D != D);
  25. var r9 = (unicode1 == unicode1) && !(unicode1 == unicode2) && (unicode1 != unicode2) && !(unicode1 != unicode1);
  26. // leq, geq
  27. var r10 = (a <= b) && !(a >= b) && (a <= a) && (b >= b);
  28. var r11 = (c1 <= c2) && !(c1 >= c2) && (c1 <= c1) && (c2 >= c2);
  29. var r12 = (D < d) && !(D > d) && (D <= D) && (d >= d);
  30. var r13 = (unicode1 < unicode2) && !(unicode1 > unicode2) && (unicode1 <= unicode1) && (unicode2 >= unicode2);
  31. return r1 && r2 && r3 && r4 && r5 &&
  32. r6 && r7 && r8 && r9 &&
  33. r10 && r11 && r12 && r13;
  34. }