testss
This commit is contained in:
@@ -0,0 +1,75 @@
|
||||
using UnityEngine.TestTools;
|
||||
using NUnit.Framework;
|
||||
using System.Collections;
|
||||
using UnityEngine;
|
||||
using UnityEngine.Rendering.Universal;
|
||||
using UnityEngine.Rendering;
|
||||
|
||||
[TestFixture]
|
||||
class RuntimeTests
|
||||
{
|
||||
GameObject go;
|
||||
Camera camera;
|
||||
RenderPipelineAsset currentAsset;
|
||||
|
||||
[SetUp]
|
||||
public void Setup()
|
||||
{
|
||||
go = new GameObject();
|
||||
camera = go.AddComponent<Camera>();
|
||||
currentAsset = GraphicsSettings.renderPipelineAsset;
|
||||
}
|
||||
|
||||
[TearDown]
|
||||
public void Cleanup()
|
||||
{
|
||||
GraphicsSettings.renderPipelineAsset = currentAsset;
|
||||
Object.DestroyImmediate(go);
|
||||
}
|
||||
|
||||
// When LWRP pipeline is active, lightsUseLinearIntensity must match active color space.
|
||||
[UnityTest]
|
||||
public IEnumerator PipelineHasCorrectColorSpace()
|
||||
{
|
||||
AssetCheck();
|
||||
|
||||
camera.Render();
|
||||
yield return null;
|
||||
|
||||
Assert.AreEqual(QualitySettings.activeColorSpace == ColorSpace.Linear, GraphicsSettings.lightsUseLinearIntensity,
|
||||
"GraphicsSettings.lightsUseLinearIntensity must match active color space.");
|
||||
}
|
||||
|
||||
// When switching to LWRP it sets "UniversalPipeline" as global shader tag.
|
||||
// When switching to Built-in it sets "" as global shader tag.
|
||||
#if UNITY_EDITOR // TODO This API call does not reset in player
|
||||
[UnityTest]
|
||||
public IEnumerator PipelineSetsAndRestoreGlobalShaderTagCorrectly()
|
||||
{
|
||||
AssetCheck();
|
||||
|
||||
camera.Render();
|
||||
yield return null;
|
||||
|
||||
Assert.AreEqual("UniversalPipeline,LightweightPipeline", Shader.globalRenderPipeline, "Wrong render pipeline shader tag.");
|
||||
|
||||
GraphicsSettings.renderPipelineAsset = null;
|
||||
camera.Render();
|
||||
yield return null;
|
||||
|
||||
Assert.AreEqual("", Shader.globalRenderPipeline, "Render Pipeline shader tag is not restored.");
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
void AssetCheck()
|
||||
{
|
||||
//Assert.IsNotNull(currentAsset, "Render Pipeline Asset is Null");
|
||||
// Temp fix, test passes if project isnt setup for Universal RP
|
||||
if (currentAsset == null)
|
||||
Assert.Pass("Render Pipeline Asset is Null, test pass by default");
|
||||
|
||||
Assert.AreEqual(currentAsset.GetType(), typeof(UniversalRenderPipelineAsset),
|
||||
"Pipeline Asset is not Universal RP");
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user