public void BasePlayerModel_ClearBuff_Default_Should_Pass()
        {
            var data = new BasePlayerModel <CharacterModel>();

            // clear the buff
            data.ClearBuffs();

            Assert.AreEqual(data.BuffHealthValue, 0);
            Assert.AreEqual(data.BuffAttackValue, 0);
            Assert.AreEqual(data.BuffDefenseValue, 0);
            Assert.AreEqual(data.BuffSpeedValue, 0);
        }
Esempio n. 2
0
        public void BasePlayerModel_Constructor_Default_Should_Pass()
        {
            // Arrange

            // Act
            var result = new BasePlayerModel <CharacterModel>();

            // Reset

            // Assert
            Assert.AreEqual("This is an Item", result.Name);
        }
Esempio n. 3
0
        public void BasePlayerModel_GetHealthMax_Default_Should_Pass()
        {
            // Arrange
            var data = new BasePlayerModel <CharacterModel>();

            // Act
            var result = data.GetMaxHealthTotal;

            // Reset

            // Assert
            Assert.AreEqual(0, result);
        }
Esempio n. 4
0
        public void BasePlayerModel_GetSpeed_Default_Should_Pass()
        {
            // Arrange
            var data = new BasePlayerModel <CharacterModel>();

            // Act
            var result = data.GetSpeed();

            // Reset

            // Assert
            Assert.AreEqual(1, result);
        }
Esempio n. 5
0
        public void BasePlayerModel_Update_Default_Should_Pass()
        {
            // Arrange
            var data = new BasePlayerModel <CharacterModel>();

            // Act
            var result = data.Update(null);

            // Reset

            // Assert
            Assert.AreEqual(true, result);
        }
Esempio n. 6
0
        public void BasePlayerModel_TakeDamage_InValid_Should_Fail()
        {
            // Arrange
            var data = new BasePlayerModel <CharacterModel>();

            // Act
            var result = data.TakeDamage(0);

            // Reset

            // Assert
            Assert.AreEqual(false, result);
        }
Esempio n. 7
0
        public void BasePlayerModel_CauseDeath_Default_Should_Pass()
        {
            // Arrange
            var data = new BasePlayerModel <CharacterModel>();

            // Act
            var result = data.CauseDeath();

            // Reset

            // Assert
            Assert.AreEqual(false, result);
        }
Esempio n. 8
0
        public void BasePlayerModel_FormatOutput_Default_Should_Pass()
        {
            // Arrange
            var data = new BasePlayerModel <CharacterModel>();

            // Act
            var result = data.FormatOutput();

            // Reset

            // Assert
            Assert.AreEqual("", result);
        }
Esempio n. 9
0
        public void BasePlayerModel_AddExperience_Default_Should_Pass()
        {
            // Arrange
            var data = new BasePlayerModel <CharacterModel>();

            // Act
            var result = data.AddExperience(0);

            // Reset

            // Assert
            Assert.AreEqual(false, result);
        }
Esempio n. 10
0
        public void BasePlayerModel_AddExperience_InValid_Neg_Should_Fail()
        {
            // Arrange
            var data = new BasePlayerModel <CharacterModel>();

            // Act
            var result = data.AddExperience(-1);

            // Reset

            // Assert
            Assert.AreEqual(false, result);
        }
Esempio n. 11
0
        public void BasePlayerModel_CalculateExperienceEarned_Default_Should_Pass()
        {
            // Arrange
            var data = new BasePlayerModel <CharacterModel>();

            // Act
            var result = data.CalculateExperienceEarned(0);

            // Reset

            // Assert
            Assert.AreEqual(0, result);
        }
Esempio n. 12
0
        public void BasePlayerModel_GetItem_Default_Should_Pass()
        {
            // Arrange
            var data = new BasePlayerModel <CharacterModel>();

            // Act
            var result = data.GetItem("test");

            // Reset

            // Assert
            Assert.AreEqual(null, result);
        }
Esempio n. 13
0
        public void BasePlayerModel_GetItemByLocation_Unknown_Default_Should_Pass()
        {
            // Arrange
            var data = new BasePlayerModel <CharacterModel>();

            // Act
            var result = data.GetItemByLocation(ItemLocationEnum.Unknown);

            // Reset

            // Assert
            Assert.AreEqual(null, result);
        }
