pairs.test 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. ;;;; pairs.test --- test suite for Guile's pair functions -*- scheme -*-
  2. ;;;;
  3. ;;;; Copyright (C) 2003, 2006 Free Software Foundation, Inc.
  4. ;;;;
  5. ;;;; This program is free software; you can redistribute it and/or modify
  6. ;;;; it under the terms of the GNU General Public License as published by
  7. ;;;; the Free Software Foundation; either version 2, or (at your option)
  8. ;;;; any later version.
  9. ;;;;
  10. ;;;; This program is distributed in the hope that it will be useful,
  11. ;;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. ;;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  13. ;;;; GNU General Public License for more details.
  14. ;;;;
  15. ;;;; You should have received a copy of the GNU General Public License
  16. ;;;; along with this software; see the file COPYING. If not, write to
  17. ;;;; the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
  18. ;;;; Boston, MA 02110-1301 USA
  19. (use-modules (test-suite lib))
  20. (with-test-prefix "cxr"
  21. (define x
  22. '(1 . 2))
  23. (pass-if "car"
  24. (= (car x) 1))
  25. (pass-if "cdr"
  26. (= (cdr x) 2)))
  27. (with-test-prefix "cxxr"
  28. (define x
  29. '((1 . 3) 2 . 4))
  30. (pass-if "caar"
  31. (= (caar x) 1))
  32. (pass-if "cadr"
  33. (= (cadr x) 2))
  34. (pass-if "cdar"
  35. (= (cdar x) 3))
  36. (pass-if "cddr"
  37. (= (cddr x) 4)))
  38. (with-test-prefix "cxxxr"
  39. (define x
  40. '(((1 . 5) 3 . 7) (2 . 6) 4 . 8))
  41. (pass-if "caaar"
  42. (= (caaar x) 1))
  43. (pass-if "caadr"
  44. (= (caadr x) 2))
  45. (pass-if "cadar"
  46. (= (cadar x) 3))
  47. (pass-if "caddr"
  48. (= (caddr x) 4))
  49. (pass-if "cdaar"
  50. (= (cdaar x) 5))
  51. (pass-if "cdadr"
  52. (= (cdadr x) 6))
  53. (pass-if "cddar"
  54. (= (cddar x) 7))
  55. (pass-if "cdddr"
  56. (= (cdddr x) 8)))
  57. (with-test-prefix "cxxxxr"
  58. (define x
  59. '((((1 . 9) 5 . 13) (3 . 11) 7 . 15) ((2 . 10) 6 . 14) (4 . 12) 8 . 16))
  60. (pass-if "caaaar"
  61. (= (caaaar x) 1))
  62. (pass-if "caaadr"
  63. (= (caaadr x) 2))
  64. (pass-if "caadar"
  65. (= (caadar x) 3))
  66. (pass-if "caaddr"
  67. (= (caaddr x) 4))
  68. (pass-if "cadaar"
  69. (= (cadaar x) 5))
  70. (pass-if "cadadr"
  71. (= (cadadr x) 6))
  72. (pass-if "caddar"
  73. (= (caddar x) 7))
  74. (pass-if "cadddr"
  75. (= (cadddr x) 8))
  76. (pass-if "cdaaar"
  77. (= (cdaaar x) 9))
  78. (pass-if "cdaadr"
  79. (= (cdaadr x) 10))
  80. (pass-if "cdadar"
  81. (= (cdadar x) 11))
  82. (pass-if "cdaddr"
  83. (= (cdaddr x) 12))
  84. (pass-if "cddaar"
  85. (= (cddaar x) 13))
  86. (pass-if "cddadr"
  87. (= (cddadr x) 14))
  88. (pass-if "cdddar"
  89. (= (cdddar x) 15))
  90. (pass-if "cddddr"
  91. (= (cddddr x) 16)))