using NUnit.Framework; using UnityEngine; using UnityEngine.Rendering; namespace UnityEditor.Rendering.Tests { partial class RenderingDebuggerTests { class Volumes { static TestCaseData[] s_TestCaseDatasVolumeParameters = { new TestCaseData(null).Returns("N/A"), new TestCaseData(new FloatParameter(101.01f)).Returns("101.01"), new TestCaseData(new BoolParameter(true)).Returns("True"), new TestCaseData(new BoolParameter(false)).Returns("False"), new TestCaseData(new IntParameter(1000)).Returns("1000"), new TestCaseData(new ColorParameter(Color.red)).Returns("RGBA(1.000, 0.000, 0.000, 1.000)"), new TestCaseData(new IntParameter(1000, overrideState: false)).Returns("1000"), // Extract value should give the proper value }; [Test, TestCaseSource(nameof(s_TestCaseDatasVolumeParameters))] public string ExtractResult(VolumeParameter parameter) { return DebugDisplaySettingsVolume.ExtractResult(parameter); } static TestCaseData[] s_TestCaseDatasCreateParameterWidget = { new TestCaseData(null).Returns("N/A"), new TestCaseData(new FloatParameter(101.01f, overrideState: true)).Returns("101.01"), new TestCaseData(new BoolParameter(true, overrideState: true)).Returns("True"), new TestCaseData(new BoolParameter(false, overrideState: true)).Returns("False"), new TestCaseData(new IntParameter(1000, overrideState: true)).Returns("1000"), new TestCaseData(new ColorParameter(Color.red, overrideState: true)).Returns("RGBA(1.000, 0.000, 0.000, 1.000)"), new TestCaseData(new IntParameter(1000, overrideState: false)).Returns("1000"), }; [Test, TestCaseSource(nameof(s_TestCaseDatasCreateParameterWidget))] public string CreateParameterWidget(VolumeParameter parameter) { var widget = DebugDisplaySettingsVolume.WidgetFactory.CreateVolumeParameterWidget(string.Empty, false, parameter); if (widget is DebugUI.Value value) return value.getter() as string; if (widget is DebugUI.ColorField colorField) return colorField.getter().ToString(); return "Not Implemented"; } } } }