Esempio n. 14
0
        public void BasePlayerModel_AddItem_Unknown_Should_Fail()
        {
            // Arrange
            var data = new BasePlayerModel <CharacterModel>();

            // Act
            var result = data.AddItem(ItemLocationEnum.Unknown, "bogus");

            // Reset

            // Assert
            Assert.AreEqual(null, result);
        }
Esempio n. 15
0
        public void BasePlayerModel_TakeDamage_Valid_Should_Pass()
        {
            // Arrange
            var data = new BasePlayerModel <CharacterModel>();

            // Act
            var result = data.TakeDamage(1);

            // Reset

            // Assert
            Assert.AreEqual(true, result);
        }
Esempio n. 16
0
        public async Task BasePlayerModel_GetItemRange_Valid_Item_Range_1_Should_Pass()
        {
            var data = new BasePlayerModel <CharacterModel>();
            var item = new ItemModel {
                Range = 1
            };

            await ItemIndexViewModel.Instance.CreateAsync(item);

            data.PrimaryHand = item.Id;

            var Result = data.GetRange();

            Assert.AreEqual(2, Result);
        }
Esempio n. 17
0
        public void BasePlayerModel_GetDamageRollValue_Default_Should_Pass()
        {
            // Arrange
            var data = new BasePlayerModel <CharacterModel>();

            data.Level = 1;

            // Act
            var result = data.GetDamageRollValue();

            // Reset

            // Assert
            Assert.AreEqual(1, result);
        }
Esempio n. 18
0
        public void BasePlayerModel_AddExperience_Valid_Level__Up_Should_Pass()
        {
            // Arrange
            var data = new BasePlayerModel <CharacterModel>();

            data.Level           = 1;
            data.ExperienceTotal = 10000;

            // Act
            var result = data.AddExperience(1);

            // Reset

            // Assert
            Assert.AreEqual(true, result);
        }
Esempio n. 19
0
        public void BasePlayerModel_CalculateExperienceEarned_0_Should_Skip()
        {
            var data = new BasePlayerModel <MonsterModel>
            {
                ExperienceRemaining = 3000,
                MaxHealth           = 20,
                CurrentHealth       = 20
            };

            // Call calculate experience before applying damage
            var Result = data.CalculateExperienceEarned(0);

            var Expected = 0;

            Assert.AreEqual(Expected, Result);
        }
Esempio n. 20
0
        public void BasePlayerModel_CalculateExperienceEarned_None_Avaiable_Should_Pass()
        {
            var data = new BasePlayerModel <MonsterModel>
            {
                ExperienceRemaining = 0,
                MaxHealth           = 20,
                CurrentHealth       = 20
            };

            // Call calculate experience before applying damage
            var Result = data.CalculateExperienceEarned(3);

            var Expected = 1;

            Assert.AreEqual(Expected, Result, TestContext.CurrentContext.Test.Name);
        }
