コード例 #1
0
        public void GenerateTurretName_WeaponHasVersion02()
        {
            TurretModel turret = new TurretModel {
                Faction = FactionType.BUC, Grade = WeaponSystemGrade.mk1, Name = "Some Weapon Name", Size = WeaponSystemSize.s, Type = WeaponSystemType.laser, Class = WeaponSystemClass.turret, Version = 2
            };
            TurretGetter turretGetter = new TurretGetter();
            MethodInfo   methodInfo   = typeof(TurretGetter).GetMethod("GenerateTurretName", BindingFlags.NonPublic | BindingFlags.Instance);

            object[] parameters = { turret };

            // Method under test
            string turretName = (string)methodInfo.Invoke(turretGetter, parameters);

            Assert.Equal("S BUC Turret Laser Mk1 02", turretName);
        }
コード例 #2
0
        public void ParseTurretSubstring_FactionFound()
        {
            const string weaponSubstring = "arg";
            TurretModel  turret          = new TurretModel();
            TurretGetter turretGetter    = new TurretGetter();
            MethodInfo   methodInfo      = typeof(TurretGetter).GetMethod("ParseTurretSubstring", BindingFlags.NonPublic | BindingFlags.Instance);

            object[] parameters = { turret, weaponSubstring };

            // Method under test
            turret = (TurretModel)methodInfo.Invoke(turretGetter, parameters);

            Assert.Equal(FactionType.ARG, turret.Faction);
            Assert.Null(turret.Size);
            Assert.Null(turret.Type);
            Assert.Null(turret.Grade);
            Assert.Null(turret.Version);
        }
コード例 #3
0
        public void ParseTurretSubstring_VersionFound_AllOthersPreviouslyPopulated()
        {
            const string weaponSubstring = "01";
            TurretGetter turretGetter    = new TurretGetter();
            TurretModel  turret          = new TurretModel {
                Faction = FactionType.BUC, Grade = WeaponSystemGrade.mk3, Name = "Some Weapon Name", Size = WeaponSystemSize.xl, Type = WeaponSystemType.laser
            };
            MethodInfo methodInfo = typeof(TurretGetter).GetMethod("ParseTurretSubstring", BindingFlags.NonPublic | BindingFlags.Instance);

            object[] parameters = { turret, weaponSubstring };

            // Method under test
            turret = (TurretModel)methodInfo.Invoke(turretGetter, parameters);

            Assert.Equal(FactionType.BUC, turret.Faction);
            Assert.Equal(WeaponSystemSize.xl, turret.Size);
            Assert.Equal(WeaponSystemType.laser, turret.Type);
            Assert.Equal(WeaponSystemGrade.mk3, turret.Grade);
            Assert.Equal(1, turret.Version);
        }
コード例 #4
0
        public void ParseTurretXml_PopulateAllXmlRelatedFields()
        {
            XmlDocument document = new XmlDocument();

            document.Load(@"DataAccess\TestData\ValidTurretXml.xml");
            TurretGetter turretGetter = new TurretGetter();
            MethodInfo   methodInfo   = typeof(TurretGetter).GetMethod("ParseTurretPropertiesXml", BindingFlags.NonPublic | BindingFlags.Instance);

            object[] parameters = { document };

            // Method under test
            Properties weaponProperties = new Properties();

            weaponProperties = (Properties)methodInfo.Invoke(turretGetter, parameters);

            Assert.Equal("bullet_gen_turret_m_laser_01_mk1_macro", weaponProperties.Bullet.Class);
            Assert.Equal(210, weaponProperties.RotationSpeed.Max);
            Assert.Equal(1, weaponProperties.Reload.Rate);
            Assert.Equal(1, weaponProperties.Reload.Time);
            Assert.Equal(.2, weaponProperties.Hull.Threshold);
            Assert.Equal(1, weaponProperties.Hull.Integrated);
        }
コード例 #5
0
        public void ParseTurretSubstring_AllParsingFails()
        {
            const string weaponSubstring = "invalid string to parse";
            TurretModel  turret          = new TurretModel();
            TurretGetter turretGetter    = new TurretGetter();
            MethodInfo   methodInfo      = typeof(TurretGetter).GetMethod("ParseTurretSubstring", BindingFlags.NonPublic | BindingFlags.Instance);

            object[] parameters = { turret, weaponSubstring };


            // Method under test
            void Action() => turret = (TurretModel)methodInfo.Invoke(turretGetter, parameters);

            Exception exception = Assert.Throws <TargetInvocationException>(Action);

            Assert.Equal($"Failed to parse turret substring \"{weaponSubstring}\"", exception.InnerException.Message);

            Assert.Null(turret.Faction);
            Assert.Null(turret.Size);
            Assert.Null(turret.Type);
            Assert.Null(turret.Grade);
            Assert.Null(turret.Version);
        }