public void TestValidateErrorDetail( LightType type, LightmapBakeType[] bakeTypes, float minRange, float maxRange, float minIntensity, float maxIntensity, float minBounceIntensity, float maxBounceIntensity) { var rule = new LightConfigRule(string.Format("{0}Lightの設定が制限に従っていることを検証するルール", type), type, bakeTypes, minRange, maxRange, minIntensity, maxIntensity, minBounceIntensity, maxBounceIntensity); var finder = new ValidationTargetFinder(); var target = finder.Find("Assets/VitDeck/Validator/Tests/Data/LightConfigRule", true); var result = rule.Validate(target); Assert.That(result.RuleName, Is.EqualTo(string.Format("{0}Lightの設定が制限に従っていることを検証するルール", type))); Debug.Log(string.Format("{0}Lightの設定が制限に従っていることを検証するルール", type)); Assert.That(result.Issues.Count, Is.EqualTo(4)); var obj = result.Issues[0].target as GameObject; Assert.That(obj.name, Does.EndWith("_NG")); var light = obj.GetComponent <Light>(); var bakeTypeListString = string.Join(", ", bakeTypes.Select(x => x.ToString()).ToArray()); Assert.That(result.Issues[0].level, Is.EqualTo(IssueLevel.Error)); //Assert.That(result.Issues[0].message, Is.EqualTo(string.Format("{0}LightのModeが{1}以外に設定されています。({2})", // type, bakeTypeListString, light.lightmapBakeType))); //Assert.That(result.Issues[0].solution, Is.EqualTo(string.Format("Modeを{0}に設定して下さい。", bakeTypeListString))); Debug.Log(result.Issues[0].message); Debug.Log(result.Issues[0].solution); obj = result.Issues[1].target as GameObject; Assert.That(obj.name, Does.EndWith("_NG")); light = obj.GetComponent <Light>(); Assert.That(result.Issues[1].level, Is.EqualTo(IssueLevel.Error)); //Assert.That(result.Issues[1].message, Is.EqualTo(string.Format("{0}LightのRangeが{1}~{2}の範囲を超えています。(設定値:{3})", // type, minRange, maxRange, light.range))); //Assert.That(result.Issues[1].solution, Is.EqualTo("Rangeを範囲内になるように設定して下さい。")); Debug.Log(result.Issues[1].message); Debug.Log(result.Issues[1].solution); obj = result.Issues[2].target as GameObject; Assert.That(obj.name, Does.EndWith("_NG")); light = obj.GetComponent <Light>(); Assert.That(result.Issues[2].level, Is.EqualTo(IssueLevel.Error)); //Assert.That(result.Issues[2].message, Is.EqualTo(string.Format("{0}LightのIntensityが{1}~{2}の範囲を超えています。(設定値:{3})", // type, minIntensity, maxIntensity, light.intensity))); //Assert.That(result.Issues[2].solution, Is.EqualTo("Intensityを範囲内になるように設定して下さい。")); Debug.Log(result.Issues[2].message); Debug.Log(result.Issues[2].solution); obj = result.Issues[3].target as GameObject; Assert.That(obj.name, Does.EndWith("_NG")); light = obj.GetComponent <Light>(); Assert.That(result.Issues[3].level, Is.EqualTo(IssueLevel.Error)); //Assert.That(result.Issues[3].message, Is.EqualTo(string.Format("{0}LightのIndirect Multiplierが{1}~{2}の範囲を超えています。(設定値:{3})", // type, minBounceIntensity, maxBounceIntensity, light.bounceIntensity))); //Assert.That(result.Issues[3].solution, Is.EqualTo("Indirect Multiplierを範囲内になるように設定して下さい。")); Debug.Log(result.Issues[3].message); Debug.Log(result.Issues[3].solution); }
public void TestValidate(LightType type, LightmapBakeType[] bakeTypes) { var rule = new LightConfigRule(string.Format("{0}Lightの設定が制限に従っていることを検証するルール", type), type, bakeTypes); var finder = new ValidationTargetFinder(); var target = finder.Find("Assets/VitDeck/Validator/Tests/Data/LightConfigRule", true); var result = rule.Validate(target); Assert.That(result.RuleName, Is.EqualTo(string.Format("{0}Lightの設定が制限に従っていることを検証するルール", type))); Debug.Log(string.Format("{0}Lightの設定が制限に従っていることを検証するルール", type)); Assert.That(result.Issues.Count, Is.EqualTo(0)); }
public void TestValidateErrorUnavailable() { var type = LightType.Spot; var rule = new LightConfigRule(string.Format("{0}Lightが使用されていないことを検証するルール", type), type, new LightmapBakeType[] { }); var finder = new ValidationTargetFinder(); var target = finder.Find("Assets/VitDeck/Validator/Tests/Data/LightConfigRule", true); var result = rule.Validate(target); Assert.That(result.RuleName, Is.EqualTo(string.Format("{0}Lightが使用されていないことを検証するルール", type))); Debug.Log(string.Format("{0}Lightが使用されていないことを検証するルール", type)); Assert.That(result.Issues.Count, Is.EqualTo(2)); foreach (var issue in result.Issues) { Assert.That(issue.level, Is.EqualTo(IssueLevel.Error)); //Assert.That(issue.message, Is.EqualTo(string.Format("{0}Lightは使用できません。", type))); //Assert.That(issue.solution, Is.EqualTo("削除するかTypeを変更して他のLightを使用して下さい。")); Debug.Log(issue.message); Debug.Log(issue.solution); } }
public void TestValidateErrorBakeType(LightType type, LightmapBakeType[] bakeTypes) { var rule = new LightConfigRule(string.Format("{0}Lightの設定が制限に従っていることを検証するルール", type), type, bakeTypes); var finder = new ValidationTargetFinder(); var target = finder.Find("Assets/VitDeck/Validator/Tests/Data/LightConfigRule", true); var result = rule.Validate(target); Assert.That(result.RuleName, Is.EqualTo(string.Format("{0}Lightの設定が制限に従っていることを検証するルール", type))); Debug.Log(string.Format("{0}Lightの設定が制限に従っていることを検証するルール", type)); Assert.That(result.Issues.Count, Is.EqualTo(1)); var obj = result.Issues[0].target as GameObject; Assert.That(obj.name, Does.EndWith("_NG")); var light = obj.GetComponent <Light>(); var bakeTypeListString = string.Join(", ", bakeTypes.Select(x => x.ToString()).ToArray()); Assert.That(result.Issues[0].level, Is.EqualTo(IssueLevel.Error)); //Assert.That(result.Issues[0].message, Is.EqualTo(string.Format("{0}LightのModeが{1}以外に設定されています。({2})", // type, bakeTypeListString, light.lightmapBakeType))); //Assert.That(result.Issues[0].solution, Is.EqualTo(string.Format("Modeを{0}に設定して下さい。", bakeTypeListString))); Debug.Log(result.Issues[0].message); Debug.Log(result.Issues[0].solution); }