public void TestValidateInvalidSetting()
        {
            var invalidRule  = new UsableComponentListRule(null, new ComponentReference[] { null });
            var invalidRule2 = new UsableComponentListRule("", null);
            var finder       = new ValidationTargetFinder();
            var target       = finder.Find("Assets/VitDeck/Validator/Tests/Data/UsableComponentListRule", true);
            var result       = invalidRule.Validate(target);

            Assert.That(result.Issues.Count, Is.Zero);
            var failResult = invalidRule2.Validate(target);

            Assert.That(failResult.Issues.Count, Is.Zero);
        }
        public void TestValidate()
        {
            var rule = new UsableComponentListRule("",
                                                   new ComponentReference[]
            {
                new ComponentReference("ライティング", new string[] { "UnityEngine.Light" }, ValidationLevel.ALLOW),
                new ComponentReference("Jointの使用禁止", new string[]
                {
                    "UnityEngine.CharacterJoint",
                    "UnityEngine.ConfigurableJoint",
                    "UnityEngine.FixedJoint",
                    "UnityEngine.HingeJoint",
                    "UnityEngine.SpringJoint"
                }, ValidationLevel.DISALLOW)
            });
            var finder = new ValidationTargetFinder();
            var target = finder.Find("Assets/VitDeck/Validator/Tests/Data/UsableComponentListRule", true);
            var result = rule.Validate(target);

            Assert.That(result.Issues.Count, Is.EqualTo(1));
            Assert.That(result.Issues[0].level, Is.EqualTo(IssueLevel.Error));
            Assert.That(result.Issues[0].target.name, Is.EqualTo("GameObjectWithJoint"));
        }