From 925f8d7176c3d54d435896ec0d2eabda634bbcc8 Mon Sep 17 00:00:00 2001 From: pacien Date: Mon, 3 Dec 2018 18:42:23 +0100 Subject: merge tests --- tests/bitio/tintegers.nim | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 tests/bitio/tintegers.nim (limited to 'tests/bitio/tintegers.nim') diff --git a/tests/bitio/tintegers.nim b/tests/bitio/tintegers.nim new file mode 100644 index 0000000..e17a2ac --- /dev/null +++ b/tests/bitio/tintegers.nim @@ -0,0 +1,43 @@ +# gzip-like LZSS compressor +# Copyright (C) 2018 Pacien TRAN-GIRARD +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . + +import unittest, sequtils +import bitio/integers + +suite "integers": + test "Round-up integer division": + check 42 /^ 2 == 21 + check 43 /^ 2 == 22 + + test "truncateToUint8": + check truncateToUint8(0xFA'u8) == 0xFA'u8 + check truncateToUint8(0x00FA'u16) == 0xFA'u8 + check truncateToUint8(0xFFFA'u16) == 0xFA'u8 + + test "bitLength": + check bitLength(0b1_1111) == 5 + check bitLength(0b1000_0000) == 8 + + test "leastSignificantBits": + check leastSignificantBits(0xFF'u8, 3) == 0b0000_0111'u8 + check leastSignificantBits(0b0001_0101'u8, 3) == 0b0000_0101'u8 + check leastSignificantBits(0xFF'u8, 10) == 0xFF'u8 + check leastSignificantBits(0xFFFF'u16, 16) == 0xFFFF'u16 + check leastSignificantBits(0xFFFF'u16, 8) == 0x00FF'u16 + + test "chunks iterator": + check toSeq(chunks(70, uint32)) == @[(0, 32), (1, 32), (2, 6)] + check toSeq(chunks(32, uint16)) == @[(0, 16), (1, 16)] -- cgit v1.2.3