Esempio n. 21
0
        public async Task BasePlayerModel_GetDamageRollValue_Default_Speed_Should_Pass()
        {
            // Arrange
            // Add each model here to warm up and load it.
            Game.Helpers.DataSetsHelper.WarmUp();

            await ItemIndexViewModel.Instance.CreateAsync(new ItemModel { Attribute = AttributeEnum.Attack, Value = 1, Id = "head" });

            await ItemIndexViewModel.Instance.CreateAsync(new ItemModel { Attribute = AttributeEnum.Attack, Value = 20, Id = "necklass" });

            await ItemIndexViewModel.Instance.CreateAsync(new ItemModel { Attribute = AttributeEnum.Attack, Value = 300, Id = "PrimaryHand" });

            await ItemIndexViewModel.Instance.CreateAsync(new ItemModel { Attribute = AttributeEnum.Attack, Value = 4000, Id = "OffHand" });

            await ItemIndexViewModel.Instance.CreateAsync(new ItemModel { Attribute = AttributeEnum.Attack, Value = 50000, Id = "RightFinger" });

            await ItemIndexViewModel.Instance.CreateAsync(new ItemModel { Attribute = AttributeEnum.Attack, Value = 600000, Id = "LeftFinger" });

            await ItemIndexViewModel.Instance.CreateAsync(new ItemModel { Attribute = AttributeEnum.Attack, Value = 7000000, Id = "feet" });

            var data = new BasePlayerModel <CharacterModel>();

            data.Level = 1;

            // Add the first item
            data.AddItem(ItemLocationEnum.PrimaryHand, (await ItemIndexViewModel.Instance.ReadAsync("head")).Id);
            data.AddItem(ItemLocationEnum.Necklass, (await ItemIndexViewModel.Instance.ReadAsync("necklass")).Id);
            data.AddItem(ItemLocationEnum.PrimaryHand, (await ItemIndexViewModel.Instance.ReadAsync("PrimaryHand")).Id);
            data.AddItem(ItemLocationEnum.OffHand, (await ItemIndexViewModel.Instance.ReadAsync("OffHand")).Id);
            data.AddItem(ItemLocationEnum.RightFinger, (await ItemIndexViewModel.Instance.ReadAsync("RightFinger")).Id);
            data.AddItem(ItemLocationEnum.LeftFinger, (await ItemIndexViewModel.Instance.ReadAsync("LeftFinger")).Id);
            data.AddItem(ItemLocationEnum.Feet, (await ItemIndexViewModel.Instance.ReadAsync("feet")).Id);

            Game.Helpers.DiceHelper.EnableForcedRolls();
            Game.Helpers.DiceHelper.SetForcedRollValue(1);

            // Act

            // Add the second item, this will return the first item as the one replaced
            var result = data.GetDamageRollValue();

            // Reset
            Game.Helpers.DiceHelper.DisableForcedRolls();

            // Assert
            Assert.AreEqual(2, result);
        }
Esempio n. 22
0
        public void BasePlayerModel_LevelUpToValue_InValid_Max_Level_Should_Skip()
        {
            // Arrange
            var data = new BasePlayerModel <CharacterModel>
            {
                Level           = 1,
                ExperienceTotal = 1000000,
            };

            // Act
            var result = data.LevelUpToValue(LevelTableHelper.MaxLevel + 1);

            // Reset

            // Assert
            Assert.AreEqual(data.Level, result);
        }
Esempio n. 23
0
        public void BasePlayerModel_LevelUpToValue_InValid_Lower_Level_Should_Fail()
        {
            // Arrange
            var data = new BasePlayerModel <CharacterModel>
            {
                Level           = 5,
                ExperienceTotal = 10000,
            };

            // Act
            var result = data.LevelUpToValue(1);

            // Reset

            // Assert
            Assert.AreEqual(5, result);
        }
Esempio n. 24
0
        public void BasePlayerModel_LevelUp_InValid_Level_1_No_Experience_Should_Fail()
        {
            // Arrange
            var data = new BasePlayerModel <CharacterModel>
            {
                Level           = 1,
                ExperienceTotal = -1,
            };

            // Act
            var result = data.LevelUp();

            // Reset

            // Assert
            Assert.AreEqual(false, result);
        }
Esempio n. 25
0
        public void BasePlayerModel_LevelUp_Valid_Level_2_Should_Pass()
        {
            // Arrange
            var data = new BasePlayerModel <CharacterModel>
            {
                Level           = 1,
                ExperienceTotal = 301,
            };

            // Act
            var result = data.LevelUp();

            // Reset

            // Assert
            Assert.AreEqual(true, result);
        }
        public void BasePlayerModel_GetSpeedLevelBonus_Max_Should_Pass()
        {
            // Arrange
            var data = new BasePlayerModel <CharacterModel>();

            var original = data.Level;

            data.Level = 50;

            // Act
            var result = data.GetSpeedLevelBonus;

            // Reset
            data.Level = original;

            // Assert
            Assert.AreEqual(0, result);
        }
Esempio n. 27
0
        public void BasePlayerModel_ClearBuffs_Default_Should_Pass()
        {
            // Arrange
            var data = new BasePlayerModel <CharacterModel>();

            data.BuffAttackValue  = 1;
            data.BuffDefenseValue = 1;
            data.BuffHealthValue  = 1;
            data.BuffSpeedValue   = 1;

            // Act
            data.ClearBuffs();

            // Reset

            // Assert
            Assert.IsTrue(data.BuffHealthValue == 0 && data.BuffAttackValue == 0 && data.BuffDefenseValue == 0 && data.BuffSpeedValue == 0);
        }
