コード例 #1
0
        public void CanSelectWeaponsBasedOnProficiencies()
        {
            var repo = new WeaponYamlGateway(WeaponYamlFile.ParseYaml());
            var prof = new WeaponProficiency("dagger");

            var results = repo.FindByProficient(new WeaponProficiency[] { prof });

            Assert.AreEqual(1, results.Count());
            Assert.AreEqual("Dagger", results.First().Name);
        }
コード例 #2
0
        public void AllImportantStatsForADaggerAreAvailable()
        {
            var repo   = new WeaponYamlGateway(WeaponYamlFile.ParseYaml());
            var dagger = repo.All().Last();

            Assert.AreEqual("Dagger", dagger.Name);
            Assert.AreEqual("1d4", dagger.Damage);
            Assert.AreEqual(1, dagger.Weight);
            Assert.AreEqual(20, dagger.CriticalThreat);
            Assert.AreEqual(2, dagger.CriticalModifier);
            Assert.AreEqual(DamageTypes.Piercing, dagger.DamageType);
            Assert.AreEqual(10, dagger.Range);
            Assert.AreEqual(WeaponType.Light, dagger.Type);
            Assert.AreEqual(WeaponGroup.LightBlades, dagger.Group);
            Assert.AreEqual(WeaponTrainingLevel.Simple, dagger.Level);
        }
コード例 #3
0
        public void AllImportantStatsForALongSwordAreAvailable()
        {
            var repo      = new WeaponYamlGateway(WeaponYamlFile.ParseYaml());
            var weapons   = repo.All();
            var longsword = weapons.First();

            Assert.AreEqual("Longsword", longsword.Name);
            Assert.AreEqual("1d8", longsword.Damage);
            Assert.AreEqual(4, longsword.Weight);
            Assert.AreEqual(19, longsword.CriticalThreat);
            Assert.AreEqual(3, longsword.CriticalModifier);
            Assert.AreEqual(DamageTypes.Slashing, longsword.DamageType);
            Assert.AreEqual(WeaponType.OneHanded, longsword.Type);
            Assert.AreEqual(WeaponGroup.HeavyBlades, longsword.Group);
            Assert.AreEqual(WeaponTrainingLevel.Martial, longsword.Level);
        }