Skip to content

Commit

Permalink
add: added tests for bitwise and, or and getitem and len.
Browse files Browse the repository at this point in the history
Signed-off-by: 35C4n0r <[email protected]>
  • Loading branch information
35C4n0r committed Aug 2, 2023
1 parent 2218b56 commit 085e258
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 3 deletions.
1 change: 0 additions & 1 deletion src/bitcode/bitcode.py
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,6 @@ def __len__(self):
bitset = self.bitset
size = 0
while bitset != 0:
print(bitset)
size += bitset & 1
bitset >>= 1
return size
Expand Down
23 changes: 21 additions & 2 deletions tests/test_bitcode.py
Original file line number Diff line number Diff line change
Expand Up @@ -122,8 +122,8 @@ def test_to_list(self):
self.assertEqual(sorted(A.tolist()), sorted(self.values))

def test_len(self):
A = self.A
self.assertEqual(len(A), len(self.values))
A = intbitset([100, 200, 300, 1])
self.assertEqual(len(A), len([100, 200, 300, 1]))

def test_print(self):
A = self.A
Expand All @@ -135,3 +135,22 @@ def test_contains(self):
self.assertEqual(3 not in A, True)
self.assertEqual(A.__contains__(1), True)
self.assertEqual(A.__contains__(99), False)

def test_bitwise_or(self):
A = self.A
new_val = [1, 50, 44, 757, 11]
new = intbitset(new_val)
expected = intbitset(self.values + new_val)
self.assertEqual(A | new, expected)

def test_bitwise_and(self):
A = self.A
new_val = [1, 50, 44, 5, 11]
new = intbitset(new_val)
expected = intbitset([5, 1])
self.assertEqual(A & new, expected)

def test_getitem(self):
A = self.A
self.assertEqual(A[3], 4)
self.assertEqual(A[0], 0)

0 comments on commit 085e258

Please sign in to comment.