123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119 |
- using System.Collections.Generic;
- using System.Linq;
- using NUnit.Framework;
- using UnityEngine.Pool;
- using UnityEngine.Rendering.Universal;
- using Assert = UnityEngine.Assertions.Assert;
-
- namespace UnityEditor.Rendering.Universal
- {
- class PostProcessDataAnalyticsTests
- {
- private static PostProcessDataAnalytics.Analytic.PropertyToGUIDs[] s_Datas = new[]
- {
- new PostProcessDataAnalytics.Analytic.PropertyToGUIDs()
- {
- propertyName = "bloomPS",
- defaultGUID = "5f1864addb451f54bae8c86d230f736e",
- usedGUIDs = new List<string>()
- {
- "a176945d0e562084691bce8e11084c6a",
- }
- },
- new PostProcessDataAnalytics.Analytic.PropertyToGUIDs()
- {
- propertyName = "bloomPS",
- defaultGUID = "5f1864addb451f54bae8c86d230f736e",
- usedGUIDs = new List<string>()
- {
- "a176945d0e562084691bce8e11084c6a",
- "a176945d0e562084691bce8e11084c6a"
- }
- },
- new PostProcessDataAnalytics.Analytic.PropertyToGUIDs()
- {
- propertyName = "bloomPS",
- defaultGUID = "5f1864addb451f54bae8c86d230f736e",
- usedGUIDs = new List<string>()
- {
- "ace59f7f124432f4f923bd3bfa93e0ad",
- "a176945d0e562084691bce8e11084c6a"
- }
- }
- };
-
- private static IEnumerable<(string[], PostProcessDataAnalytics.Analytic.PropertyToGUIDs)> TestDataExtractData()
- {
- yield return (
- new string[]
- {
- "Packages/com.unity.render-pipelines.universal/Tests/Editor/PostProcessDataTests/PostProcessData BloomPS Different.asset",
- },
- s_Datas[0]);
-
- yield return (
- new string[]
- {
- "Packages/com.unity.render-pipelines.universal/Tests/Editor/PostProcessDataTests/PostProcessData BloomPS Different.asset",
- "Packages/com.unity.render-pipelines.universal/Tests/Editor/PostProcessDataTests/PostProcessData BloomPS Different.asset",
- },
- s_Datas[1]);
-
- yield return (
- new string[]
- {
- "Packages/com.unity.render-pipelines.universal/Tests/Editor/PostProcessDataTests/PostProcessData BloomPS Different 1.asset",
- "Packages/com.unity.render-pipelines.universal/Tests/Editor/PostProcessDataTests/PostProcessData BloomPS Different.asset",
- },
- s_Datas[2]);
- }
-
- [Test][TestCaseSource(nameof(TestDataExtractData))]
- public void DataIsExtractedCorrectly((string[] input, PostProcessDataAnalytics.Analytic.PropertyToGUIDs expected) testCase)
- {
- using (ListPool<PostProcessData>.Get(out var tmp))
- {
- foreach (var i in testCase.input)
- {
- var asset = AssetDatabase.LoadAssetAtPath<PostProcessData>(i);
- Assert.IsNotNull(asset, $"Unable to load asset at {i}");
- tmp.Add(asset);
- }
-
- var data = PostProcessDataAnalytics.Analytic.ExtractData(tmp);
- var bloom = data.FirstOrDefault(d =>
- d.propertyName.Equals(nameof(PostProcessData.ShaderResources.bloomPS)));
- Assert.IsNotNull(bloom);
- Assert.AreEqual(testCase.expected.propertyName, bloom.propertyName);
- Assert.AreEqual(testCase.expected.defaultGUID, bloom.defaultGUID);
- CollectionAssert.AreEqual(testCase.expected.usedGUIDs, bloom.usedGUIDs);
- }
- }
-
- private static IEnumerable<(PostProcessDataAnalytics.Analytic.PropertyToGUIDs, PostProcessDataAnalytics.Analytic.Usage)> TestData()
- {
- yield return (s_Datas[0], PostProcessDataAnalytics.Analytic.Usage.ModifiedForTheProject);
- yield return (s_Datas[1], PostProcessDataAnalytics.Analytic.Usage.ModifiedForTheProject);
- yield return (s_Datas[2], PostProcessDataAnalytics.Analytic.Usage.ModifiedForEachQualityLevel);
- }
-
- [Test]
- [TestCaseSource(nameof(TestData))]
- public void GenerateMapWithDifferencesTests((PostProcessDataAnalytics.Analytic.PropertyToGUIDs input, PostProcessDataAnalytics.Analytic.Usage expected) testCase)
- {
- var dataToSent =
- PostProcessDataAnalytics.Analytic.GatherDataToBeSent(new [] {testCase.input });
-
- int count = 0;
- foreach (PostProcessDataAnalytics.Analytic.AnalyticsData i in dataToSent)
- {
- if (i.property.Equals(nameof(PostProcessData.ShaderResources.bloomPS)))
- Assert.AreEqual(i.usage, testCase.expected.ToString());
-
- ++count;
- }
- Assert.AreEqual(1, count);
- }
- }
- }
|