def data_compose(self, request): pattern = request.param flags = tuple(bool(int(bit)) for bit in pattern) if pattern else () result = Bits(''.join(reversed(pattern)), 2) if pattern else Bits() return 0, flags, Bits(result)
def test_extract_duplicate_markers(self, method): extract = getattr(Bits(42), method) with raises(ValueError): extract('11-21')
def test_extract_empty(self, method, res_type): extract = getattr(Bits(42), method) assert extract('') == res_type() assert extract('---') == res_type() assert extract('@') == res_type()
def test_mask_empty(self): result = Bits(42).mask('') assert result == Bits(42) assert type(result) is Bits
def test_mask_invalid(self, mask): with raises(TypeError): Bits(42).mask(mask)
def data_mask_delim(self, request): operand, mask, result = request.param.strip().split() if '-' in mask: mask = mask.replace('-', choice(self.delimiters)) return int(operand, 2), mask, Bits(result, 2)
def data_mask(self, request): operand, mask, result = request.param.strip().split() return int(operand, 2), mask, Bits(result, 2)
def test_clear_no_args(self): result = Bits(42).clear() assert result == Bits(42) assert type(result) is Bits