Hamlib/tests/testbcd.test/testbcd.exp

52 wiersze
1.9 KiB
Plaintext

# Copyright (C) 1997 - 2001 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 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 General Public License for more details.
#
# You should have received a copy of the GNU General Public License along
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
# Please email any bugs, comments, and/or additions to this file to:
# hamlib-developer@lists.sourceforge.net
set TESTBCD "$srcdir/testbcd"
#
# Here are the tests
#
# BCD: 44,34,33,22,12
# BCD: 12,22,33,34,44
proc test_bcd { test freq digits bcdle bcdbe } {
global TESTBCD
set tmp [exec $TESTBCD $freq $digits]
set pat ".*Little Endian mode\nFrequency: $freq\nBCD: $bcdle\nResult after recoding: $freq\n\nBig Endian mode\nFrequency: $freq\nBCD: $bcdbe\nResult after recoding: $freq$"
if [regexp $pat $tmp] {
pass "$test"
} else {
clone_output "Expected le: $bcdle, be: $bcdbe, got:\n$tmp"
fail "$test"
}
}
test_bcd "10/10 digits" 1222333444 10 "44,34,33,22,12" "12,22,33,34,44"
test_bcd "9/10 digits" 999666333 10 "33,63,66,99,09" "09,99,66,63,33"
test_bcd "8/10 digits" 87666333 10 "33,63,66,87,00" "00,87,66,63,33"
test_bcd "1/10 digit" 1 10 "01,00,00,00,00" "00,00,00,00,01"
# note the 10th digit which is undefined
test_bcd "9/9 digits" 999666333 9 "33,63,66,99,.9" "99,96,66,33,3."
test_bcd "8/9 digits" 87666333 9 "33,63,66,87,.0" "08,76,66,33,3."
test_bcd "1/9 digit" 1 9 "01,00,00,00,.0" "00,00,00,00,1."