Beispiel #1
0
    def test_legit_phs_one(self):
        view_est_mod = ViewEstablishmentModule(0, self.resolver, 2, 0)
        pred_module = PredicatesAndAction(view_est_mod, 0, self.resolver, 2, 0)
        pred_module.type_check = MagicMock(return_value=True)
        vpair_to_test = {CURRENT: 1, NEXT: 2}

        # Legit to be in phase 1
        self.assertTrue(pred_module.legit_phs_one(vpair_to_test))

        # Not in a view change
        vpair_to_test = {CURRENT: 1, NEXT: 1}
        self.assertFalse(pred_module.legit_phs_one(vpair_to_test))

        # Type check fails
        vpair_to_test = {CURRENT: 1, NEXT: 2}
        pred_module.type_check = MagicMock(return_value=False)
        self.assertFalse(pred_module.legit_phs_one(vpair_to_test))
Beispiel #2
0
    def test_legit_phs_zero(self):
        view_est_mod = ViewEstablishmentModule(0, self.resolver, 2, 0)
        pred_module = PredicatesAndAction(view_est_mod, 0, self.resolver, 2, 0)
        pred_module.type_check = MagicMock(return_value=True)
        vpair_to_test = {CURRENT: 1, NEXT: 1}

        # Legit to be in phase 0
        self.assertTrue(pred_module.legit_phs_zero(vpair_to_test))

        # Reset vpair, also legit
        vpair_to_test = pred_module.RST_PAIR
        self.assertTrue(pred_module.legit_phs_zero(vpair_to_test))

        # In view change, not legit to be in phase 0
        vpair_to_test = {CURRENT: 1, NEXT: 2}
        self.assertFalse(pred_module.legit_phs_zero(vpair_to_test))

        # Type check fails
        vpair_to_test = {CURRENT: 1, NEXT: 1}
        pred_module.type_check = MagicMock(return_value=False)
        self.assertFalse(pred_module.legit_phs_zero(vpair_to_test))
Beispiel #3
0
    def test_type_check(self):
        view_est_mod = ViewEstablishmentModule(0, self.resolver, 5, 0)
        pred_module = PredicatesAndAction(view_est_mod, 0, self.resolver, 5, 0)

        # Type check correct because current is valid, number of nodes = 5
        vpair_to_test = {CURRENT: 0, NEXT: 3}
        self.assertTrue(pred_module.type_check(vpair_to_test))

        # Type check correct because current is valid, number of 5
        vpair_to_test = {CURRENT: ViewEstablishmentEnums.TEE, NEXT: 3}
        self.assertTrue(pred_module.type_check(vpair_to_test))

        # Type check incorrect because next is not valid
        vpair_to_test = {
            CURRENT: ViewEstablishmentEnums.TEE,
            NEXT: ViewEstablishmentEnums.TEE
        }
        self.assertFalse(pred_module.type_check(vpair_to_test))

        # current is valid but next is not
        vpair_to_test = {CURRENT: 0, NEXT: ViewEstablishmentEnums.TEE}
        self.assertFalse(pred_module.type_check(vpair_to_test))