def test_flag_packing(): random.seed(8025816322119661921) # ayy lmao nflags = len(Flags.__members__) cases = chain( random.sample(list(product((True, False), repeat=nflags)), 1000), [[True] * nflags], [[False] * nflags], ) for flagvals in cases: flags = dict(zip(Flags.__members__.keys(), flagvals)) assert Flags.unpack(Flags.pack(**flags)) == flags