def test_dshr(): basis_tester(dshr_basis_cases) encounter_error_tester(dshr_type_wrong_cases) encounter_error_tester(dshr_width_wrong_cases) serialize_equal(Dshr([u(20, w(5)), u(15, w(4))], uw(5)), 'dshr(UInt<5>("h14"), UInt<4>("hf"))') serialize_equal(Dshr([s(-20, w(6)), u(15, w(4))], uw(6)), 'dshr(SInt<6>("h-14"), UInt<4>("hf"))')
def test_shr(): basis_tester(shr_basis_cases) encounter_error_tester(shr_type_wrong_cases) encounter_error_tester(shr_width_wrong_cases) serialize_equal(Shr(u(20, w(5)), 3, uw(2)), 'shr(UInt<5>("h14"), 3)') serialize_equal(Shr(s(-20, w(6)), 3, uw(3)), 'shr(SInt<6>("h-14"), 3)')
def test_cat(): basis_tester(cat_basis_cases) encounter_error_tester(cat_type_wrong_cases) encounter_error_tester(cat_width_wrong_cases) serialize_equal(Cat([u(20, w(5)), u(15, w(4))], uw(9)), 'cat(UInt<5>("h14"), UInt<4>("hf"))') serialize_equal(Cat([s(-20, w(6)), s(-15, w(5))], uw(11)), 'cat(SInt<6>("h-14"), SInt<5>("h-f"))')
def test_rem(): basis_tester(rem_basis_cases) encounter_error_tester(rem_type_wrong_cases) encounter_error_tester(rem_width_wrong_cases) serialize_equal(Rem([u(20, w(5)), u(15, w(4))], uw(4)), 'rem(UInt<5>("h14"), UInt<4>("hf"))') serialize_equal(Rem([s(-20, w(6)), s(-15, w(5))], sw(5)), 'rem(SInt<6>("h-14"), SInt<5>("h-f"))')
def test_leq(): basis_tester(leq_basis_cases) encounter_error_tester(leq_type_wrong_cases) encounter_error_tester(leq_width_wrong_cases) serialize_equal(Leq([u(20, w(5)), u(15, w(4))], uw(1)), 'leq(UInt<5>("h14"), UInt<4>("hf"))') serialize_equal(Leq([s(-20, w(6)), s(-15, w(5))], uw(1)), 'leq(SInt<6>("h-14"), SInt<5>("h-f"))')
def test_and(): basis_tester(and_basis_cases) encounter_error_tester(and_type_wrong_cases) encounter_error_tester(and_width_wrong_cases) serialize_equal(And([u(20, w(5)), u(15, w(4))], uw(5)), 'and(UInt<5>("h14"), UInt<4>("hf"))') serialize_equal(And([s(-20, w(6)), s(-15, w(5))], uw(6)), 'and(SInt<6>("h-14"), SInt<5>("h-f"))')
def test_div(): basis_tester(div_basis_cases) encounter_error_tester(div_type_wrong_cases) encounter_error_tester(div_width_wrong_cases) serialize_equal(Div([u(20, w(5)), u(15, w(4))], uw(5)), 'div(UInt<5>("h14"), UInt<4>("hf"))') serialize_equal(Div([s(-20, w(6)), s(-15, w(5))], uw(7)), 'div(SInt<6>("h-14"), SInt<5>("h-f"))')
def test_neg(): basis_tester(neg_basis_cases) encounter_error_tester(neg_type_wrong_cases) encounter_error_tester(neg_width_wrong_cases) serialize_equal(Neg(u(20, w(5)), sw(6)), 'neg(UInt<5>("h14"))') serialize_equal(Neg(s(-20, w(6)), sw(7)), 'neg(SInt<6>("h-14"))')
def test_mul(): basis_tester(mul_basis_cases) encounter_error_tester(mul_type_wrong_cases) encounter_error_tester(mul_width_wrong_cases) serialize_equal(Mul([u(20, w(5)), u(15, w(4))], uw(9)), 'mul(UInt<5>("h14"), UInt<4>("hf"))') serialize_equal(Mul([s(-20, w(6)), s(-15, w(5))], sw(11)), 'mul(SInt<6>("h-14"), SInt<5>("h-f"))')
def test_sub(): basis_tester(sub_basis_cases) encounter_error_tester(sub_type_wrong_cases) encounter_error_tester(sub_width_wrong_cases) serialize_equal(Sub([u(20, w(5)), u(15, w(4))], sw(6)), 'sub(UInt<5>("h14"), UInt<4>("hf"))') serialize_equal(Sub([s(-20, w(6)), s(-15, w(5))], sw(7)), 'sub(SInt<6>("h-14"), SInt<5>("h-f"))')
def test_bits(): basis_tester(bits_basis_cases) encounter_error_tester(bits_type_wrong_cases) encounter_error_tester(bits_width_wrong_cases) encounter_error_tester(bits_invalid_cases) serialize_equal(Bits(u(20, w(5)), [4, 4], uw(1)), 'bits(UInt<5>("h14"), 4, 4)') serialize_equal(Bits(s(-20, w(6)), [4, 3], uw(2)), 'bits(SInt<6>("h-14"), 4, 3)')
def test_asuint(): basis_tester(asuint_basis_cases) encounter_error_tester(asuint_type_wrong_cases) encounter_error_tester(asuint_width_wrong_cases) serialize_equal(AsUInt(u(20, w(5)), uw(5)), 'asUInt(UInt<5>("h14"))') serialize_equal(AsUInt(s(-20, w(6)), uw(5)), 'asUInt(SInt<6>("h-14"))') serialize_equal(AsUInt(n("clock", ClockType()), uw(1)), 'asUInt(clock)')
def test_shl(): basis_tester(shl_basis_cases) encounter_error_tester(shl_type_wrong_cases) encounter_error_tester(shl_width_wrong_cases) serialize_equal(Shl(u(20, w(5)), 6, uw(11)), 'shl(UInt<5>("h14"), 6)') serialize_equal(Shl(s(-20, w(6)), 6, sw(12)), 'shl(SInt<6>("h-14"), 6)')
def test_not(): basis_tester(not_basis_cases) encounter_error_tester(not_type_wrong_cases) encounter_error_tester(not_width_wrong_cases) serialize_equal(Not(u(20, w(5)), uw(5)), 'not(UInt<5>("h14"))') serialize_equal(Not(s(-20, w(6)), uw(6)), 'not(SInt<6>("h-14"))')