コード例 #1
0
    def test_read_only_flag(self):
        """Test an int read only flag."""
        ex_prop = ExtendedProperty(random_address(), "ext_prop", int, False, True)
        op_flag = OperatingFlag(random_address(), "op_flag", int, False, True)

        for flag in [ex_prop, op_flag]:
            orig = randint(0, 100)
            mod = randint(101, 255)

            assert not flag.is_loaded
            flag.load(orig)
            assert flag.is_loaded

            assert flag.value == orig
            assert not flag.is_dirty

            flag.new_value = mod
            assert flag.value == orig
            assert flag.new_value is None
            assert not flag.is_dirty

            flag.new_value = None
            assert not flag.is_dirty

            assert not flag.is_reversed
            assert flag.is_read_only
コード例 #2
0
    def test_reverse_bool_flag(self):
        """Test a reversed bool writable flag."""
        ex_prop = ExtendedProperty(random_address(), "ext_prop", bool, True, False)
        op_flag = OperatingFlag(random_address(), "op_flag", bool, True, False)

        for flag in [ex_prop, op_flag]:
            assert not flag.is_loaded
            for orig in [True, False]:
                reverse = not orig
                flag.load(orig)
                assert flag.is_loaded

                assert flag.value == reverse
                assert not flag.is_dirty

                flag.new_value = reverse
                assert flag.value == reverse
                assert flag.new_value == orig
                assert flag.is_dirty

                assert flag.is_reversed
                assert not flag.is_read_only
コード例 #3
0
    def test_is_dirty(self):
        """Test is_dirty property."""
        ex_prop = ExtendedProperty(random_address(), "ext_prop", int, False,
                                   False)
        op_flag = OperatingFlag(random_address(), "op_flag", int, False, False)

        for flag in [ex_prop, op_flag]:
            # load(orig) -> not is_dirty
            # new_value = mod -> is_dirty
            # new_value = orig => not is_dirty
            # new_value = None => not is_dirty

            orig = randint(0, 100)
            mod = randint(101, 255)

            assert not flag.is_loaded
            flag.load(orig)
            assert flag.is_loaded

            assert flag.value == orig
            assert not flag.is_dirty

            flag.new_value = mod
            assert flag.value == orig
            assert flag.new_value == mod
            assert flag.is_dirty

            flag.new_value = orig
            assert flag.value == orig
            assert flag.new_value is None
            assert not flag.is_dirty

            flag.new_value = mod
            assert flag.is_dirty
            flag.new_value = None
            assert flag.value == orig
            assert flag.new_value is None
            assert not flag.is_dirty