public void LockBattleFront1() { var fakeCommsEngine = A.Fake <IApocCommunications>(); manager = new UpperTierCampaignManager(SampleProgressionList, RegionMgrs); // Must be run before attaching ApocBattleFronts to get an ActiveBF var bf = manager.GetActiveBattleFrontFromProgression(); Region1.Campaign = new Campaign(Region1, Region1BOList, new HashSet <Player>(), manager, FakeComms); Region3.Campaign = new Campaign(Region3, Region3BOList, new HashSet <Player>(), manager, FakeComms); // Open Praag (BF==1) manager.OpenActiveBattlefront(); // Locking Region1.Campaign Region1.Campaign.VictoryPointProgress.DestructionVictoryPoints = 5000f; Region1.Campaign.VictoryPointProgress.OrderVictoryPoints = 1000f; manager.LockActiveBattleFront(Realms.REALMS_REALM_DESTRUCTION, -1); // Ensure battlefront 1 is locked and to Destro Assert.IsTrue(manager.GetBattleFrontStatus(manager.ActiveBattleFront.BattleFrontId).LockingRealm == Realms.REALMS_REALM_DESTRUCTION); Assert.IsTrue(manager.GetBattleFrontStatus(manager.ActiveBattleFront.BattleFrontId).Locked); Assert.IsTrue(manager.GetBattleFrontStatus(manager.ActiveBattleFront.BattleFrontId).FinalVictoryPoint.DestructionVictoryPoints == 5000f); Assert.IsTrue(manager.GetBattleFrontStatus(manager.ActiveBattleFront.BattleFrontId).FinalVictoryPoint.OrderVictoryPoints == 1000f); // Ensure that the BOs for this battlefront ONLY are locked. foreach (var apocBattlefieldObjective in Region1.Campaign.Objectives) { // Locking a battlefront should ZoneLock the BOs in that Zone, and Open those in the next battlefront. if ((apocBattlefieldObjective.ZoneId == 200) || (apocBattlefieldObjective.ZoneId == 201)) { // Should be all locked. Assert.IsTrue(apocBattlefieldObjective.State == StateFlags.ZoneLocked); } } }
public void OpenActiveBattleFrontSetsCorrectBOFlags() { manager = new UpperTierCampaignManager(SampleProgressionList, RegionMgrs); // Must be run before attaching ApocBattleFronts to get an ActiveBF var bf = manager.GetActiveBattleFrontFromProgression(); Region1.Campaign = new Campaign(Region1, Region1BOList, new HashSet <Player>(), manager, FakeComms); Region3.Campaign = new Campaign(Region3, Region3BOList, new HashSet <Player>(), manager, FakeComms); // Open Praag (BF==1) manager.OpenActiveBattlefront(); Assert.IsTrue(manager.ActiveBattleFront.BattleFrontId == 1); // Praag // Ensure that the BOs for this battlefront ONLY are unlocked. foreach (var bo in Region1.Campaign.Objectives) { if (bo.ZoneId == 200) { // Locking the Region should set all BOs in the region to be zonelocked ( Assert.IsTrue(bo.State == StateFlags.Unsecure); } else { Assert.IsTrue(bo.State == StateFlags.ZoneLocked); } } }
public void ResetActivePairing() { var manager = new UpperTierCampaignManager(SampleProgressionList, RegionMgrs); var bf = manager.GetActiveBattleFrontFromProgression(); Assert.IsTrue(bf.BattleFrontId == 1); }
public void ActivePairingLocated() { manager = new UpperTierCampaignManager(SampleProgressionList, RegionMgrs); // Must be run before attaching ApocBattleFronts to get an ActiveBF var bf = manager.GetActiveBattleFrontFromProgression(); Region1.Campaign = new Campaign(Region1, Region1BOList, new HashSet <Player>(), manager, FakeComms); Region3.Campaign = new Campaign(Region3, Region3BOList, new HashSet <Player>(), manager, FakeComms); Assert.IsTrue(bf.DestWinProgression == 2); bf = manager.AdvanceBattleFront(Realms.REALMS_REALM_DESTRUCTION); Assert.IsTrue(bf.BattleFrontId == 2); Assert.IsTrue(bf.DestWinProgression == 6); Assert.IsTrue(bf.OrderWinProgression == 7); Assert.IsTrue(manager.ActiveBattleFront.BattleFrontId == 2); bf = manager.AdvanceBattleFront(Realms.REALMS_REALM_DESTRUCTION); Assert.IsTrue(bf.BattleFrontId == 6); Assert.IsTrue(bf.DestWinProgression == 7); Assert.IsTrue(bf.OrderWinProgression == 2); Assert.IsTrue(manager.ActiveBattleFront.BattleFrontId == 6); bf = manager.AdvanceBattleFront(Realms.REALMS_REALM_ORDER); Assert.IsTrue(bf.BattleFrontId == 2); Assert.IsTrue(bf.DestWinProgression == 6); Assert.IsTrue(bf.OrderWinProgression == 7); Assert.IsTrue(manager.ActiveBattleFront.BattleFrontId == 2); bf = manager.AdvanceBattleFront(Realms.REALMS_REALM_DESTRUCTION); Assert.IsTrue(bf.BattleFrontId == 6); Assert.IsTrue(bf.DestWinProgression == 7); Assert.IsTrue(bf.OrderWinProgression == 2); Assert.IsTrue(manager.ActiveBattleFront.BattleFrontId == 6); bf = manager.AdvanceBattleFront(Realms.REALMS_REALM_DESTRUCTION); Assert.IsTrue(bf.BattleFrontId == 7); Assert.IsTrue(bf.DestWinProgression == 1); Assert.IsTrue(bf.OrderWinProgression == 1); Assert.IsTrue(manager.ActiveBattleFront.BattleFrontId == 7); Assert.IsTrue(manager.ActiveBattleFront.DestWinProgression == 1); Assert.IsTrue(manager.ActiveBattleFront.OrderWinProgression == 1); }
public void GetCampaignStatus() { var fakeCommsEngine = A.Fake <IApocCommunications>(); manager = new UpperTierCampaignManager(SampleProgressionList, RegionMgrs); // Must be run before attaching ApocBattleFronts to get an ActiveBF var bf = manager.GetActiveBattleFrontFromProgression(); Region1.Campaign = new Campaign(Region1, Region1BOList, new HashSet <Player>(), manager, FakeComms); Region3.Campaign = new Campaign(Region3, Region3BOList, new HashSet <Player>(), manager, FakeComms); // Open Praag (BF==1) manager.OpenActiveBattlefront(); var activeCampaign = manager.GetActiveCampaign(); Assert.IsTrue(activeCampaign.ActiveCampaignName == "Praag"); Assert.IsTrue(activeCampaign.Region.RegionId == 1); Assert.IsTrue(activeCampaign.VictoryPointProgress.DestructionVictoryPoints == 0f); Assert.IsTrue(activeCampaign.VictoryPointProgress.OrderVictoryPoints == 0f); }
public void GetBattleFrontStatus() { var fakeCommsEngine = A.Fake <IApocCommunications>(); manager = new UpperTierCampaignManager(SampleProgressionList, RegionMgrs); // Must be run before attaching ApocBattleFronts to get an ActiveBF var bf = manager.GetActiveBattleFrontFromProgression(); Region1.Campaign = new Campaign(Region1, Region1BOList, new HashSet <Player>(), manager, FakeComms); Region3.Campaign = new Campaign(Region3, Region3BOList, new HashSet <Player>(), manager, FakeComms); // Open Praag (BF==1) manager.OpenActiveBattlefront(); var status = manager.GetBattleFrontStatus(bf.BattleFrontId); Assert.IsTrue(status.Locked == false); Assert.IsTrue(status.FinalVictoryPoint.DestructionVictoryPoints == 0); Assert.IsTrue(status.FinalVictoryPoint.OrderVictoryPoints == 0); Assert.IsTrue(status.LockStatus == BattleFrontConstants.ZONE_STATUS_CONTESTED); }
public void Setup() { FakeComms = A.Fake <IApocCommunications>(); RegionMgrs = new List <RegionMgr>(); PraagBOList = new List <BattlefieldObjective>(); ChaosWastesBOList = new List <BattlefieldObjective>(); ThunderMountainBOList = new List <BattlefieldObjective>(); KadrinValleyBOList = new List <BattlefieldObjective>(); Region1BOList = new List <BattlefieldObjective>(); Region3BOList = new List <BattlefieldObjective>(); var R1ZoneList = new List <Zone_Info>(); R1ZoneList.Add(new Zone_Info { ZoneId = 200, Name = "R1Zone200 PR", Pairing = 2, Tier = 4 }); R1ZoneList.Add(new Zone_Info { ZoneId = 201, Name = "R1Zone201 CW", Pairing = 2, Tier = 4 }); var R3ZoneList = new List <Zone_Info>(); R3ZoneList.Add(new Zone_Info { ZoneId = 400, Name = "R3Zone400 TM", Pairing = 1, Tier = 4 }); R3ZoneList.Add(new Zone_Info { ZoneId = 401, Name = "R3Zone401 KV", Pairing = 1, Tier = 4 }); Region1 = new RegionMgr(1, R1ZoneList, "Region1", FakeComms); Region3 = new RegionMgr(3, R3ZoneList, "Region3", FakeComms); RegionMgrs.Add(Region1); RegionMgrs.Add(Region3); PraagBOList.Add(new BattlefieldObjective(1, "BO1", 200, 1, 4)); PraagBOList.Add(new BattlefieldObjective(2, "BO2", 200, 1, 4)); PraagBOList.Add(new BattlefieldObjective(3, "BO3", 200, 1, 4)); PraagBOList.Add(new BattlefieldObjective(4, "BO4", 200, 1, 4)); ChaosWastesBOList.Add(new BattlefieldObjective(11, "BO1", 201, 1, 4)); ChaosWastesBOList.Add(new BattlefieldObjective(12, "BO2", 201, 1, 4)); ChaosWastesBOList.Add(new BattlefieldObjective(13, "BO3", 201, 1, 4)); ChaosWastesBOList.Add(new BattlefieldObjective(14, "BO4", 201, 1, 4)); ThunderMountainBOList.Add(new BattlefieldObjective(21, "BO1", 400, 3, 4)); ThunderMountainBOList.Add(new BattlefieldObjective(22, "BO2", 400, 3, 4)); ThunderMountainBOList.Add(new BattlefieldObjective(23, "BO3", 400, 3, 4)); ThunderMountainBOList.Add(new BattlefieldObjective(24, "BO4", 400, 3, 4)); KadrinValleyBOList.Add(new BattlefieldObjective(31, "BO1", 401, 3, 4)); KadrinValleyBOList.Add(new BattlefieldObjective(32, "BO2", 401, 3, 4)); KadrinValleyBOList.Add(new BattlefieldObjective(33, "BO3", 401, 3, 4)); KadrinValleyBOList.Add(new BattlefieldObjective(34, "BO4", 401, 3, 4)); Region1BOList.AddRange(PraagBOList); Region1BOList.AddRange(ChaosWastesBOList); Region3BOList.AddRange(ThunderMountainBOList); Region3BOList.AddRange(KadrinValleyBOList); SampleProgressionList = new List <RVRProgression>(); SampleProgressionList.Add(new RVRProgression { Tier = 4, ZoneId = 200, BattleFrontId = 1, Description = "Praag", // named for default pickup DestWinProgression = 2, OrderWinProgression = 3, PairingId = 2, RegionId = 1, ResetProgressionOnEntry = 1 }); SampleProgressionList.Add(new RVRProgression { Tier = 4, ZoneId = 201, BattleFrontId = 2, Description = "Chaos Wastes", DestWinProgression = 6, OrderWinProgression = 7, PairingId = 2, RegionId = 1, ResetProgressionOnEntry = 0 }); SampleProgressionList.Add(new RVRProgression { Tier = 4, ZoneId = 400, BattleFrontId = 6, Description = "Thunder Mountain", DestWinProgression = 7, OrderWinProgression = 2, PairingId = 1, RegionId = 3, ResetProgressionOnEntry = 0 }); SampleProgressionList.Add(new RVRProgression { Tier = 4, ZoneId = 401, BattleFrontId = 7, Description = "Kadrin Valley", DestWinProgression = 1, OrderWinProgression = 1, PairingId = 1, RegionId = 3, ResetProgressionOnEntry = 0 }); manager = new UpperTierCampaignManager(SampleProgressionList, RegionMgrs); // Must be run before attaching ApocBattleFronts to get an ActiveBF manager.GetActiveBattleFrontFromProgression(); Region1.Campaign = new Campaign(Region1, Region1BOList, new HashSet <Player>(), manager, FakeComms); Region3.Campaign = new Campaign(Region3, Region3BOList, new HashSet <Player>(), manager, FakeComms); }
public void RollAllRegionsBackToStart() { var fakeCommsEngine = A.Fake <IApocCommunications>(); manager = new UpperTierCampaignManager(SampleProgressionList, RegionMgrs); // Must be run before attaching ApocBattleFronts to get an ActiveBF var bf = manager.GetActiveBattleFrontFromProgression(); Region1.Campaign = new Campaign(Region1, Region1BOList, new HashSet <Player>(), manager, FakeComms); Region3.Campaign = new Campaign(Region3, Region3BOList, new HashSet <Player>(), manager, FakeComms); // Open Praag (BF==1) manager.OpenActiveBattlefront(); // Locking Region1.Campaign Region1.Campaign.VictoryPointProgress.DestructionVictoryPoints = 5000f; Region1.Campaign.VictoryPointProgress.OrderVictoryPoints = 1000f; manager.LockActiveBattleFront(Realms.REALMS_REALM_DESTRUCTION, -1); // Ensure battlefront 1 is locked and to Destro Assert.IsTrue(manager.GetBattleFrontStatus(manager.ActiveBattleFront.BattleFrontId).LockingRealm == Realms.REALMS_REALM_DESTRUCTION); Assert.IsTrue(manager.GetBattleFrontStatus(manager.ActiveBattleFront.BattleFrontId).Locked); Assert.IsTrue(manager.GetBattleFrontStatus(manager.ActiveBattleFront.BattleFrontId).FinalVictoryPoint.DestructionVictoryPoints == 5000f); Assert.IsTrue(manager.GetBattleFrontStatus(manager.ActiveBattleFront.BattleFrontId).FinalVictoryPoint.OrderVictoryPoints == 1000f); Assert.IsTrue(manager.GetBattleFrontStatus(manager.ActiveBattleFront.BattleFrontId).RegionId == 1); // Advance Destro var progression = manager.AdvanceBattleFront(Realms.REALMS_REALM_DESTRUCTION); Assert.IsTrue(progression.BattleFrontId == 2); Assert.IsTrue(progression.ZoneId == 201); manager.OpenActiveBattlefront(); Region1.Campaign.VictoryPointProgress.DestructionVictoryPoints = 5000f; Region1.Campaign.VictoryPointProgress.OrderVictoryPoints = 2200f; var activeCampaign = manager.GetActiveCampaign(); Assert.IsTrue(activeCampaign.ActiveCampaignName == "Chaos Wastes"); Assert.IsTrue(activeCampaign.Region.RegionId == 1); Assert.IsTrue(activeCampaign.VictoryPointProgress.DestructionVictoryPoints == 5000f); Assert.IsTrue(activeCampaign.VictoryPointProgress.OrderVictoryPoints == 2200f); // Lock Destro again manager.LockActiveBattleFront(Realms.REALMS_REALM_DESTRUCTION, -1); // Ensure battlefront is locked and to Destro Assert.IsTrue(manager.GetBattleFrontStatus(manager.ActiveBattleFront.BattleFrontId).LockingRealm == Realms.REALMS_REALM_DESTRUCTION); Assert.IsTrue(manager.GetBattleFrontStatus(manager.ActiveBattleFront.BattleFrontId).Locked); // Advance Destro var progression2 = manager.AdvanceBattleFront(Realms.REALMS_REALM_DESTRUCTION); Assert.IsTrue(progression2.BattleFrontId == 6); Assert.IsTrue(progression2.ZoneId == 400); // KV manager.LockActiveBattleFront(Realms.REALMS_REALM_DESTRUCTION, -1); var progression3 = manager.AdvanceBattleFront(Realms.REALMS_REALM_DESTRUCTION); manager.OpenActiveBattlefront(); Assert.IsTrue(progression3.BattleFrontId == 7); Assert.IsTrue(progression3.ZoneId == 401); //Back to Emp manager.LockActiveBattleFront(Realms.REALMS_REALM_DESTRUCTION, -1); var progression4 = manager.AdvanceBattleFront(Realms.REALMS_REALM_DESTRUCTION); manager.OpenActiveBattlefront(); Assert.IsTrue(progression4.BattleFrontId == 1); Assert.IsTrue(progression4.ZoneId == 200); // Should be all unlocked in Praag // Ensure that the BOs for this battlefront ONLY are locked. foreach (var apocBattlefieldObjective in Region1.Campaign.Objectives) { // Locking a battlefront should ZoneLock the BOs in that Zone, and Open those in the next battlefront. if (apocBattlefieldObjective.ZoneId == 200) { // Should be all unsecure. Assert.IsTrue(apocBattlefieldObjective.State == StateFlags.Unsecure); } else { Assert.IsTrue(apocBattlefieldObjective.State == StateFlags.ZoneLocked); } } Assert.IsTrue(manager.GetBattleFrontStatus(manager.ActiveBattleFront.BattleFrontId).LockingRealm == Realms.REALMS_REALM_NEUTRAL); Assert.IsFalse(manager.GetBattleFrontStatus(manager.ActiveBattleFront.BattleFrontId).Locked); }
public void Constructor_NoActivePairings_CreatesError() { var manager = new UpperTierCampaignManager(SampleProgressionList, RegionMgrs); Assert.IsNull(manager.ActiveBattleFront); }
public void Constructor_NoPairings_CreatesError() { var manager = new UpperTierCampaignManager(null, RegionMgrs); Assert.IsNull(manager.ActiveBattleFront); }