コード例 #1
0
 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)
コード例 #2
0
 def test_extract_duplicate_markers(self, method):
     extract = getattr(Bits(42), method)
     with raises(ValueError):
         extract('11-21')
コード例 #3
0
 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()
コード例 #4
0
 def test_mask_empty(self):
     result = Bits(42).mask('')
     assert result == Bits(42)
     assert type(result) is Bits
コード例 #5
0
 def test_mask_invalid(self, mask):
     with raises(TypeError):
         Bits(42).mask(mask)
コード例 #6
0
 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)
コード例 #7
0
 def data_mask(self, request):
     operand, mask, result = request.param.strip().split()
     return int(operand, 2), mask, Bits(result, 2)
コード例 #8
0
 def test_clear_no_args(self):
     result = Bits(42).clear()
     assert result == Bits(42)
     assert type(result) is Bits