Firsts.vala 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. using Invercargill;
  2. void first_tests() {
  3. Test.add_func("/invercargill/operator/scalar/first/no-condition", () => {
  4. var items = ate(new int[] { 1, 2, 3, 4, 5, 6});
  5. try{
  6. var first = items.first();
  7. assert_true(first == 1);
  8. }
  9. catch (Error e) {
  10. assert_no_error(e);
  11. }
  12. });
  13. Test.add_func("/invercargill/operator/scalar/first/condition", () => {
  14. var items = ate(new int[] { 1, 2, 3, 4, 5, 6});
  15. try {
  16. var first = items.first(i => i > 3);
  17. assert_true(first == 4);
  18. }
  19. catch (Error e) {
  20. assert_no_error(e);
  21. }
  22. });
  23. Test.add_func("/invercargill/operator/scalar/first/empty", () => {
  24. var items = ate(new int[] {});
  25. try {
  26. items.first();
  27. assert_not_reached();
  28. }
  29. catch (Error e) {
  30. }
  31. });
  32. Test.add_func("/invercargill/operator/scalar/last/no-condition", () => {
  33. var items = ate(new int[] { 1, 2, 3, 4, 5, 6});
  34. try{
  35. var last = items.last();
  36. assert_true(last == 6);
  37. }
  38. catch (Error e) {
  39. assert_no_error(e);
  40. }
  41. });
  42. Test.add_func("/invercargill/operator/scalar/last/condition", () => {
  43. var items = ate(new int[] { 1, 2, 3, 4, 5, 6});
  44. try {
  45. var last = items.last(i => i < 4);
  46. assert_true(last == 3);
  47. }
  48. catch (Error e) {
  49. assert_no_error(e);
  50. }
  51. });
  52. Test.add_func("/invercargill/operator/scalar/last/empty", () => {
  53. var items = ate(new int[] {});
  54. try {
  55. items.last();
  56. assert_not_reached();
  57. }
  58. catch (Error e) {
  59. }
  60. });
  61. }