Esempio n. 28
0
        public void BasePlayerModel_LevelUpToValue_Valid_Should_Pass()
        {
            // Arrange
            var TargetLevel      = 2;
            var NeededExperience = LevelTableHelper.LevelDetailsList[TargetLevel].Experience;

            var data = new BasePlayerModel <CharacterModel>
            {
                Level           = 1,
                ExperienceTotal = NeededExperience + 1
            };

            // Act
            var result = data.LevelUpToValue(2);

            // Reset

            // Assert
            Assert.AreEqual(2, result);
        }
        public async Task BasePlayerModel_GetDefenseTotal_Default_Defense_Should_Pass()
        {
            // Arrange
            // Add each model here to warm up and load it.
            Game.Helpers.DataSetsHelper.WarmUp();

            await ItemIndexViewModel.Instance.CreateAsync(new ItemModel { Attribute = AttributeEnum.Defense, Value = 1, Id = "head" });

            await ItemIndexViewModel.Instance.CreateAsync(new ItemModel { Attribute = AttributeEnum.Defense, Value = 20, Id = "Necklace" });

            await ItemIndexViewModel.Instance.CreateAsync(new ItemModel { Attribute = AttributeEnum.Defense, Value = 300, Id = "PrimaryHand" });

            await ItemIndexViewModel.Instance.CreateAsync(new ItemModel { Attribute = AttributeEnum.Defense, Value = 4000, Id = "OffHand" });

            await ItemIndexViewModel.Instance.CreateAsync(new ItemModel { Attribute = AttributeEnum.Defense, Value = 50000, Id = "RightFinger" });

            await ItemIndexViewModel.Instance.CreateAsync(new ItemModel { Attribute = AttributeEnum.Defense, Value = 600000, Id = "LeftFinger" });

            await ItemIndexViewModel.Instance.CreateAsync(new ItemModel { Attribute = AttributeEnum.Defense, Value = 7000000, Id = "feet" });

            var data = new BasePlayerModel <CharacterModel>();

            // Add the first item
            data.AddItem(ItemLocationEnum.PrimaryHand, (await ItemIndexViewModel.Instance.ReadAsync("head")).Id);
            data.AddItem(ItemLocationEnum.Necklace, (await ItemIndexViewModel.Instance.ReadAsync("Necklace")).Id);
            data.AddItem(ItemLocationEnum.PrimaryHand, (await ItemIndexViewModel.Instance.ReadAsync("PrimaryHand")).Id);
            data.AddItem(ItemLocationEnum.OffHand, (await ItemIndexViewModel.Instance.ReadAsync("OffHand")).Id);
            data.AddItem(ItemLocationEnum.RightFinger, (await ItemIndexViewModel.Instance.ReadAsync("RightFinger")).Id);
            data.AddItem(ItemLocationEnum.LeftFinger, (await ItemIndexViewModel.Instance.ReadAsync("LeftFinger")).Id);
            data.AddItem(ItemLocationEnum.Feet, (await ItemIndexViewModel.Instance.ReadAsync("feet")).Id);

            // Act

            // Add the second item, this will return the first item as the one replaced
            var result = data.GetDefenseTotal;

            // Reset

            // Assert
            Assert.AreEqual(7654321, result);
        }
Esempio n. 30
0
        public async Task BasePlayerModel_AddItem_Default_Should_Pass()
        {
            // Arrange
            var data = new BasePlayerModel <CharacterModel>();

            await ItemIndexViewModel.Instance.CreateAsync(new ItemModel { Attribute = AttributeEnum.Attack, Value = 1, Id = "head" });

            await ItemIndexViewModel.Instance.CreateAsync(new ItemModel { Attribute = AttributeEnum.Attack, Value = 20, Id = "necklass" });

            var itemOld = ItemIndexViewModel.Instance.Dataset.FirstOrDefault();

            // Act

            // Add the second item, this will return the first item as the one replaced which is null
            var result = data.AddItem(ItemLocationEnum.PrimaryHand, itemOld.Id);

            // Reset

            // Assert
            Assert.AreEqual(null, result);
        }