From ff31ef24728557cbfecc4f3d109f5e317af80e1d Mon Sep 17 00:00:00 2001 From: Anton Tarasenko Date: Sun, 20 Aug 2023 18:20:29 +0700 Subject: [PATCH] Remove duplicate voting tests --- .../API/Commands/Voting/TEST_Voting.uc | 563 ------------------ 1 file changed, 563 deletions(-) delete mode 100644 sources/BaseAPI/API/Commands/Voting/TEST_Voting.uc diff --git a/sources/BaseAPI/API/Commands/Voting/TEST_Voting.uc b/sources/BaseAPI/API/Commands/Voting/TEST_Voting.uc deleted file mode 100644 index e4df93a..0000000 --- a/sources/BaseAPI/API/Commands/Voting/TEST_Voting.uc +++ /dev/null @@ -1,563 +0,0 @@ -/** - * Author: dkanus - * Home repo: https://www.insultplayers.ru/git/AcediaFramework/AcediaCore - * License: GPL - * Copyright 2023 Anton Tarasenko - *------------------------------------------------------------------------------ - * This file is part of Acedia. - * - * Acedia is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, version 3 of the License, or - * (at your option) any later version. - * - * Acedia is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with Acedia. If not, see . - */ -class TEST_Voting extends TestCase - abstract - dependsOn(VotingModel); - -enum ExpectedOutcome { - TEST_EO_Continue, - TEST_EO_End, - TEST_EO_EndDraw, -}; - -protected static function VotingModel MakeVotingModel(VotingModel.VotingPolicies policies) { - local VotingModel model; - - model = VotingModel(__().memory.Allocate(class'VotingModel')); - model.Initialize(policies); - return model; -} - -protected static function SetVoters( - VotingModel model, - optional string voterID0, - optional string voterID1, - optional string voterID2, - optional string voterID3, - optional string voterID4, - optional string voterID5, - optional string voterID6, - optional string voterID7, - optional string voterID8, - optional string voterID9 -) { - local UserID nextID; - local array voterIDs; - - if (voterID0 != "") { - nextID = UserID(__().memory.Allocate(class'UserID')); - nextID.Initialize(__().text.FromString(voterID0)); - voterIDs[voterIDs.length] = nextID; - } - if (voterID1 != "") { - nextID = UserID(__().memory.Allocate(class'UserID')); - nextID.Initialize(__().text.FromString(voterID1)); - voterIDs[voterIDs.length] = nextID; - } - if (voterID2 != "") { - nextID = UserID(__().memory.Allocate(class'UserID')); - nextID.Initialize(__().text.FromString(voterID2)); - voterIDs[voterIDs.length] = nextID; - } - if (voterID3 != "") { - nextID = UserID(__().memory.Allocate(class'UserID')); - nextID.Initialize(__().text.FromString(voterID3)); - voterIDs[voterIDs.length] = nextID; - } - if (voterID4 != "") { - nextID = UserID(__().memory.Allocate(class'UserID')); - nextID.Initialize(__().text.FromString(voterID4)); - voterIDs[voterIDs.length] = nextID; - } - if (voterID5 != "") { - nextID = UserID(__().memory.Allocate(class'UserID')); - nextID.Initialize(__().text.FromString(voterID5)); - voterIDs[voterIDs.length] = nextID; - } - if (voterID6 != "") { - nextID = UserID(__().memory.Allocate(class'UserID')); - nextID.Initialize(__().text.FromString(voterID6)); - voterIDs[voterIDs.length] = nextID; - } - if (voterID7 != "") { - nextID = UserID(__().memory.Allocate(class'UserID')); - nextID.Initialize(__().text.FromString(voterID7)); - voterIDs[voterIDs.length] = nextID; - } - if (voterID8 != "") { - nextID = UserID(__().memory.Allocate(class'UserID')); - nextID.Initialize(__().text.FromString(voterID8)); - voterIDs[voterIDs.length] = nextID; - } - if (voterID9 != "") { - nextID = UserID(__().memory.Allocate(class'UserID')); - nextID.Initialize(__().text.FromString(voterID9)); - voterIDs[voterIDs.length] = nextID; - } - model.UpdatePotentialVoters(voterIDs); -} - -protected static function MakeFaultyYesVote( - VotingModel model, - string voterID, - VotingModel.VotingResult expected) { - local UserID id; - - id = UserID(__().memory.Allocate(class'UserID')); - id.Initialize(__().text.FromString(voterID)); - Issue("Illegal vote had unexpected result."); - TEST_ExpectTrue(model.CastVote(id, true) == expected); -} - -protected static function MakeFaultyNoVote( - VotingModel model, - string voterID, - VotingModel.VotingResult expected) { - local UserID id; - - id = UserID(__().memory.Allocate(class'UserID')); - id.Initialize(__().text.FromString(voterID)); - Issue("Illegal vote had unexpected result."); - TEST_ExpectTrue(model.CastVote(id, false) == expected); -} - -protected static function VoteYes(VotingModel model, string voterID, ExpectedOutcome expected) { - local UserID id; - - id = UserID(__().memory.Allocate(class'UserID')); - id.Initialize(__().text.FromString(voterID)); - Issue("Failed to add legitimate vote."); - TEST_ExpectTrue(model.CastVote(id, true) == VFR_Success); - if (expected == TEST_EO_Continue) { - Issue("Vote, that shouldn't have ended voting, ended it."); - TEST_ExpectTrue(model.GetStatus() == VPM_InProgress); - } else if (expected == TEST_EO_End) { - Issue("Vote, that should've ended voting with one side's victory, didn't do it."); - TEST_ExpectTrue(model.GetStatus() == VPM_Success); - } else if (expected == TEST_EO_EndDraw) { - Issue("Vote, that should've ended voting with a draw, didn't do it."); - TEST_ExpectTrue(model.GetStatus() == VPM_Draw); - } -} - -protected static function VoteNo(VotingModel model, string voterID, ExpectedOutcome expected) { - local UserID id; - - id = UserID(__().memory.Allocate(class'UserID')); - id.Initialize(__().text.FromString(voterID)); - Issue("Failed to add legitimate vote."); - TEST_ExpectTrue(model.CastVote(id, false) == VFR_Success); - if (expected == TEST_EO_Continue) { - Issue("Vote, that shouldn't have ended voting, ended it."); - TEST_ExpectTrue(model.GetStatus() == VPM_InProgress); - } else if (expected == TEST_EO_End) { - Issue("Vote, that should've ended voting with one side's victory, didn't do it."); - TEST_ExpectTrue(model.GetStatus() == VPM_Failure); - } else if (expected == TEST_EO_EndDraw) { - Issue("Vote, that should've ended voting with a draw, didn't do it."); - TEST_ExpectTrue(model.GetStatus() == VPM_Draw); - } -} - -protected static function TESTS() { - Test_RestrictiveVoting(); - Test_CanLeaveVoting(); - Test_CanChangeVoting(); - Test_All(); -} - -protected static function Test_RestrictiveVoting() { - SubTest_RestrictiveYesVoting(); - SubTest_RestrictiveNoVoting(); - SubTest_RestrictiveDrawVoting(); - SubTest_RestrictiveFaultyVoting(); - SubTest_RestrictiveDisconnectVoting(); - SubTest_RestrictiveReconnectVoting(); -} - -protected static function SubTest_RestrictiveYesVoting() { - local VotingModel model; - - Context("Testing restrictive \"yes\" voting."); - model = MakeVotingModel(VP_Restrictive); - SetVoters(model, "1", "2", "3", "4", "5", "6"); - VoteYes(model, "2", TEST_EO_Continue); - VoteYes(model, "4", TEST_EO_Continue); - VoteYes(model, "3", TEST_EO_Continue); - VoteYes(model, "1", TEST_EO_End); -} - -protected static function SubTest_RestrictiveNoVoting() { - local VotingModel model; - - Context("Testing restrictive \"no\" voting."); - model = MakeVotingModel(VP_Restrictive); - SetVoters(model, "1", "2", "3", "4", "5", "6"); - VoteNo(model, "1", TEST_EO_Continue); - VoteNo(model, "2", TEST_EO_Continue); - VoteNo(model, "6", TEST_EO_Continue); - VoteNo(model, "4", TEST_EO_End); -} - -protected static function SubTest_RestrictiveDrawVoting() { - local VotingModel model; - - Context("Testing restrictive \"draw\" voting."); - model = MakeVotingModel(VP_Restrictive); - SetVoters(model, "1", "2", "3", "4", "5", "6"); - VoteYes(model, "3", TEST_EO_Continue); - VoteYes(model, "2", TEST_EO_Continue); - VoteNo(model, "5", TEST_EO_Continue); - VoteYes(model, "1", TEST_EO_Continue); - VoteNo(model, "6", TEST_EO_Continue); - VoteNo(model, "4", TEST_EO_EndDraw); -} - -protected static function SubTest_RestrictiveFaultyVoting() { - local VotingModel model; - - Context("Testing restrictive \"faulty\" voting."); - model = MakeVotingModel(VP_Restrictive); - SetVoters(model, "1", "2", "3", "4", "5", "6"); - VoteYes(model, "3", TEST_EO_Continue); - MakeFaultyYesVote(model, "3", VFR_AlreadyVoted); - VoteYes(model, "2", TEST_EO_Continue); - MakeFaultyNoVote(model, "7", VFR_NotAllowed); - VoteNo(model, "5", TEST_EO_Continue); - MakeFaultyNoVote(model, "7", VFR_NotAllowed); - MakeFaultyNoVote(model, "5", VFR_AlreadyVoted); - VoteYes(model, "1", TEST_EO_Continue); - MakeFaultyNoVote(model, "3", VFR_CannotChangeVote); - VoteYes(model, "6", TEST_EO_End); - MakeFaultyYesVote(model, "4", VFR_VotingEnded); -} - -protected static function SubTest_RestrictiveDisconnectVoting() { - local VotingModel model; - - Context("Testing restrictive \"disconnect\" voting."); - model = MakeVotingModel(VP_Restrictive); - SetVoters(model, "1", "2", "3", "4", "5", "6", "7", "8", "9", "10"); - VoteYes(model, "1", TEST_EO_Continue); - VoteYes(model, "2", TEST_EO_Continue); - VoteYes(model, "3", TEST_EO_Continue); - VoteYes(model, "4", TEST_EO_Continue); - VoteNo(model, "5", TEST_EO_Continue); - VoteNo(model, "6", TEST_EO_Continue); - VoteYes(model, "7", TEST_EO_Continue); - SetVoters(model, "2", "4", "5", "6", "8", "9", "10"); // remove 1, 3, 7 - 3 "yes" votes - MakeFaultyNoVote(model, "1", VFR_NotAllowed); - VoteNo(model, "8", TEST_EO_Continue); - VoteYes(model, "9", TEST_EO_Continue); - // Here we're at 3 "no" votes, 3 "yes" votes out of 7 total; - // disconnect "2" and "9" for "no" to win - SetVoters(model, "4", "5", "6", "8", "10"); - Issue("Unexpected result after voting users disconnected."); - TEST_ExpectTrue(model.GetStatus() == VPM_Failure); -} - -protected static function SubTest_RestrictiveReconnectVoting() { - local VotingModel model; - - Context("Testing restrictive \"reconnecting\" voting."); - model = MakeVotingModel(VP_Restrictive); - SetVoters(model, "1", "2", "3", "4", "5", "6", "7", "8", "9", "10"); - VoteYes(model, "1", TEST_EO_Continue); - VoteNo(model, "2", TEST_EO_Continue); - VoteYes(model, "3", TEST_EO_Continue); - VoteNo(model, "4", TEST_EO_Continue); - VoteYes(model, "5", TEST_EO_Continue); - VoteNo(model, "6", TEST_EO_Continue); - // Disconnect 1 3 "yes" voters - SetVoters(model, "2", "4", "5", "6", "7", "8", "9", "10"); - VoteYes(model, "7", TEST_EO_Continue); - VoteNo(model, "8", TEST_EO_Continue); - VoteYes(model, "9", TEST_EO_Continue); - MakeFaultyNoVote(model, "1", VFR_NotAllowed); - MakeFaultyNoVote(model, "3", VFR_NotAllowed); - SetVoters(model, "1", "2", "3", "4", "5", "6", "7", "8", "9", "10"); - VoteNo(model, "10", TEST_EO_EndDraw); -} -/* Testing restrictive "reconnecting" voting. - Unexpected result after voting users reconnected. [1] */ -protected static function Test_CanLeaveVoting() { - SubTest_CanLeaveYesVoting(); - SubTest_CanLeaveNoVoting(); - SubTest_CanLeaveDrawVoting(); - SubTest_CanLeaveFaultyVoting(); - SubTest_CanLeaveDisconnectVoting(); - SubTest_CanLeaveReconnectVoting(); -} - -protected static function SubTest_CanLeaveYesVoting() { - local VotingModel model; - - Context("Testing \"yes\" voting where users are allowed to leave."); - model = MakeVotingModel(VP_CanLeave); - SetVoters(model, "1", "2", "3", "4", "5", "6"); - VoteYes(model, "2", TEST_EO_Continue); - VoteYes(model, "4", TEST_EO_Continue); - VoteYes(model, "3", TEST_EO_Continue); - SetVoters(model, "1", "5", "6"); - Issue("Unexpected result after voting users leaves."); - TEST_ExpectTrue(model.GetStatus() == VPM_InProgress); - VoteYes(model, "1", TEST_EO_End); -} - -protected static function SubTest_CanLeaveNoVoting() { - local VotingModel model; - - Context("Testing \"no\" voting where users are allowed to leave."); - model = MakeVotingModel(VP_CanLeave); - SetVoters(model, "1", "2", "3", "4", "5", "6"); - VoteNo(model, "1", TEST_EO_Continue); - VoteNo(model, "2", TEST_EO_Continue); - VoteNo(model, "6", TEST_EO_Continue); - SetVoters(model, "3", "4", "5"); - Issue("Unexpected result after voting users leaves."); - TEST_ExpectTrue(model.GetStatus() == VPM_InProgress); - VoteNo(model, "4", TEST_EO_End); -} - -protected static function SubTest_CanLeaveDrawVoting() { - local VotingModel model; - - Context("Testing \"draw\" voting where users are allowed to leave."); - model = MakeVotingModel(VP_CanLeave); - SetVoters(model, "1", "2", "3", "4", "5", "6"); - VoteYes(model, "3", TEST_EO_Continue); - VoteYes(model, "2", TEST_EO_Continue); - VoteNo(model, "5", TEST_EO_Continue); - VoteYes(model, "1", TEST_EO_Continue); - VoteNo(model, "6", TEST_EO_Continue); - SetVoters(model, "4"); - Issue("Unexpected result after voting users leaves."); - TEST_ExpectTrue(model.GetStatus() == VPM_InProgress); - VoteNo(model, "4", TEST_EO_EndDraw); -} - -protected static function SubTest_CanLeaveFaultyVoting() { - local VotingModel model; - - Context("Testing \"faulty\" voting where users are allowed to leave."); - model = MakeVotingModel(VP_CanLeave); - SetVoters(model, "1", "2", "3", "4", "5", "6"); - VoteYes(model, "3", TEST_EO_Continue); - MakeFaultyYesVote(model, "3", VFR_AlreadyVoted); - VoteYes(model, "2", TEST_EO_Continue); - MakeFaultyNoVote(model, "7", VFR_NotAllowed); - VoteNo(model, "5", TEST_EO_Continue); - MakeFaultyNoVote(model, "7", VFR_NotAllowed); - MakeFaultyNoVote(model, "5", VFR_AlreadyVoted); - VoteYes(model, "1", TEST_EO_Continue); - MakeFaultyNoVote(model, "3", VFR_CannotChangeVote); - SetVoters(model, "4", "5", "6"); - Issue("Unexpected result after voting users leaves."); - TEST_ExpectTrue(model.GetStatus() == VPM_InProgress); - VoteYes(model, "6", TEST_EO_End); - MakeFaultyYesVote(model, "4", VFR_VotingEnded); -} - -protected static function SubTest_CanLeaveDisconnectVoting() { - local VotingModel model; - - Context("Testing \"leave\" voting where users are allowed to leave."); - model = MakeVotingModel(VP_CanLeave); - SetVoters(model, "1", "2", "3", "4", "5", "6", "7", "8", "9", "10"); - VoteYes(model, "1", TEST_EO_Continue); - VoteYes(model, "2", TEST_EO_Continue); - VoteYes(model, "3", TEST_EO_Continue); - VoteYes(model, "4", TEST_EO_Continue); - VoteNo(model, "5", TEST_EO_Continue); - VoteNo(model, "6", TEST_EO_Continue); - VoteYes(model, "7", TEST_EO_Continue); - SetVoters(model, "2", "4", "5", "6", "8", "9", "10"); - MakeFaultyNoVote(model, "1", VFR_NotAllowed); - VoteNo(model, "8", TEST_EO_Continue); - VoteYes(model, "10", TEST_EO_End); -} - -protected static function SubTest_CanLeaveReconnectVoting() { - local VotingModel model; - - Context("Testing \"reconnecting\" voting where users are allowed to leave."); - model = MakeVotingModel(VP_CanLeave); - SetVoters(model, "1", "2", "3", "4", "5", "6", "7", "8", "9", "10"); - VoteYes(model, "1", TEST_EO_Continue); - VoteNo(model, "2", TEST_EO_Continue); - VoteYes(model, "3", TEST_EO_Continue); - VoteNo(model, "4", TEST_EO_Continue); - VoteYes(model, "5", TEST_EO_Continue); - VoteNo(model, "6", TEST_EO_Continue); - // Disconnect 1 3 "yes" voters - SetVoters(model, "2", "4", "5", "6", "7", "8", "9", "10"); - VoteYes(model, "7", TEST_EO_Continue); - VoteNo(model, "8", TEST_EO_Continue); - VoteNo(model, "9", TEST_EO_Continue); - MakeFaultyNoVote(model, "1", VFR_NotAllowed); - MakeFaultyNoVote(model, "3", VFR_NotAllowed); - VoteYes(model, "10", TEST_EO_EndDraw); -} - -protected static function Test_CanChangeVoting() { - SubTest_CanChangeYesVoting(); - SubTest_CanChangeNoVoting(); - SubTest_CanChangeDrawVoting(); - SubTest_CanChangeFaultyVoting(); - SubTest_CanChangeDisconnectVoting(); - SubTest_CanChangeReconnectVoting(); -} - -protected static function SubTest_CanChangeYesVoting() { - local VotingModel model; - - Context("Testing \"yes\" voting where users are allowed to change their vote."); - model = MakeVotingModel(VP_CanChangeVote); - SetVoters(model, "1", "2", "3", "4", "5", "6"); - VoteYes(model, "2", TEST_EO_Continue); - VoteYes(model, "4", TEST_EO_Continue); - VoteYes(model, "3", TEST_EO_Continue); - VoteNo(model, "6", TEST_EO_Continue); - VoteNo(model, "1", TEST_EO_Continue); - VoteYes(model, "6", TEST_EO_End); -} - -protected static function SubTest_CanChangeNoVoting() { - local VotingModel model; - - Context("Testing \"no\" voting where users are allowed to change their vote."); - model = MakeVotingModel(VP_CanChangeVote); - SetVoters(model, "1", "2", "3", "4", "5", "6"); - VoteNo(model, "1", TEST_EO_Continue); - VoteNo(model, "2", TEST_EO_Continue); - VoteNo(model, "6", TEST_EO_Continue); - VoteYes(model, "5", TEST_EO_Continue); - VoteYes(model, "4", TEST_EO_Continue); - VoteNo(model, "5", TEST_EO_End); -} - -protected static function SubTest_CanChangeDrawVoting() { - local VotingModel model; - - Context("Testing \"draw\" voting where users are allowed to change their vote."); - model = MakeVotingModel(VP_CanChangeVote); - SetVoters(model, "1", "2", "3", "4", "5", "6"); - VoteYes(model, "3", TEST_EO_Continue); - VoteYes(model, "2", TEST_EO_Continue); - VoteNo(model, "5", TEST_EO_Continue); - VoteYes(model, "1", TEST_EO_Continue); - VoteNo(model, "1", TEST_EO_Continue); - VoteYes(model, "1", TEST_EO_Continue); - VoteNo(model, "6", TEST_EO_Continue); - VoteNo(model, "4", TEST_EO_EndDraw); -} -protected static function SubTest_CanChangeFaultyVoting() { - local VotingModel model; - - Context("Testing \"faulty\" voting where users are allowed to change their vote."); - model = MakeVotingModel(VP_CanChangeVote); - SetVoters(model, "1", "2", "3", "4", "5", "6"); - VoteYes(model, "3", TEST_EO_Continue); - VoteYes(model, "5", TEST_EO_Continue); - VoteYes(model, "2", TEST_EO_Continue); - VoteNo(model, "5", TEST_EO_Continue); - VoteYes(model, "1", TEST_EO_Continue); - VoteYes(model, "6", TEST_EO_End); - MakeFaultyYesVote(model, "4", VFR_VotingEnded); -} - -protected static function SubTest_CanChangeDisconnectVoting() { - local VotingModel model; - - Context("Testing \"disconnect\" voting where users are allowed to change their vote."); - model = MakeVotingModel(VP_CanChangeVote); - SetVoters(model, "1", "2", "3", "4", "5", "6", "7", "8", "9", "10"); - VoteYes(model, "1", TEST_EO_Continue); - VoteYes(model, "2", TEST_EO_Continue); - VoteYes(model, "6", TEST_EO_Continue); - VoteYes(model, "3", TEST_EO_Continue); - VoteNo(model, "5", TEST_EO_Continue); - VoteYes(model, "5", TEST_EO_Continue); - VoteNo(model, "5", TEST_EO_Continue); - VoteYes(model, "4", TEST_EO_Continue); - VoteNo(model, "6", TEST_EO_Continue); - VoteYes(model, "7", TEST_EO_Continue); - SetVoters(model, "2", "4", "5", "6", "8", "9", "10"); // remove 1, 3, 7 - 3 "yes" votes - MakeFaultyNoVote(model, "1", VFR_NotAllowed); - VoteNo(model, "8", TEST_EO_Continue); - VoteYes(model, "5", TEST_EO_Continue); - VoteNo(model, "9", TEST_EO_Continue); - // Here we're at 3 "no" votes, 3 "yes" votes out of 7 total; - // disconnect "6" and "9" for "yes" to win - SetVoters(model, "2", "4", "5", "8", "10"); - Issue("Unexpected result after voting users disconnected."); - TEST_ExpectTrue(model.GetStatus() == VPM_Success); -} - -protected static function SubTest_CanChangeReconnectVoting() { - local VotingModel model; - - Context("Testing \"reconnect\" voting where users are allowed to change their vote."); - model = MakeVotingModel(VP_CanChangeVote); - SetVoters(model, "1", "2", "3", "4", "5", "6", "7", "8", "9", "10"); - VoteYes(model, "1", TEST_EO_Continue); - VoteNo(model, "2", TEST_EO_Continue); - VoteYes(model, "3", TEST_EO_Continue); - VoteNo(model, "4", TEST_EO_Continue); - VoteYes(model, "5", TEST_EO_Continue); - VoteNo(model, "6", TEST_EO_Continue); - // Disconnect 1 3 "yes" voters - SetVoters(model, "2", "4", "5", "6", "7", "8", "9", "10"); - VoteYes(model, "7", TEST_EO_Continue); - VoteNo(model, "8", TEST_EO_Continue); - VoteYes(model, "9", TEST_EO_Continue); - MakeFaultyNoVote(model, "1", VFR_NotAllowed); - MakeFaultyNoVote(model, "3", VFR_NotAllowed); - // Restore 3 "yes" voter - SetVoters(model, "2", "3", "4", "5", "6", "7", "8", "9", "10"); - VoteNo(model, "3", TEST_EO_End); -} - -protected static function Test_All() { - local VotingModel model; - - Context("Testing permissive voting options."); - model = MakeVotingModel(VP_CanLeaveAndChangeVote); - SetVoters(model, "1", "2", "3", "4", "5", "6", "7", "8", "9", "10"); - VoteYes(model, "1", TEST_EO_Continue); - VoteYes(model, "2", TEST_EO_Continue); - VoteNo(model, "3", TEST_EO_Continue); - VoteYes(model, "4", TEST_EO_Continue); - VoteNo(model, "5", TEST_EO_Continue); - VoteNo(model, "6", TEST_EO_Continue); - // Disconnect 1 and 5 voters - SetVoters(model, "2", "3", "4", "6", "7", "8", "9", "10"); - MakeFaultyNoVote(model, "1", VFR_NotAllowed); - MakeFaultyNoVote(model, "5", VFR_NotAllowed); - VoteYes(model, "3", TEST_EO_Continue); - VoteNo(model, "7", TEST_EO_Continue); - VoteNo(model, "8", TEST_EO_Continue); - VoteNo(model, "9", TEST_EO_Continue); - // Bring back 1, disconnect 3 and 6 - SetVoters(model, "1", "2", "3", "4", "5", "6", "7", "8", "9", "10"); - VoteYes(model, "8", TEST_EO_Continue); - VoteNo(model, "4", TEST_EO_Continue); - // Disconnect 10, finishing voting (since now only 9 voters are available) - SetVoters(model, "1", "2", "3", "4", "5", "6", "7", "8", "9"); - Issue("Unexpected result after voting users disconnected."); - TEST_ExpectTrue(model.GetStatus() == VPM_Failure); -} - -defaultproperties { - caseGroup = "Commands" - caseName = "Voting model" -} \ No newline at end of file