# file      : tests/function/integer/testscript
# license   : MIT; see accompanying LICENSE file

.include ../../common.testscript

: integer-sequence
:
{{
  $* <'print $integer_sequence(1, 3)'    >'1 2'     : basics
  $* <'print $integer_sequence(1, 0)'    >''        : empty
  $* <'print $integer_sequence(0, 8, 2)' >'0 2 4 6' : step
}}

: string
:
{{
  $* <'print $string([uint64] 0xffff)'         >'65535'      : uint
  $* <'print $string([uint64] +0xffff, 16)'    >'0xffff'     : uint-hex
  $* <'print $string([uint64] 0xffff, 16, 8)'  >'0x0000ffff' : uint-hex-width

  $* <'print $string([int64] -0xffff)'         >'-65535'      : int
  $* <'print $string([int64] -0xffff, 16)'     >'-0xffff'     : int-hex
  $* <'print $string([int64] -0xffff, 16, 8)'  >'-0x0000ffff' : int-hex-width
}}

: sort
:
{{
  $* <'print $sort([uint64s] 0 2 1 000)'        >'0 0 1 2' : basics
  $* <'print $sort([uint64s] 0 2 1 000, dedup)' >'0 1 2'   : dedup
}}

: find
:
{{
  $* <'print $find([uint64s] 1 2 3, 2)' >'true'  : basics-true
  $* <'print $find([uint64s] 1 2 3, 0)' >'false' : basics-false
}}

: find_index
:
{{
  $* <'print $find_index([int64s] -1 -2 -3, -2)' >'1' : basics-true
  $* <'print $find_index([int64s] -1 -2 -3,  0)' >'3' : basics-false
}}

: front
:
$* <'print $front([int64s] 1 2)' >'1'

: back
:
$* <'print $back([int64s] 1 2)' >'2'
