Ejemplo n.º 1
0
    def test_get_mask_and_shift_from_mask_string(self):
        # When the mask character is not present.
        mask, shift = util.get_mask_and_shift_from_mask_string(self.mask1_template_string, "c")
        self.assertEqual(mask, 0)
        self.assertEqual(shift, 0)

        # When the mask character is leading.
        mask, shift = util.get_mask_and_shift_from_mask_string(self.mask1_template_string, "L")
        self.assertEqual(mask, util._b2n(self.mask1L_bit_string))
        self.assertEqual(shift, self.mask1L_shift)

        # When the mask character is mid-string.
        mask, shift = util.get_mask_and_shift_from_mask_string(self.mask1_template_string, "M")
        self.assertEqual(mask, util._b2n(self.mask1M_bit_string))
        self.assertEqual(shift, self.mask1M_shift)

        # When the mask character is trailing.
        mask, shift = util.get_mask_and_shift_from_mask_string(self.mask1_template_string, "T")
        self.assertEqual(mask, util._b2n(self.mask1T_bit_string))
        self.assertEqual(shift, self.mask1T_shift)
Ejemplo n.º 2
0
 def test_set_masked_value_for_variable(self):
     # Whether the value gets updated for the variable.
     test_data = [
         ("L", self.mask1L_bit_string, self.mask1L_base_mask_string),
         ("M", self.mask1M_bit_string, self.mask1M_base_mask_string),
         ("T", self.mask1T_bit_string, self.mask1T_base_mask_string),
     ]
     for mask_char, bit_string, base_mask_string in test_data:
         mask, shift = util.get_mask_and_shift_from_mask_string(self.mask1_template_string, mask_char)
         mask_value = util._b2n(base_mask_string)
         # Test setting those bits to a value they will always accept (1).
         resulting_value = util.set_masked_value_for_variable(0, self.mask1_template_string, mask_char, 1)
         self.assertTrue(resulting_value >> shift, 1)
         # Test setting a value that won't fit in the available bit range.
         self.assertRaises(ValueError, util.set_masked_value_for_variable, 0, self.mask1_template_string, mask_char, mask_value+1)
Ejemplo n.º 3
0
    def test_get_mask_and_shift_from_mask_string(self):
        # When the mask character is not present.
        mask, shift = util.get_mask_and_shift_from_mask_string(
            self.mask1_template_string, "c")
        self.assertEqual(mask, 0)
        self.assertEqual(shift, 0)

        # When the mask character is leading.
        mask, shift = util.get_mask_and_shift_from_mask_string(
            self.mask1_template_string, "L")
        self.assertEqual(mask, util._b2n(self.mask1L_bit_string))
        self.assertEqual(shift, self.mask1L_shift)

        # When the mask character is mid-string.
        mask, shift = util.get_mask_and_shift_from_mask_string(
            self.mask1_template_string, "M")
        self.assertEqual(mask, util._b2n(self.mask1M_bit_string))
        self.assertEqual(shift, self.mask1M_shift)

        # When the mask character is trailing.
        mask, shift = util.get_mask_and_shift_from_mask_string(
            self.mask1_template_string, "T")
        self.assertEqual(mask, util._b2n(self.mask1T_bit_string))
        self.assertEqual(shift, self.mask1T_shift)
Ejemplo n.º 4
0
 def test_set_masked_value_for_variable(self):
     # Whether the value gets updated for the variable.
     test_data = [
         ("L", self.mask1L_bit_string, self.mask1L_base_mask_string),
         ("M", self.mask1M_bit_string, self.mask1M_base_mask_string),
         ("T", self.mask1T_bit_string, self.mask1T_base_mask_string),
     ]
     for mask_char, bit_string, base_mask_string in test_data:
         mask, shift = util.get_mask_and_shift_from_mask_string(
             self.mask1_template_string, mask_char)
         mask_value = util._b2n(base_mask_string)
         # Test setting those bits to a value they will always accept (1).
         resulting_value = util.set_masked_value_for_variable(
             0, self.mask1_template_string, mask_char, 1)
         self.assertTrue(resulting_value >> shift, 1)
         # Test setting a value that won't fit in the available bit range.
         self.assertRaises(ValueError, util.set_masked_value_for_variable,
                           0, self.mask1_template_string, mask_char,
                           mask_value + 1)