1*99e0aae7SDavid Rees# Copyright 2019 Google LLC 2*99e0aae7SDavid Rees# 3*99e0aae7SDavid Rees# Licensed under the Apache License, Version 2.0 (the "License"); 4*99e0aae7SDavid Rees# you may not use this file except in compliance with the License. 5*99e0aae7SDavid Rees# You may obtain a copy of the License at 6*99e0aae7SDavid Rees# 7*99e0aae7SDavid Rees# https://www.apache.org/licenses/LICENSE-2.0 8*99e0aae7SDavid Rees# 9*99e0aae7SDavid Rees# Unless required by applicable law or agreed to in writing, software 10*99e0aae7SDavid Rees# distributed under the License is distributed on an "AS IS" BASIS, 11*99e0aae7SDavid Rees# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*99e0aae7SDavid Rees# See the License for the specific language governing permissions and 13*99e0aae7SDavid Rees# limitations under the License. 14*99e0aae7SDavid Rees 15*99e0aae7SDavid Rees-- Tests for various sizes of Binary-Coded Decimal (BCD) integers. 16*99e0aae7SDavid Rees 17*99e0aae7SDavid Rees[$default byte_order: "LittleEndian"] 18*99e0aae7SDavid Rees[(cpp) namespace: "emboss::test"] 19*99e0aae7SDavid Rees 20*99e0aae7SDavid Rees 21*99e0aae7SDavid Reesstruct BcdSizes: 22*99e0aae7SDavid Rees 0 [+1] Bcd one_byte 23*99e0aae7SDavid Rees 1 [+2] Bcd two_byte 24*99e0aae7SDavid Rees 3 [+3] Bcd three_byte 25*99e0aae7SDavid Rees 6 [+4] Bcd four_byte 26*99e0aae7SDavid Rees 10 [+5] Bcd five_byte 27*99e0aae7SDavid Rees 15 [+6] Bcd six_byte 28*99e0aae7SDavid Rees 21 [+7] Bcd seven_byte 29*99e0aae7SDavid Rees 28 [+8] Bcd eight_byte 30*99e0aae7SDavid Rees 36 [+4] bits: 31*99e0aae7SDavid Rees 0 [+4] Bcd four_bit 32*99e0aae7SDavid Rees 4 [+6] Bcd six_bit 33*99e0aae7SDavid Rees 10 [+10] Bcd ten_bit 34*99e0aae7SDavid Rees 20 [+12] Bcd twelve_bit 35*99e0aae7SDavid Rees 36*99e0aae7SDavid Rees 37*99e0aae7SDavid Reesstruct BcdBigEndian: 38*99e0aae7SDavid Rees [$default byte_order: "BigEndian"] 39*99e0aae7SDavid Rees 0 [+4] Bcd four_byte 40