def test_flag_packing(): random.seed(8025816322119661921) # ayy lmao nflags = len(Flag.__members__) cases = chain( random.sample(list(product((True, False), repeat=nflags)), 1000), [[True] * nflags], [[False] * nflags], ) for flagvals in cases: flags = dict(zip(Flag.__members__.keys(), flagvals)) assert Flag.unpack(Flag.pack(**flags)) == flags
def test_flag_unpack_too_big(): assert all(Flag.unpack(Flag.max).values()) with pytest.raises(ValueError): Flag.unpack(Flag.max + 1)
def test_flag_packing(sample_flags): for flags in sample_flags: assert Flag.unpack(Flag.pack(**flags)) == flags