You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
20 lines
649 B
Python
20 lines
649 B
Python
3 years ago
|
from unittest import TestCase
|
||
|
|
||
|
from riscemu.types import Int32, UInt32
|
||
|
|
||
|
|
||
|
class TestTokenizer(TestCase):
|
||
|
|
||
|
def test_logical_right_shift(self):
|
||
|
a = Int32(100)
|
||
|
self.assertEqual(a.shift_right_logical(0), a)
|
||
|
self.assertEqual(a.shift_right_logical(10), 0)
|
||
|
self.assertEqual(a.shift_right_logical(1), 100>>1)
|
||
|
|
||
|
a = Int32(-100)
|
||
|
self.assertEqual(a.shift_right_logical(0), a)
|
||
|
self.assertEqual(a.shift_right_logical(1), 2147483598)
|
||
|
self.assertEqual(a.shift_right_logical(10), 4194303)
|
||
|
self.assertEqual(a.shift_right_logical(31), 1)
|
||
|
self.assertEqual(a.shift_right_logical(32), 0)
|