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))
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))
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))