Filtering...

strline-tests

books/std/strings/strline-tests
other
(in-package "STR")
other
(include-book "strline")
other
(include-book "std/testing/assert-bang" :dir :system)
other
(assert! (equal "foo"
    (strline 1
      "foo
bar
baz")))
other
(assert! (equal "bar"
    (strline 2
      "foo
bar
baz")))
other
(assert! (equal "baz"
    (strline 3
      "foo
bar
baz")))
other
(assert! (equal ""
    (strline 4
      "foo
bar
baz")))
other
(defconst *txt*
  "Line 1
Line 2
Line 3
Line 4
Line 5
Line 6")
other
(assert! (equal (strlines 1 1 *txt*)
    "Line 1
"))
other
(assert! (equal (strlines 1 2 *txt*)
    "Line 1
Line 2
"))
other
(assert! (equal (strlines 1 3 *txt*)
    "Line 1
Line 2
Line 3
"))
other
(assert! (equal (strlines 1 100 *txt*) *txt*))
other
(assert! (equal (strlines 2 2 *txt*)
    "Line 2
"))
other
(assert! (equal (strlines 2 3 *txt*)
    "Line 2
Line 3
"))
other
(assert! (equal (strlines 5 6 *txt*)
    "Line 5
Line 6"))
other
(assert! (equal (strlines 5 1000 *txt*)
    "Line 5
Line 6"))
other
(assert! (equal (strlines 5
      6
      (concatenate 'string
        *txt*
        "
"))
    "Line 5
Line 6
"))
other
(assert! (equal (strlines 5
      1000
      (concatenate 'string
        *txt*
        "
"))
    "Line 5
Line 6
"))
other
(assert! (equal (strlines 7 1000 *txt*) ""))