nim-stew/tests/test_arrayops.nim

36 lines
954 B
Nim
Raw Permalink Normal View History

# stew
# Copyright 2018-2019 Status Research & Development GmbH
# Licensed under either of
#
# * Apache License, version 2.0, ([LICENSE-APACHE](LICENSE-APACHE) or http://www.apache.org/licenses/LICENSE-2.0)
# * MIT license ([LICENSE-MIT](LICENSE-MIT) or http://opensource.org/licenses/MIT)
#
# at your option. This file may not be copied, modified, or distributed except according to those terms.
{.used.}
import
unittest2,
../stew/arrayops
suite "arrayops":
test "basic":
let
a = [byte 0, 1]
b = [byte 4, 5]
check:
(a and b) == [a[0] and b[0], a[1] and b[1]]
(a or b) == [a[0] or b[0], a[1] or b[1]]
(a xor b) == [a[0] xor b[0], a[1] xor b[1]]
(not a) == [not a[0], not a[1]]
test "copyFrom":
let
a = [byte 4, 5]
check:
array[4, byte].initCopyFrom(a) == [byte 4, 5, 0, 0]
array[1, byte].initCopyFrom(a) == [byte 4]
array[2, byte].initCopyFrom(a) == [byte 4, 5]