// When this button is clicked, run auto battle and return results private async void AutoBattleButton_Command(object sender, EventArgs e) { // Can create a new battle engine... var myBattleEngine = new AutoBattleEngine(); await DisplayAlert("Starting autobattle...", null, "Continue"); // Start AutoBattle myBattleEngine.RunAutoBattle(); // Display result of AutoBattle await DisplayAlert(null, myBattleEngine.GetResultOutput(), null, "Next"); // String to hold score. var outputString = "Score: " + myBattleEngine.GetScoreValue(); // Show player their score, and allow option to view more details. var action = await DisplayActionSheet(outputString, "Cancel", null, "View Score"); // If user wants to view more score details, take them there. if (action == "View Score") { await Navigation.PushAsync(new ScoreDetailPage(new ScoreDetailViewModel(myBattleEngine.GetScoreObject()))); } }
// Upon Auto Battle clicked, run a new Auto Battle // Return a score after the battle end. private async void AutoBattleButton_Command(object sender, EventArgs e) { // Can create a new battle engine... var myEngine = new AutoBattleEngine(); var result = myEngine.RunAutoBattle(); if (result == false) { await DisplayAlert("Error", "No Characters Available", "OK"); return; } if (myEngine.GetRoundsValue() < 1) { await DisplayAlert("Error", "No Rounds Fought", "OK"); return; } var myResult = myEngine.GetResultsOutput(); var myScore = myEngine.GetScoreValue(); var outputString = "Battle Over! Score " + myScore.ToString(); var action = await DisplayActionSheet(outputString, "Cancel", null, "View Score"); if (action == "View Score") { var myScoreObject = myEngine.GetScoreObject(); await Navigation.PushAsync(new Views.Scores.ScoreDetailPage(new ScoreDetailViewModel(myScoreObject))); } }
/// <summary> /// Jump to the AutoBattle Page /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public async void AutobattleButton_Clicked(object sender, EventArgs e) { // Run the Autobattle simulation from here AutoBattleEngine engine = new AutoBattleEngine(); await engine.RunAutoBattle(); // Call to the Score Page await Navigation.PushModalAsync(new NavigationPage(new ScorePage())); }
// This unit test ensures AutoBattleEngine is instantiated public void AutoBattleEngine_Instantiate_Should_Pass() { // Arrange var Actual = new AutoBattleEngine(); // Assert Assert.IsNotNull(Actual, TestContext.CurrentContext.Test.Name); }
public void AutoBattleEngine_GetResultOutput_Should_Pass() { var myEngine = new AutoBattleEngine(); // Get number of rounds var Actual = myEngine.GetResultOutput(); // Assert that it's not null. Assert.AreNotEqual(null, Actual, TestContext.CurrentContext.Test.Name); }
public void AutoBattleEngine_GetScoreObject_Should_Pass() { var myEngine = new AutoBattleEngine(); // Get score object var Actual = myEngine.GetScoreObject(); // Assert that it's not null. Assert.AreNotEqual(null, Actual, TestContext.CurrentContext.Test.Name); }
public async Task AutoBattleEngine_Hack13_First_Round_Boss_Fight_Game_Over_At_Round_One() { AutoBattleEngine MyEngine = new AutoBattleEngine(); MyEngine.testBossHack = true; await MyEngine.RunAutoBattle(); var result = MyEngine.BattleScore.RoundCount; Assert.AreEqual(result, 1); }
public void Setup() { AutoBattleEngine = new AutoBattleEngine(); AutoBattleEngine.Battle.EngineSettings.CharacterList.Clear(); AutoBattleEngine.Battle.EngineSettings.MonsterList.Clear(); AutoBattleEngine.Battle.EngineSettings.CurrentDefender = null; AutoBattleEngine.Battle.EngineSettings.CurrentAttacker = null; AutoBattleEngine.Battle.StartBattle(true); // Clear the Engine }
// This ensures the GetScoreObject doesn't return a null object public void AutoBattleEngine_GetScoreObject_Should_Pass() { MockForms.Init(); // New AutoBattleEngine object AutoBattleEngine test1 = new AutoBattleEngine(); // Call GetResultsOutput var Actual = test1.GetScoreObject(); // Assert Assert.IsNotNull(Actual, TestContext.CurrentContext.Test.Name); }
public void AutoBattleEngine_GetScoreValue_Should_Pass() { var myEngine = new AutoBattleEngine(); // No score is expected var Expected = 0; // Get score var Actual = myEngine.GetScoreValue(); // Assert Assert.AreEqual(Expected, Actual, TestContext.CurrentContext.Test.Name); }
public void AutoBattleEngine_Instantiate_Should_Pass() { // Arrange // Act var Actual = new AutoBattleEngine(); // Reset // Assert Assert.AreNotEqual(null, Actual, TestContext.CurrentContext.Test.Name); }
public void AutoBattleEngine_GetNumRounds_Should_Pass() { var myEngine = new AutoBattleEngine(); // No Rounds var Expected = 0; // Get number of rounds var Actual = myEngine.GetNumRounds(); // Assert Assert.AreEqual(Expected, Actual, TestContext.CurrentContext.Test.Name); }
public void AutoBattleEngine_InitiateBattle_Should_Pass() { // Arrange (No need to set a variable first) // Act (The actual return should be that the battle engine started) var Actual = new AutoBattleEngine(); // Reset // Assert (Make sure that a game is initiated) Assert.AreNotEqual(null, Actual, TestContext.CurrentContext.Test.Name); }
/// <summary> /// Jump to the Dungeon /// </summary> /// <param name="sender"></param> /// <param name="e"></param> async void AutobattleButton_Clicked(object sender, EventArgs e) { // Run the Autobattle simulation from here AutoBattleEngine AutoEngine = new AutoBattleEngine(); var catchResult = await AutoEngine.RunAutoBattle(); ScoreModel endScore = AutoEngine.GetScoreObject(); // Call to the Score Page await Navigation.PushModalAsync(new NavigationPage(new ScorePage(new GenericViewModel <ScoreModel>(endScore)))); }
public void AutoBattleEngine_GetResultsOutput_Should_Pass() { // Arrange var myEngine = new AutoBattleEngine(); // Act var Actual = myEngine.GetResultsOutput(); // Reset // Assert Assert.NotNull(Actual, TestContext.CurrentContext.Test.Name); }
public void AutoBattleEngine_ExecuteAutoBattle_Should_Pass() { // Arrange MockForms.Init(); var myEngine = new AutoBattleEngine(); bool Expect = true; // Act var Actual = myEngine.ExecuteAutoBattle(); // Assert Assert.AreEqual(Expect, Actual, TestContext.CurrentContext.Test.Name); }
public void AutoBattleEngine_GetResultsOutput_Should_Pass() { // Arrange var myEngine = new AutoBattleEngine(); string Expected = null; // because it is not defined yet // Act var Actual = myEngine.GetResultsOutput(); // Reset // Assert Assert.AreEqual(Expected, Actual, TestContext.CurrentContext.Test.Name); }
public void AutoBattleEngine_GetScoreObject_Should_Pass() { // Arrange var myEngine = new AutoBattleEngine(); var Expected = 0; // 1 because it is not defined yet // Act var Actual = myEngine.GetScoreValue(); // Reset // Assert Assert.AreEqual(Expected, Actual, TestContext.CurrentContext.Test.Name); }
public async Task AutoBattleEngine_Hack48_Character_To_Hit_Roll_Equal_To_Hack_48_Condition_Attacker_Dies_Game_Ends_At_Round_One() { AutoBattleEngine MyEngine = new AutoBattleEngine(); MyEngine.testHack48 = true; //FIRST CHARACTER await MyEngine.RunAutoBattle(); var result = MyEngine.BattleScore.RoundCount; MyEngine = null; Assert.AreEqual(result, 1); }
// This unit test ensures round value of -1 should return default value // Which is 1 // All battle has at least 1 round public void AutoBattleEngine_GetRoundsValue_0_Should_Default() { MockForms.Init(); //arrange AutoBattleEngine test = new AutoBattleEngine(); test.BattleEngine.BattleScore.RoundCount = 0; var Expected = 1; //default value var Actual = test.GetRoundsValue(); //assert Assert.AreEqual(Expected, Actual, TestContext.CurrentContext.Test.Name); }
public void AutoBattleEngine_GetRoundsValueAtStart_Should_Pass() { // Arrange var startBattle = new AutoBattleEngine(); var Expected = 0; // 0 because it is not defined yet // Act var Actual = startBattle.GetRoundsValue(); // Reset // Assert Assert.AreEqual(Expected, Actual, TestContext.CurrentContext.Test.Name); }
public void AutoBattleEngine_GetScoreValueAtStart_Should_Pass() { // Arrange (Initiate a new Auto Battle) var startBattle = new AutoBattleEngine(); var Expected = 0; // 0 is the Expected score, because game just started) // Act (Actual score of the battle) var Actual = startBattle.GetScoreValue(); // Reset // Assert (Should return 0) Assert.AreEqual(Expected, Actual, TestContext.CurrentContext.Test.Name); }
public void Setup() { AutoBattleEngine = new AutoBattleEngine(); AutoBattleEngine.Battle.EngineSettings.CharacterList.Clear(); AutoBattleEngine.Battle.EngineSettings.MonsterList.Clear(); AutoBattleEngine.Battle.EngineSettings.CurrentDefender = null; AutoBattleEngine.Battle.EngineSettings.CurrentAttacker = null; AutoBattleEngine.Battle.Round = new RoundEngine(); AutoBattleEngine.Battle.Round.Turn = new TurnEngine(); // Remove this comment when the Battle engine is ready to go... AutoBattleEngine.Battle.StartBattle(true); // Clear the Engine }
// This ensures the GetScoreValue returns a valid int // Any value equal or larger than 0 is acceptable public void AutoBattleEngine_GetScoreValue_0_Should_Pass() { MockForms.Init(); //arrange AutoBattleEngine test = new AutoBattleEngine(); test.BattleEngine.BattleScore.ScoreTotal = 0; var Expected = 0; var Actual = test.GetScoreValue(); //assert Assert.AreEqual(Expected, Actual, TestContext.CurrentContext.Test.Name); }
// Auto Battle Starts here when this button is clicked private async void AutoBattleButton_Command(object sender, EventArgs e) { // Can create a new battle engine... var myBattleEngine = new AutoBattleEngine(); // run auto battle var result = myBattleEngine.RunAutoBattle(); if (result == false) { await DisplayAlert("Error", "No Characters Available", "OK"); return; } if (myBattleEngine.GetRoundsValue() < 1) { await DisplayAlert("Error", "No Rounds Fought", "OK"); return; } // output results of the game after battle is over var myResult = myBattleEngine.GetResultsOutput(); var myScore = myBattleEngine.GetScoreValue(); var outputString = "Mellow Fox Battle Over!"; // the pop up for either cancel or see the score details var action = await DisplayActionSheet(outputString, "Cancel", null, "View Score Results"); // Show the results if (action == "View Score Results") { var myScoreObject = myBattleEngine.GetScoreObject(); await Navigation.PushAsync(new GameOver(new ScoreDetailViewModel(myScoreObject))); } }
public async Task AutoBattleEngine_Character_With_Prime_Attribute_Value_Hits_Real_Hard_should_win_LOTS() { AutoBattleEngine MyEngine = new AutoBattleEngine(); MyEngine.testingHack47 = true; for (int i = 0; i < MyEngine.MaxNumberPartyCharacters; i++) { var PrimeGod = new PlayerInfoModel( new BaseCharacter { Speed = 16, Level = 7, Attack = 12, Defense = 10, MaxHealth = 50, CurrHealth = 11, Experience = 1, ExperienceRemaining = 1, Name = "God Like Mike", ListOrder = 1, }); MyEngine.CharacterList.Add(PrimeGod); } MyEngine.MaxNumberPartyMonsters = 1; await MyEngine.RunAutoBattle(); bool result = false; if (MyEngine.BattleScore.RoundCount > 3) { result = true; } //Reset MyEngine = null; //Assert Assert.AreEqual(true, result); }
public void AutoBattleEngine_ExecuteAutoBattle_No_Characters_Should_Fail() { // Arrange MockForms.Init(); var myEngine = new AutoBattleEngine(); bool Expect = false; // Delete all Characters from the View Model CharactersViewModel.Instance.Dataset.Clear(); // Act var Actual = myEngine.ExecuteAutoBattle(); // Reset CharactersViewModel.Instance.ForceDataRefresh(); // Assert Assert.AreEqual(Expect, Actual, TestContext.CurrentContext.Test.Name); }
// Button Logic for AutoBattle page. private async void AutoBattleButton_Command(object sender, EventArgs e) { // Hold the score property to give to the score navigation later Score myScoreObject = new Score(); // Can create a new battle engine... var myEngine = new AutoBattleEngine(); //await Task.Run(async () => //{ var result = myEngine.ExecuteAutoBattle(); if (result == false) { await DisplayAlert("Error", "No Characters Avaialbe", "OK"); return; } if (myEngine.GetRoundCount() < 1) { await DisplayAlert("Error", "No Rounds Fought", "OK"); return; } var myResult = myEngine.GetResultsOutput(); var myScore = myEngine.GetScoreValue(); var outputString = "Battle Over! Score " + myScore.ToString(); myScoreObject = myEngine.GetScoreObject(); // }); await Navigation.PushAsync(new ScoreDetailPage(new ScoreDetailViewModel(myScoreObject))); }
public void Setup() { Engine = new AutoBattleEngine(); }
public void Setup() { //AutoBattleEngine = EngineViewModel.AutoBattleEngine; BattleEngine = EngineViewModel.Engine; AutoBattleEngine = EngineViewModel.AutoBattleEngine; }