packages feed

zeolite-lang-0.24.0.0: tests/test-helpers.0rt

/* -----------------------------------------------------------------------------
Copyright 2020-2021,2023 Kevin P. Barry

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
----------------------------------------------------------------------------- */

// Author: Kevin P. Barry [ta0kira@gmail.com]

testcase "checkEquals success" {
  success
}

unittest test {
  \ Testing.checkEquals(13, 13)
  \ Testing.checkEquals<Int>(empty, empty)
}


testcase "checkEquals fail non-empty" {
  failure
  require stderr "13"
  require stderr "15"
}

unittest test {
  \ Testing.checkEquals(13, 15)
}


testcase "checkEquals fail empty" {
  failure
  require stderr "13"
  require stderr "empty"
}

unittest test {
  \ Testing.checkEquals(13, empty)
}


testcase "checkNotEquals success" {
  success
}

unittest test {
  \ Testing.checkNotEquals(12, 13)
  \ Testing.checkNotEquals(empty, 13)
  \ Testing.checkNotEquals(12, empty)
}


testcase "checkNotEquals fail non-empty" {
  failure
  require stderr "13.*13"
}

unittest test {
  \ Testing.checkNotEquals(13, 13)
}


testcase "checkNotEquals fail empty" {
  failure
  require stderr "empty.*empty"
}

unittest test {
  \ Testing.checkNotEquals<Int>(empty, empty)
}


testcase "checkEmpty success" {
  success
}

unittest formatted {
  \ Testing.checkEmpty(empty)
}

unittest notFormatted {
  optional CharBuffer value <- empty
  \ Testing.checkEmpty(value)
}


testcase "checkEmpty fail formatted" {
  failure
  require stderr "13"
  require stderr "empty"
}

unittest test {
  \ Testing.checkEmpty(13)
}


testcase "checkEmpty fail unformatted" {
  failure
  require stderr "unknown"
  require stderr "empty"
}

unittest test {
  CharBuffer value <- CharBuffer.new(10)
  \ Testing.checkEmpty(value)
}


testcase "checkPresent success" {
  success
}

unittest test {
  \ Testing.checkPresent(13)
}


testcase "checkPresent fail" {
  failure
  require stderr "empty"
}

unittest test {
  \ Testing.checkPresent(empty)
}


testcase "checkBetween success" {
  success
}

unittest test {
  \ Testing.checkBetween(13, 13, 15)
}


testcase "checkBetween fail non-empty" {
  failure
  require stderr "13"
  require stderr "14"
  require stderr "15"
}

unittest test {
  \ Testing.checkBetween(13, 14, 15)
}


testcase "checkBetween fail empty" {
  failure
  require stderr "empty"
  require stderr "14"
  require stderr "15"
}

unittest test {
  \ Testing.checkBetween(empty, 14, 15)
}


testcase "checkBetween bad range" {
  failure
  exclude stderr "14"
  require stderr "13"
  require stderr "15"
}

unittest test {
  \ Testing.checkBetween(14, 15, 13)
}


testcase "checkGreaterThan success" {
  success
}

unittest test {
  \ Testing.checkGreaterThan(13, 11)
}


testcase "checkGreaterThan fail non-empty" {
  failure
  require stderr "13"
  require stderr "14"
}

unittest test {
  \ Testing.checkGreaterThan(13, 14)
}


testcase "checkGreaterThan fail empty" {
  failure
  require stderr "empty"
  require stderr "14"
}

unittest test {
  \ Testing.checkGreaterThan(empty, 14)
}


testcase "checkLessThan success" {
  success
}

unittest test {
  \ Testing.checkLessThan(13, 14)
}


testcase "checkLessThan fail non-empty" {
  failure
  require stderr "13"
  require stderr "11"
}

unittest test {
  \ Testing.checkLessThan(13, 11)
}


testcase "checkLessThan fail empty" {
  failure
  require stderr "empty"
  require stderr "11"
}

unittest test {
  \ Testing.checkLessThan(empty, 11)
}


testcase "checkTrue success" {
  success
}

unittest test {
  \ Testing.checkTrue(1)
}


testcase "checkTrue fail non-empty" {
  failure
  require stderr "true"
}

unittest test {
  \ Testing.checkTrue(0)
}


testcase "checkTrue fail empty" {
  failure
  require stderr "true"
}

unittest test {
  \ Testing.checkTrue(empty)
}


testcase "checkFalse success" {
  success
}

unittest test {
  \ Testing.checkFalse(0)
}


testcase "checkFalse fail non-empty" {
  failure
  require stderr "false"
}

unittest test {
  \ Testing.checkFalse(1)
}


testcase "checkFalse fail empty" {
  failure
  require stderr "false"
}

unittest test {
  \ Testing.checkFalse(empty)
}