diff --git a/CHANGELOG.md b/CHANGELOG.md index 91eb9c8f3..d47e47fd5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,7 +7,12 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. ## Unreleased +### Internal + +- [UUM-138957] Removed ProBuilder Runtime tests references to UnityEditor. + ### Changes + - [UUM-138960] Removed a large utility dictionary to reduce binary size and runtime memory overhead. ### Fixed diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime.meta b/Tests/Editor/Import.meta similarity index 77% rename from Tests/Templates/UnityEngine.Mesh/Runtime.meta rename to Tests/Editor/Import.meta index dd22df69e..dea472a7c 100644 --- a/Tests/Templates/UnityEngine.Mesh/Runtime.meta +++ b/Tests/Editor/Import.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 23935589e5d941d40963ac450d62aa0c +guid: f2a1543a19694774482e0767374e6752 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Tests/Runtime/MeshOps/ProBuilderizeTests.cs b/Tests/Editor/Import/MeshImporterTests.cs similarity index 86% rename from Tests/Runtime/MeshOps/ProBuilderizeTests.cs rename to Tests/Editor/Import/MeshImporterTests.cs index 41b365c4a..ba1c86934 100644 --- a/Tests/Runtime/MeshOps/ProBuilderizeTests.cs +++ b/Tests/Editor/Import/MeshImporterTests.cs @@ -8,7 +8,7 @@ using UnityEngine.ProBuilder.MeshOperations; using UnityEngine.ProBuilder.Shapes; -class ProBuilderizeTests : TemporaryAssetTest +class MeshImporterTests : TemporaryAssetTest { [Test] public static void ImportCube_MatchesDefaultCube() @@ -50,20 +50,20 @@ public static void ImportQuads_MatchesWindingOrder() Assert.IsNotNull(source); var instance = (GameObject)UObject.Instantiate(source); - var mf = instance.gameObject.GetComponent(); - var mr = instance.gameObject.GetComponent(); + var mf = instance.gameObject.GetComponent(); + var mr = instance.gameObject.GetComponent(); var result = new GameObject().AddComponent(); - var importer = new MeshImporter(mf.sharedMesh, mr.sharedMaterials, result); + var importer = new MeshImporter(mf.sharedMesh, mr.sharedMaterials, result); - Assert.DoesNotThrow(() => + Assert.DoesNotThrow(() => + { + importer.Import(new MeshImportSettings() { - importer.Import(new MeshImportSettings() - { - quads = true, - smoothing = false, - smoothingAngle = 1f - }); + quads = true, + smoothing = false, + smoothingAngle = 1f }); + }); result.Rebuild(); diff --git a/Tests/Runtime/MeshOps/ProBuilderizeTests.cs.meta b/Tests/Editor/Import/MeshImporterTests.cs.meta similarity index 100% rename from Tests/Runtime/MeshOps/ProBuilderizeTests.cs.meta rename to Tests/Editor/Import/MeshImporterTests.cs.meta diff --git a/Tests/Framework/TestUtility.cs b/Tests/Framework/TestUtility.cs index 0b62e2f6d..1699c4beb 100644 --- a/Tests/Framework/TestUtility.cs +++ b/Tests/Framework/TestUtility.cs @@ -85,53 +85,6 @@ public static string temporarySavedAssetsDirectory get { return k_TempDirectory; } } - public class BuiltInPrimitives : IDisposable, IEnumerable - { - ProBuilderMesh[] m_Shapes; - - public static ProBuilderMesh[] GetBasicShapes() - { - var shapes = Enum.GetValues(typeof(ShapeType)) as ShapeType[]; - ProBuilderMesh[] primitives = new ProBuilderMesh[shapes.Length]; - - for (int i = 0, c = shapes.Length; i < c; i++) - { - primitives[i] = ShapeGenerator.CreateShape(shapes[i]); - primitives[i].GetComponent().sharedMesh.name = shapes[i].ToString(); - } - return primitives; - } - - public BuiltInPrimitives() - { - m_Shapes = GetBasicShapes(); - } - - public int Count { get { return m_Shapes.Length; } } - - public ProBuilderMesh this[int i] - { - get { return m_Shapes[i]; } - set { m_Shapes[i] = value; } - } - - public void Dispose() - { - for (int i = 0, c = m_Shapes.Length; i < c; i++) - UObject.DestroyImmediate(m_Shapes[i].gameObject); - } - - IEnumerator IEnumerable.GetEnumerator() - { - return ((IEnumerable)m_Shapes).GetEnumerator(); - } - - public IEnumerator GetEnumerator() - { - return m_Shapes.GetEnumerator(); - } - } - public class IgnoreAssertScope : IDisposable { bool m_SavedState; @@ -158,14 +111,6 @@ static string ToAssetPath(string path) return path.Replace("\\", "/").Replace(Application.dataPath, "Assets/"); } - public static void AssertSequenceEqual(IList left, IList right) - { - Assert.AreEqual(left.Count, right.Count, "Count"); - - for (int i = 0, c = left.Count; i < c; i++) - Assert.AreEqual(left[i], right[i], "index " + i); - } - public static void AssertMeshAttributesValid(Mesh mesh) { int vertexCount = mesh.vertexCount; @@ -529,45 +474,6 @@ public static Material greenMaterial get { return AssetDatabase.LoadAssetAtPath(k_GreenMaterialPath); } } - public static SimpleTuple CreateCubeWithNonContiguousMergedFace() - { - var cube = ShapeFactory.Instantiate(); - - Assume.That(cube, Is.Not.Null); - - int index = 1; - Face a = cube.faces[0], b = cube.faces[index++]; - Assume.That(a, Is.Not.Null); - Assume.That(b, Is.Not.Null); - - while (FacesAreAdjacent(cube, a, b) && index < cube.faceCount) - b = cube.faces[index++]; - - Assume.That(FacesAreAdjacent(cube, a, b), Is.False); - - var res = MergeElements.Merge(cube, new Face[] { a, b }); - - return new SimpleTuple(cube, res); - } - - static bool FacesAreAdjacent(ProBuilderMesh mesh, Face a, Face b) - { - for (int i = 0, c = a.edgesInternal.Length; i < c; i++) - { - var ea = mesh.GetSharedVertexHandleEdge(a.edgesInternal[i]); - - for (int n = 0; n < b.edgesInternal.Length; n++) - { - var eb = mesh.GetSharedVertexHandleEdge(b.edgesInternal[n]); - - if (ea == eb) - return true; - } - } - - return false; - } - public static void AssertMeshIsValid(ProBuilderMesh mesh) { Assert.That(mesh, Is.Not.Null); diff --git a/Tests/Framework/Unity.ProBuilder.Tests.Framework.asmdef b/Tests/Framework/Unity.ProBuilder.Tests.Framework.asmdef index c8706bc58..85836323c 100644 --- a/Tests/Framework/Unity.ProBuilder.Tests.Framework.asmdef +++ b/Tests/Framework/Unity.ProBuilder.Tests.Framework.asmdef @@ -6,7 +6,9 @@ "optionalUnityReferences": [ "TestAssemblies" ], - "includePlatforms": [], + "includePlatforms": [ + "Editor" + ], "excludePlatforms": [], "allowUnsafeCode": false } \ No newline at end of file diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps.meta b/Tests/Resources.meta similarity index 77% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps.meta rename to Tests/Resources.meta index ef1794190..85508aa3e 100644 --- a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps.meta +++ b/Tests/Resources.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: a9bd3ec7eef4d614993195d77d36cc59 +guid: 0b637ca63549f0b43834723cbb7831f6 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/Shape.meta b/Tests/Resources/UnityEngine.Mesh.meta similarity index 77% rename from Tests/Templates/UnityEngine.Mesh/Runtime/Shape.meta rename to Tests/Resources/UnityEngine.Mesh.meta index bbd0c7fa3..eb79886dc 100644 --- a/Tests/Templates/UnityEngine.Mesh/Runtime/Shape.meta +++ b/Tests/Resources/UnityEngine.Mesh.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 674c1c83546fb6542b3be7198d0b3664 +guid: 25b6775c85adb4b429570046ad608766 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/BridgeEdgesTests.meta b/Tests/Resources/UnityEngine.Mesh/BridgeEdgesTests.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/BridgeEdgesTests.meta rename to Tests/Resources/UnityEngine.Mesh/BridgeEdgesTests.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/BridgeEdgesTests/Bridge_TwoConnectedEdges_CreatesTriangle.meta b/Tests/Resources/UnityEngine.Mesh/BridgeEdgesTests/Bridge_TwoConnectedEdges_CreatesTriangle.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/BridgeEdgesTests/Bridge_TwoConnectedEdges_CreatesTriangle.meta rename to Tests/Resources/UnityEngine.Mesh/BridgeEdgesTests/Bridge_TwoConnectedEdges_CreatesTriangle.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/BridgeEdgesTests/Bridge_TwoConnectedEdges_CreatesTriangle/Cube.asset b/Tests/Resources/UnityEngine.Mesh/BridgeEdgesTests/Bridge_TwoConnectedEdges_CreatesTriangle/Cube.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/BridgeEdgesTests/Bridge_TwoConnectedEdges_CreatesTriangle/Cube.asset rename to Tests/Resources/UnityEngine.Mesh/BridgeEdgesTests/Bridge_TwoConnectedEdges_CreatesTriangle/Cube.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/BridgeEdgesTests/Bridge_TwoConnectedEdges_CreatesTriangle/Cube.asset.meta b/Tests/Resources/UnityEngine.Mesh/BridgeEdgesTests/Bridge_TwoConnectedEdges_CreatesTriangle/Cube.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/BridgeEdgesTests/Bridge_TwoConnectedEdges_CreatesTriangle/Cube.asset.meta rename to Tests/Resources/UnityEngine.Mesh/BridgeEdgesTests/Bridge_TwoConnectedEdges_CreatesTriangle/Cube.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/BridgeEdgesTests/Bridge_TwoEdges_CreatesQuad.meta b/Tests/Resources/UnityEngine.Mesh/BridgeEdgesTests/Bridge_TwoEdges_CreatesQuad.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/BridgeEdgesTests/Bridge_TwoEdges_CreatesQuad.meta rename to Tests/Resources/UnityEngine.Mesh/BridgeEdgesTests/Bridge_TwoEdges_CreatesQuad.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/BridgeEdgesTests/Bridge_TwoEdges_CreatesQuad/Cube.asset b/Tests/Resources/UnityEngine.Mesh/BridgeEdgesTests/Bridge_TwoEdges_CreatesQuad/Cube.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/BridgeEdgesTests/Bridge_TwoEdges_CreatesQuad/Cube.asset rename to Tests/Resources/UnityEngine.Mesh/BridgeEdgesTests/Bridge_TwoEdges_CreatesQuad/Cube.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/BridgeEdgesTests/Bridge_TwoEdges_CreatesQuad/Cube.asset.meta b/Tests/Resources/UnityEngine.Mesh/BridgeEdgesTests/Bridge_TwoEdges_CreatesQuad/Cube.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/BridgeEdgesTests/Bridge_TwoEdges_CreatesQuad/Cube.asset.meta rename to Tests/Resources/UnityEngine.Mesh/BridgeEdgesTests/Bridge_TwoEdges_CreatesQuad/Cube.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/CollapseVerticesTests.meta b/Tests/Resources/UnityEngine.Mesh/CollapseVerticesTests.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/CollapseVerticesTests.meta rename to Tests/Resources/UnityEngine.Mesh/CollapseVerticesTests.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/CollapseVerticesTests/CollapseToCenter_MatchesTemplate.meta b/Tests/Resources/UnityEngine.Mesh/CollapseVerticesTests/CollapseToCenter_MatchesTemplate.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/CollapseVerticesTests/CollapseToCenter_MatchesTemplate.meta rename to Tests/Resources/UnityEngine.Mesh/CollapseVerticesTests/CollapseToCenter_MatchesTemplate.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/CollapseVerticesTests/CollapseToCenter_MatchesTemplate/Cube.asset b/Tests/Resources/UnityEngine.Mesh/CollapseVerticesTests/CollapseToCenter_MatchesTemplate/Cube.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/CollapseVerticesTests/CollapseToCenter_MatchesTemplate/Cube.asset rename to Tests/Resources/UnityEngine.Mesh/CollapseVerticesTests/CollapseToCenter_MatchesTemplate/Cube.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/CollapseVerticesTests/CollapseToCenter_MatchesTemplate/Cube.asset.meta b/Tests/Resources/UnityEngine.Mesh/CollapseVerticesTests/CollapseToCenter_MatchesTemplate/Cube.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/CollapseVerticesTests/CollapseToCenter_MatchesTemplate/Cube.asset.meta rename to Tests/Resources/UnityEngine.Mesh/CollapseVerticesTests/CollapseToCenter_MatchesTemplate/Cube.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/CollapseVerticesTests/CollapseToFirst_MatchesTemplate.meta b/Tests/Resources/UnityEngine.Mesh/CollapseVerticesTests/CollapseToFirst_MatchesTemplate.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/CollapseVerticesTests/CollapseToFirst_MatchesTemplate.meta rename to Tests/Resources/UnityEngine.Mesh/CollapseVerticesTests/CollapseToFirst_MatchesTemplate.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/CollapseVerticesTests/CollapseToFirst_MatchesTemplate/Cube.asset b/Tests/Resources/UnityEngine.Mesh/CollapseVerticesTests/CollapseToFirst_MatchesTemplate/Cube.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/CollapseVerticesTests/CollapseToFirst_MatchesTemplate/Cube.asset rename to Tests/Resources/UnityEngine.Mesh/CollapseVerticesTests/CollapseToFirst_MatchesTemplate/Cube.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/CollapseVerticesTests/CollapseToFirst_MatchesTemplate/Cube.asset.meta b/Tests/Resources/UnityEngine.Mesh/CollapseVerticesTests/CollapseToFirst_MatchesTemplate/Cube.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/CollapseVerticesTests/CollapseToFirst_MatchesTemplate/Cube.asset.meta rename to Tests/Resources/UnityEngine.Mesh/CollapseVerticesTests/CollapseToFirst_MatchesTemplate/Cube.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/DeleteElementsTests.meta b/Tests/Resources/UnityEngine.Mesh/DeleteElementsTests.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/DeleteElementsTests.meta rename to Tests/Resources/UnityEngine.Mesh/DeleteElementsTests.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh.meta b/Tests/Resources/UnityEngine.Mesh/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh.meta rename to Tests/Resources/UnityEngine.Mesh/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Arch.asset b/Tests/Resources/UnityEngine.Mesh/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Arch.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Arch.asset rename to Tests/Resources/UnityEngine.Mesh/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Arch.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Arch.asset.meta b/Tests/Resources/UnityEngine.Mesh/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Arch.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Arch.asset.meta rename to Tests/Resources/UnityEngine.Mesh/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Arch.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Cone.asset b/Tests/Resources/UnityEngine.Mesh/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Cone.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Cone.asset rename to Tests/Resources/UnityEngine.Mesh/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Cone.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Cone.asset.meta b/Tests/Resources/UnityEngine.Mesh/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Cone.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Cone.asset.meta rename to Tests/Resources/UnityEngine.Mesh/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Cone.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Cube.asset b/Tests/Resources/UnityEngine.Mesh/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Cube.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Cube.asset rename to Tests/Resources/UnityEngine.Mesh/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Cube.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Cube.asset.meta b/Tests/Resources/UnityEngine.Mesh/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Cube.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Cube.asset.meta rename to Tests/Resources/UnityEngine.Mesh/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Cube.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/CurvedStair.asset b/Tests/Resources/UnityEngine.Mesh/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/CurvedStair.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/CurvedStair.asset rename to Tests/Resources/UnityEngine.Mesh/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/CurvedStair.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/CurvedStair.asset.meta b/Tests/Resources/UnityEngine.Mesh/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/CurvedStair.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/CurvedStair.asset.meta rename to Tests/Resources/UnityEngine.Mesh/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/CurvedStair.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Cylinder.asset b/Tests/Resources/UnityEngine.Mesh/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Cylinder.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Cylinder.asset rename to Tests/Resources/UnityEngine.Mesh/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Cylinder.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Cylinder.asset.meta b/Tests/Resources/UnityEngine.Mesh/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Cylinder.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Cylinder.asset.meta rename to Tests/Resources/UnityEngine.Mesh/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Cylinder.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Door.asset b/Tests/Resources/UnityEngine.Mesh/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Door.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Door.asset rename to Tests/Resources/UnityEngine.Mesh/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Door.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Door.asset.meta b/Tests/Resources/UnityEngine.Mesh/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Door.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Door.asset.meta rename to Tests/Resources/UnityEngine.Mesh/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Door.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Pipe.asset b/Tests/Resources/UnityEngine.Mesh/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Pipe.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Pipe.asset rename to Tests/Resources/UnityEngine.Mesh/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Pipe.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Pipe.asset.meta b/Tests/Resources/UnityEngine.Mesh/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Pipe.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Pipe.asset.meta rename to Tests/Resources/UnityEngine.Mesh/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Pipe.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Plane.asset b/Tests/Resources/UnityEngine.Mesh/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Plane.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Plane.asset rename to Tests/Resources/UnityEngine.Mesh/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Plane.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Plane.asset.meta b/Tests/Resources/UnityEngine.Mesh/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Plane.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Plane.asset.meta rename to Tests/Resources/UnityEngine.Mesh/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Plane.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Prism.asset b/Tests/Resources/UnityEngine.Mesh/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Prism.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Prism.asset rename to Tests/Resources/UnityEngine.Mesh/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Prism.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Prism.asset.meta b/Tests/Resources/UnityEngine.Mesh/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Prism.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Prism.asset.meta rename to Tests/Resources/UnityEngine.Mesh/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Prism.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Sphere.asset b/Tests/Resources/UnityEngine.Mesh/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Sphere.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Sphere.asset rename to Tests/Resources/UnityEngine.Mesh/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Sphere.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Sphere.asset.meta b/Tests/Resources/UnityEngine.Mesh/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Sphere.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Sphere.asset.meta rename to Tests/Resources/UnityEngine.Mesh/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Sphere.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Sprite.asset b/Tests/Resources/UnityEngine.Mesh/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Sprite.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Sprite.asset rename to Tests/Resources/UnityEngine.Mesh/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Sprite.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Sprite.asset.meta b/Tests/Resources/UnityEngine.Mesh/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Sprite.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Sprite.asset.meta rename to Tests/Resources/UnityEngine.Mesh/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Sprite.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Stair.asset b/Tests/Resources/UnityEngine.Mesh/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Stair.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Stair.asset rename to Tests/Resources/UnityEngine.Mesh/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Stair.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Stair.asset.meta b/Tests/Resources/UnityEngine.Mesh/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Stair.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Stair.asset.meta rename to Tests/Resources/UnityEngine.Mesh/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Stair.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Torus.asset b/Tests/Resources/UnityEngine.Mesh/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Torus.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Torus.asset rename to Tests/Resources/UnityEngine.Mesh/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Torus.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Torus.asset.meta b/Tests/Resources/UnityEngine.Mesh/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Torus.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Torus.asset.meta rename to Tests/Resources/UnityEngine.Mesh/DeleteElementsTests/DeleteFirstFace_CreatesValidMesh/Torus.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests.meta b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests.meta rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_FaceNormal.meta b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_FaceNormal.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_FaceNormal.meta rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_FaceNormal.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Arch.asset b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Arch.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Arch.asset rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Arch.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Arch.asset.meta b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Arch.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Arch.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Arch.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Cone.asset b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Cone.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Cone.asset rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Cone.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Cone.asset.meta b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Cone.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Cone.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Cone.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Cube.asset b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Cube.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Cube.asset rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Cube.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Cube.asset.meta b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Cube.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Cube.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Cube.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_FaceNormal/CurvedStair.asset b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_FaceNormal/CurvedStair.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_FaceNormal/CurvedStair.asset rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_FaceNormal/CurvedStair.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_FaceNormal/CurvedStair.asset.meta b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_FaceNormal/CurvedStair.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_FaceNormal/CurvedStair.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_FaceNormal/CurvedStair.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Cylinder.asset b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Cylinder.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Cylinder.asset rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Cylinder.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Cylinder.asset.meta b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Cylinder.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Cylinder.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Cylinder.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Door.asset b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Door.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Door.asset rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Door.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Door.asset.meta b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Door.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Door.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Door.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Pipe.asset b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Pipe.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Pipe.asset rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Pipe.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Pipe.asset.meta b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Pipe.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Pipe.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Pipe.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Plane.asset b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Plane.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Plane.asset rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Plane.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Plane.asset.meta b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Plane.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Plane.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Plane.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Prism.asset b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Prism.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Prism.asset rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Prism.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Prism.asset.meta b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Prism.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Prism.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Prism.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Sphere.asset b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Sphere.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Sphere.asset rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Sphere.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Sphere.asset.meta b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Sphere.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Sphere.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Sphere.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Sprite.asset b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Sprite.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Sprite.asset rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Sprite.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Sprite.asset.meta b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Sprite.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Sprite.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Sprite.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Stair.asset b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Stair.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Stair.asset rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Stair.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Stair.asset.meta b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Stair.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Stair.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Stair.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Torus.asset b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Torus.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Torus.asset rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Torus.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Torus.asset.meta b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Torus.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Torus.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_FaceNormal/Torus.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_IndividualFaces.meta b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_IndividualFaces.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_IndividualFaces.meta rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_IndividualFaces.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Arch.asset b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Arch.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Arch.asset rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Arch.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Arch.asset.meta b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Arch.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Arch.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Arch.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Cone.asset b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Cone.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Cone.asset rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Cone.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Cone.asset.meta b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Cone.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Cone.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Cone.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Cube.asset b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Cube.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Cube.asset rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Cube.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Cube.asset.meta b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Cube.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Cube.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Cube.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/CurvedStair.asset b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/CurvedStair.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/CurvedStair.asset rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/CurvedStair.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/CurvedStair.asset.meta b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/CurvedStair.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/CurvedStair.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/CurvedStair.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Cylinder.asset b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Cylinder.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Cylinder.asset rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Cylinder.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Cylinder.asset.meta b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Cylinder.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Cylinder.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Cylinder.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Door.asset b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Door.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Door.asset rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Door.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Door.asset.meta b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Door.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Door.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Door.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Pipe.asset b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Pipe.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Pipe.asset rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Pipe.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Pipe.asset.meta b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Pipe.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Pipe.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Pipe.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Plane.asset b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Plane.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Plane.asset rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Plane.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Plane.asset.meta b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Plane.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Plane.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Plane.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Prism.asset b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Prism.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Prism.asset rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Prism.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Prism.asset.meta b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Prism.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Prism.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Prism.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Sphere.asset b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Sphere.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Sphere.asset rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Sphere.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Sphere.asset.meta b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Sphere.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Sphere.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Sphere.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Sprite.asset b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Sprite.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Sprite.asset rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Sprite.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Sprite.asset.meta b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Sprite.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Sprite.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Sprite.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Stair.asset b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Stair.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Stair.asset rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Stair.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Stair.asset.meta b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Stair.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Stair.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Stair.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Torus.asset b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Torus.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Torus.asset rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Torus.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Torus.asset.meta b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Torus.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Torus.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_IndividualFaces/Torus.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_VertexNormal.meta b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_VertexNormal.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_VertexNormal.meta rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_VertexNormal.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Arch.asset b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Arch.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Arch.asset rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Arch.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Arch.asset.meta b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Arch.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Arch.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Arch.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Cone.asset b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Cone.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Cone.asset rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Cone.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Cone.asset.meta b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Cone.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Cone.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Cone.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Cube.asset b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Cube.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Cube.asset rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Cube.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Cube.asset.meta b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Cube.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Cube.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Cube.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_VertexNormal/CurvedStair.asset b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_VertexNormal/CurvedStair.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_VertexNormal/CurvedStair.asset rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_VertexNormal/CurvedStair.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_VertexNormal/CurvedStair.asset.meta b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_VertexNormal/CurvedStair.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_VertexNormal/CurvedStair.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_VertexNormal/CurvedStair.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Cylinder.asset b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Cylinder.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Cylinder.asset rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Cylinder.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Cylinder.asset.meta b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Cylinder.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Cylinder.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Cylinder.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Door.asset b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Door.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Door.asset rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Door.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Door.asset.meta b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Door.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Door.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Door.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Pipe.asset b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Pipe.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Pipe.asset rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Pipe.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Pipe.asset.meta b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Pipe.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Pipe.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Pipe.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Plane.asset b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Plane.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Plane.asset rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Plane.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Plane.asset.meta b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Plane.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Plane.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Plane.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Prism.asset b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Prism.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Prism.asset rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Prism.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Prism.asset.meta b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Prism.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Prism.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Prism.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Sphere.asset b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Sphere.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Sphere.asset rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Sphere.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Sphere.asset.meta b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Sphere.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Sphere.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Sphere.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Sprite.asset b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Sprite.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Sprite.asset rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Sprite.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Sprite.asset.meta b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Sprite.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Sprite.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Sprite.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Stair.asset b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Stair.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Stair.asset rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Stair.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Stair.asset.meta b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Stair.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Stair.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Stair.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Torus.asset b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Torus.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Torus.asset rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Torus.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Torus.asset.meta b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Torus.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Torus.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/ExtrudeAllFaces_VertexNormal/Torus.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/Extrude_Face_CreatesValidGeometry.meta b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/Extrude_Face_CreatesValidGeometry.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/Extrude_Face_CreatesValidGeometry.meta rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/Extrude_Face_CreatesValidGeometry.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Arch.asset b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Arch.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Arch.asset rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Arch.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Arch.asset.meta b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Arch.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Arch.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Arch.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Cone.asset b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Cone.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Cone.asset rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Cone.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Cone.asset.meta b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Cone.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Cone.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Cone.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Cube.asset b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Cube.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Cube.asset rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Cube.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Cube.asset.meta b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Cube.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Cube.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Cube.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/Extrude_Face_CreatesValidGeometry/CurvedStair.asset b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/Extrude_Face_CreatesValidGeometry/CurvedStair.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/Extrude_Face_CreatesValidGeometry/CurvedStair.asset rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/Extrude_Face_CreatesValidGeometry/CurvedStair.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/Extrude_Face_CreatesValidGeometry/CurvedStair.asset.meta b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/Extrude_Face_CreatesValidGeometry/CurvedStair.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/Extrude_Face_CreatesValidGeometry/CurvedStair.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/Extrude_Face_CreatesValidGeometry/CurvedStair.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Cylinder.asset b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Cylinder.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Cylinder.asset rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Cylinder.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Cylinder.asset.meta b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Cylinder.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Cylinder.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Cylinder.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Door.asset b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Door.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Door.asset rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Door.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Door.asset.meta b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Door.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Door.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Door.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Pipe.asset b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Pipe.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Pipe.asset rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Pipe.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Pipe.asset.meta b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Pipe.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Pipe.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Pipe.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Plane.asset b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Plane.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Plane.asset rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Plane.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Plane.asset.meta b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Plane.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Plane.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Plane.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Prism.asset b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Prism.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Prism.asset rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Prism.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Prism.asset.meta b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Prism.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Prism.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Prism.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Sphere.asset b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Sphere.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Sphere.asset rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Sphere.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Sphere.asset.meta b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Sphere.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Sphere.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Sphere.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Sprite.asset b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Sprite.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Sprite.asset rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Sprite.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Sprite.asset.meta b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Sprite.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Sprite.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Sprite.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Stair.asset b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Stair.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Stair.asset rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Stair.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Stair.asset.meta b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Stair.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Stair.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Stair.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Torus.asset b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Torus.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Torus.asset rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Torus.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Torus.asset.meta b/Tests/Resources/UnityEngine.Mesh/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Torus.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Torus.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ExtrudeTests/Extrude_Face_CreatesValidGeometry/Torus.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ProBuilderizeTests.meta b/Tests/Resources/UnityEngine.Mesh/ProBuilderizeTests.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ProBuilderizeTests.meta rename to Tests/Resources/UnityEngine.Mesh/ProBuilderizeTests.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ProBuilderizeTests/ImportQuads_MatchesWindingOrder.meta b/Tests/Resources/UnityEngine.Mesh/ProBuilderizeTests/ImportQuads_MatchesWindingOrder.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ProBuilderizeTests/ImportQuads_MatchesWindingOrder.meta rename to Tests/Resources/UnityEngine.Mesh/ProBuilderizeTests/ImportQuads_MatchesWindingOrder.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ProBuilderizeTests/ImportQuads_MatchesWindingOrder/imported-cube-quads.asset b/Tests/Resources/UnityEngine.Mesh/ProBuilderizeTests/ImportQuads_MatchesWindingOrder/imported-cube-quads.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ProBuilderizeTests/ImportQuads_MatchesWindingOrder/imported-cube-quads.asset rename to Tests/Resources/UnityEngine.Mesh/ProBuilderizeTests/ImportQuads_MatchesWindingOrder/imported-cube-quads.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ProBuilderizeTests/ImportQuads_MatchesWindingOrder/imported-cube-quads.asset.meta b/Tests/Resources/UnityEngine.Mesh/ProBuilderizeTests/ImportQuads_MatchesWindingOrder/imported-cube-quads.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ProBuilderizeTests/ImportQuads_MatchesWindingOrder/imported-cube-quads.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ProBuilderizeTests/ImportQuads_MatchesWindingOrder/imported-cube-quads.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ProBuilderizeTests/ImportQuads_MatchesWindingOrder/imported-cube-triangles.asset b/Tests/Resources/UnityEngine.Mesh/ProBuilderizeTests/ImportQuads_MatchesWindingOrder/imported-cube-triangles.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ProBuilderizeTests/ImportQuads_MatchesWindingOrder/imported-cube-triangles.asset rename to Tests/Resources/UnityEngine.Mesh/ProBuilderizeTests/ImportQuads_MatchesWindingOrder/imported-cube-triangles.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ProBuilderizeTests/ImportQuads_MatchesWindingOrder/imported-cube-triangles.asset.meta b/Tests/Resources/UnityEngine.Mesh/ProBuilderizeTests/ImportQuads_MatchesWindingOrder/imported-cube-triangles.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/ProBuilderizeTests/ImportQuads_MatchesWindingOrder/imported-cube-triangles.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ProBuilderizeTests/ImportQuads_MatchesWindingOrder/imported-cube-triangles.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/Shape/ShapeGeneratorTests.meta b/Tests/Resources/UnityEngine.Mesh/ShapeGeneratorTests.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/Shape/ShapeGeneratorTests.meta rename to Tests/Resources/UnityEngine.Mesh/ShapeGeneratorTests.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/Shape/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate.meta b/Tests/Resources/UnityEngine.Mesh/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/Shape/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate.meta rename to Tests/Resources/UnityEngine.Mesh/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/Shape/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Arch.asset b/Tests/Resources/UnityEngine.Mesh/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Arch.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/Shape/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Arch.asset rename to Tests/Resources/UnityEngine.Mesh/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Arch.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/Shape/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Arch.asset.meta b/Tests/Resources/UnityEngine.Mesh/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Arch.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/Shape/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Arch.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Arch.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/Shape/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Cone.asset b/Tests/Resources/UnityEngine.Mesh/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Cone.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/Shape/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Cone.asset rename to Tests/Resources/UnityEngine.Mesh/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Cone.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/Shape/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Cone.asset.meta b/Tests/Resources/UnityEngine.Mesh/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Cone.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/Shape/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Cone.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Cone.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/Shape/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Cube.asset b/Tests/Resources/UnityEngine.Mesh/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Cube.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/Shape/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Cube.asset rename to Tests/Resources/UnityEngine.Mesh/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Cube.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/Shape/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Cube.asset.meta b/Tests/Resources/UnityEngine.Mesh/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Cube.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/Shape/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Cube.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Cube.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/Shape/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/CurvedStair.asset b/Tests/Resources/UnityEngine.Mesh/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/CurvedStair.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/Shape/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/CurvedStair.asset rename to Tests/Resources/UnityEngine.Mesh/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/CurvedStair.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/Shape/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/CurvedStair.asset.meta b/Tests/Resources/UnityEngine.Mesh/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/CurvedStair.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/Shape/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/CurvedStair.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/CurvedStair.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/Shape/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Cylinder.asset b/Tests/Resources/UnityEngine.Mesh/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Cylinder.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/Shape/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Cylinder.asset rename to Tests/Resources/UnityEngine.Mesh/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Cylinder.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/Shape/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Cylinder.asset.meta b/Tests/Resources/UnityEngine.Mesh/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Cylinder.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/Shape/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Cylinder.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Cylinder.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/Shape/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Door.asset b/Tests/Resources/UnityEngine.Mesh/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Door.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/Shape/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Door.asset rename to Tests/Resources/UnityEngine.Mesh/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Door.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/Shape/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Door.asset.meta b/Tests/Resources/UnityEngine.Mesh/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Door.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/Shape/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Door.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Door.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/Shape/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Pipe.asset b/Tests/Resources/UnityEngine.Mesh/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Pipe.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/Shape/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Pipe.asset rename to Tests/Resources/UnityEngine.Mesh/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Pipe.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/Shape/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Pipe.asset.meta b/Tests/Resources/UnityEngine.Mesh/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Pipe.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/Shape/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Pipe.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Pipe.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/Shape/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Plane.asset b/Tests/Resources/UnityEngine.Mesh/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Plane.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/Shape/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Plane.asset rename to Tests/Resources/UnityEngine.Mesh/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Plane.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/Shape/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Plane.asset.meta b/Tests/Resources/UnityEngine.Mesh/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Plane.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/Shape/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Plane.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Plane.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/Shape/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Prism.asset b/Tests/Resources/UnityEngine.Mesh/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Prism.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/Shape/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Prism.asset rename to Tests/Resources/UnityEngine.Mesh/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Prism.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/Shape/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Prism.asset.meta b/Tests/Resources/UnityEngine.Mesh/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Prism.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/Shape/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Prism.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Prism.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/Shape/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Sphere.asset b/Tests/Resources/UnityEngine.Mesh/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Sphere.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/Shape/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Sphere.asset rename to Tests/Resources/UnityEngine.Mesh/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Sphere.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/Shape/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Sphere.asset.meta b/Tests/Resources/UnityEngine.Mesh/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Sphere.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/Shape/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Sphere.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Sphere.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/Shape/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Sprite.asset b/Tests/Resources/UnityEngine.Mesh/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Sprite.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/Shape/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Sprite.asset rename to Tests/Resources/UnityEngine.Mesh/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Sprite.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/Shape/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Sprite.asset.meta b/Tests/Resources/UnityEngine.Mesh/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Sprite.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/Shape/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Sprite.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Sprite.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/Shape/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Stair.asset b/Tests/Resources/UnityEngine.Mesh/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Stair.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/Shape/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Stair.asset rename to Tests/Resources/UnityEngine.Mesh/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Stair.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/Shape/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Stair.asset.meta b/Tests/Resources/UnityEngine.Mesh/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Stair.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/Shape/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Stair.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Stair.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/Shape/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Torus.asset b/Tests/Resources/UnityEngine.Mesh/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Torus.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/Shape/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Torus.asset rename to Tests/Resources/UnityEngine.Mesh/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Torus.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/Shape/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Torus.asset.meta b/Tests/Resources/UnityEngine.Mesh/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Torus.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/Shape/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Torus.asset.meta rename to Tests/Resources/UnityEngine.Mesh/ShapeGeneratorTests/ShapeGenerator_MatchesTemplate/Torus.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests.meta b/Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests.meta rename to Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetAnchor_IsAppliedToMesh.meta b/Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetAnchor_IsAppliedToMesh.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetAnchor_IsAppliedToMesh.meta rename to Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetAnchor_IsAppliedToMesh.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(LowerCenter).asset b/Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(LowerCenter).asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(LowerCenter).asset rename to Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(LowerCenter).asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(LowerCenter).asset.meta b/Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(LowerCenter).asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(LowerCenter).asset.meta rename to Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(LowerCenter).asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(LowerLeft).asset b/Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(LowerLeft).asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(LowerLeft).asset rename to Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(LowerLeft).asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(LowerLeft).asset.meta b/Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(LowerLeft).asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(LowerLeft).asset.meta rename to Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(LowerLeft).asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(LowerRight).asset b/Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(LowerRight).asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(LowerRight).asset rename to Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(LowerRight).asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(LowerRight).asset.meta b/Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(LowerRight).asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(LowerRight).asset.meta rename to Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(LowerRight).asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(MiddleCenter).asset b/Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(MiddleCenter).asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(MiddleCenter).asset rename to Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(MiddleCenter).asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(MiddleCenter).asset.meta b/Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(MiddleCenter).asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(MiddleCenter).asset.meta rename to Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(MiddleCenter).asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(MiddleLeft).asset b/Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(MiddleLeft).asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(MiddleLeft).asset rename to Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(MiddleLeft).asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(MiddleLeft).asset.meta b/Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(MiddleLeft).asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(MiddleLeft).asset.meta rename to Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(MiddleLeft).asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(MiddleRight).asset b/Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(MiddleRight).asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(MiddleRight).asset rename to Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(MiddleRight).asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(MiddleRight).asset.meta b/Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(MiddleRight).asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(MiddleRight).asset.meta rename to Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(MiddleRight).asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(None).asset b/Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(None).asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(None).asset rename to Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(None).asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(None).asset.meta b/Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(None).asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(None).asset.meta rename to Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(None).asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(UpperCenter).asset b/Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(UpperCenter).asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(UpperCenter).asset rename to Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(UpperCenter).asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(UpperCenter).asset.meta b/Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(UpperCenter).asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(UpperCenter).asset.meta rename to Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(UpperCenter).asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(UpperLeft).asset b/Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(UpperLeft).asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(UpperLeft).asset rename to Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(UpperLeft).asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(UpperLeft).asset.meta b/Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(UpperLeft).asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(UpperLeft).asset.meta rename to Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(UpperLeft).asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(UpperRight).asset b/Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(UpperRight).asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(UpperRight).asset rename to Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(UpperRight).asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(UpperRight).asset.meta b/Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(UpperRight).asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(UpperRight).asset.meta rename to Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetAnchor_IsAppliedToMesh/Cube-Anchor(UpperRight).asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetFillMode_IsAppliedToMesh.meta b/Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetFillMode_IsAppliedToMesh.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetFillMode_IsAppliedToMesh.meta rename to Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetFillMode_IsAppliedToMesh.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetFillMode_IsAppliedToMesh/Sprite-Fill(Fit).asset b/Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetFillMode_IsAppliedToMesh/Sprite-Fill(Fit).asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetFillMode_IsAppliedToMesh/Sprite-Fill(Fit).asset rename to Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetFillMode_IsAppliedToMesh/Sprite-Fill(Fit).asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetFillMode_IsAppliedToMesh/Sprite-Fill(Fit).asset.meta b/Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetFillMode_IsAppliedToMesh/Sprite-Fill(Fit).asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetFillMode_IsAppliedToMesh/Sprite-Fill(Fit).asset.meta rename to Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetFillMode_IsAppliedToMesh/Sprite-Fill(Fit).asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetFillMode_IsAppliedToMesh/Sprite-Fill(Stretch).asset b/Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetFillMode_IsAppliedToMesh/Sprite-Fill(Stretch).asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetFillMode_IsAppliedToMesh/Sprite-Fill(Stretch).asset rename to Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetFillMode_IsAppliedToMesh/Sprite-Fill(Stretch).asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetFillMode_IsAppliedToMesh/Sprite-Fill(Stretch).asset.meta b/Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetFillMode_IsAppliedToMesh/Sprite-Fill(Stretch).asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetFillMode_IsAppliedToMesh/Sprite-Fill(Stretch).asset.meta rename to Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetFillMode_IsAppliedToMesh/Sprite-Fill(Stretch).asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetFillMode_IsAppliedToMesh/Sprite-Fill(Tile).asset b/Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetFillMode_IsAppliedToMesh/Sprite-Fill(Tile).asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetFillMode_IsAppliedToMesh/Sprite-Fill(Tile).asset rename to Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetFillMode_IsAppliedToMesh/Sprite-Fill(Tile).asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetFillMode_IsAppliedToMesh/Sprite-Fill(Tile).asset.meta b/Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetFillMode_IsAppliedToMesh/Sprite-Fill(Tile).asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetFillMode_IsAppliedToMesh/Sprite-Fill(Tile).asset.meta rename to Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetFillMode_IsAppliedToMesh/Sprite-Fill(Tile).asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetOffsetAndRotate_InLocalSpace_IsAppliedToMesh.meta b/Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetOffsetAndRotate_InLocalSpace_IsAppliedToMesh.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetOffsetAndRotate_InLocalSpace_IsAppliedToMesh.meta rename to Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetOffsetAndRotate_InLocalSpace_IsAppliedToMesh.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetOffsetAndRotate_InLocalSpace_IsAppliedToMesh/Sprite.asset b/Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetOffsetAndRotate_InLocalSpace_IsAppliedToMesh/Sprite.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetOffsetAndRotate_InLocalSpace_IsAppliedToMesh/Sprite.asset rename to Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetOffsetAndRotate_InLocalSpace_IsAppliedToMesh/Sprite.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetOffsetAndRotate_InLocalSpace_IsAppliedToMesh/Sprite.asset.meta b/Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetOffsetAndRotate_InLocalSpace_IsAppliedToMesh/Sprite.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetOffsetAndRotate_InLocalSpace_IsAppliedToMesh/Sprite.asset.meta rename to Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetOffsetAndRotate_InLocalSpace_IsAppliedToMesh/Sprite.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetOffsetAndRotate_InLocalSpace_IsAppliedToMesh/Stair.asset b/Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetOffsetAndRotate_InLocalSpace_IsAppliedToMesh/Stair.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetOffsetAndRotate_InLocalSpace_IsAppliedToMesh/Stair.asset rename to Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetOffsetAndRotate_InLocalSpace_IsAppliedToMesh/Stair.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetOffsetAndRotate_InLocalSpace_IsAppliedToMesh/Stair.asset.meta b/Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetOffsetAndRotate_InLocalSpace_IsAppliedToMesh/Stair.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetOffsetAndRotate_InLocalSpace_IsAppliedToMesh/Stair.asset.meta rename to Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetOffsetAndRotate_InLocalSpace_IsAppliedToMesh/Stair.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetWorldSpace_IsAppliedToMesh.meta b/Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetWorldSpace_IsAppliedToMesh.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetWorldSpace_IsAppliedToMesh.meta rename to Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetWorldSpace_IsAppliedToMesh.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetWorldSpace_IsAppliedToMesh/Stair-UV-World-Space.asset b/Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetWorldSpace_IsAppliedToMesh/Stair-UV-World-Space.asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetWorldSpace_IsAppliedToMesh/Stair-UV-World-Space.asset rename to Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetWorldSpace_IsAppliedToMesh/Stair-UV-World-Space.asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetWorldSpace_IsAppliedToMesh/Stair-UV-World-Space.asset.meta b/Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetWorldSpace_IsAppliedToMesh/Stair-UV-World-Space.asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/TextureUnwrapTests/SetWorldSpace_IsAppliedToMesh/Stair-UV-World-Space.asset.meta rename to Tests/Resources/UnityEngine.Mesh/TextureUnwrapTests/SetWorldSpace_IsAppliedToMesh/Stair-UV-World-Space.asset.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/VertexColorTests.meta b/Tests/Resources/UnityEngine.Mesh/VertexColorTests.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/VertexColorTests.meta rename to Tests/Resources/UnityEngine.Mesh/VertexColorTests.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/VertexColorTests/DuplicateMesh_ApplyColor_MatchesTemplate.meta b/Tests/Resources/UnityEngine.Mesh/VertexColorTests/DuplicateMesh_ApplyColor_MatchesTemplate.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/VertexColorTests/DuplicateMesh_ApplyColor_MatchesTemplate.meta rename to Tests/Resources/UnityEngine.Mesh/VertexColorTests/DuplicateMesh_ApplyColor_MatchesTemplate.meta diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/VertexColorTests/DuplicateMesh_ApplyColor_MatchesTemplate/Cube(Clone).asset b/Tests/Resources/UnityEngine.Mesh/VertexColorTests/DuplicateMesh_ApplyColor_MatchesTemplate/Cube(Clone).asset similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/VertexColorTests/DuplicateMesh_ApplyColor_MatchesTemplate/Cube(Clone).asset rename to Tests/Resources/UnityEngine.Mesh/VertexColorTests/DuplicateMesh_ApplyColor_MatchesTemplate/Cube(Clone).asset diff --git a/Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/VertexColorTests/DuplicateMesh_ApplyColor_MatchesTemplate/Cube(Clone).asset.meta b/Tests/Resources/UnityEngine.Mesh/VertexColorTests/DuplicateMesh_ApplyColor_MatchesTemplate/Cube(Clone).asset.meta similarity index 100% rename from Tests/Templates/UnityEngine.Mesh/Runtime/MeshOps/VertexColorTests/DuplicateMesh_ApplyColor_MatchesTemplate/Cube(Clone).asset.meta rename to Tests/Resources/UnityEngine.Mesh/VertexColorTests/DuplicateMesh_ApplyColor_MatchesTemplate/Cube(Clone).asset.meta diff --git a/Tests/Runtime/MeshOps/BridgeEdgesTests.cs b/Tests/Runtime/MeshOps/BridgeEdgesTests.cs index 13549f371..f3146b806 100644 --- a/Tests/Runtime/MeshOps/BridgeEdgesTests.cs +++ b/Tests/Runtime/MeshOps/BridgeEdgesTests.cs @@ -4,7 +4,10 @@ using UnityEngine.ProBuilder; using UnityEngine.ProBuilder.MeshOperations; using UnityEngine.ProBuilder.Shapes; +using UnityEngine.ProBuilder.Tests; +#if UNITY_EDITOR && PB_CREATE_TEST_MESH_TEMPLATES using UnityEngine.ProBuilder.Tests.Framework; +#endif static class BridgeEdgesTests { @@ -21,16 +24,16 @@ public static void Bridge_TwoEdges_CreatesQuad() cube.ToMesh(); cube.Refresh(); -#if PB_CREATE_TEST_MESH_TEMPLATES +#if UNITY_EDITOR && PB_CREATE_TEST_MESH_TEMPLATES TestUtility.SaveAssetTemplate(cube.mesh, cube.name); #endif - TestUtility.AssertMeshAttributesValid(cube.mesh); - var template = TestUtility.GetAssetTemplate(cube.name); + RuntimeUtility.AssertMeshAttributesValid(cube.mesh); + var template = Resources.Load(RuntimeUtility.GetResourcesPath(cube.name)); Assert.IsNotNull(template); - TestUtility.AssertAreEqual(template, cube.mesh); + RuntimeUtility.AssertAreEqual(template, cube.mesh); - UnityEngine.Object.DestroyImmediate(cube); - } + Object.DestroyImmediate(cube.gameObject); + } [Test] public static void Bridge_TwoConnectedEdges_CreatesTriangle() @@ -45,14 +48,14 @@ public static void Bridge_TwoConnectedEdges_CreatesTriangle() cube.ToMesh(); cube.Refresh(); -#if PB_CREATE_TEST_MESH_TEMPLATES +#if UNITY_EDITOR && PB_CREATE_TEST_MESH_TEMPLATES TestUtility.SaveAssetTemplate(cube.mesh, cube.name); #endif - TestUtility.AssertMeshAttributesValid(cube.mesh); - var template = TestUtility.GetAssetTemplate(cube.name); + RuntimeUtility.AssertMeshAttributesValid(cube.mesh); + var template = Resources.Load(RuntimeUtility.GetResourcesPath(cube.name)); Assert.IsNotNull(template); - TestUtility.AssertAreEqual(template, cube.mesh); + RuntimeUtility.AssertAreEqual(template, cube.mesh); - UnityEngine.Object.DestroyImmediate(cube); + Object.DestroyImmediate(cube.gameObject); } } diff --git a/Tests/Runtime/MeshOps/CalculateNormalsTests.cs b/Tests/Runtime/MeshOps/CalculateNormalsTests.cs index dd139594c..4aefd8218 100644 --- a/Tests/Runtime/MeshOps/CalculateNormalsTests.cs +++ b/Tests/Runtime/MeshOps/CalculateNormalsTests.cs @@ -1,10 +1,9 @@ using System; using System.Collections.Generic; using UnityEngine; -using UObject = UnityEngine.Object; using NUnit.Framework; using UnityEngine.ProBuilder; -using UnityEngine.ProBuilder.Tests.Framework; +using UnityEngine.ProBuilder.Tests; static class CalculateNormalsTests { @@ -13,7 +12,7 @@ static class CalculateNormalsTests [Test] public static void Calculate_HardNormals_AreNormalized() { - using (var shapes = new TestUtility.BuiltInPrimitives()) + using (var shapes = new RuntimeUtility.BuiltInPrimitives()) { foreach (var pb in (IEnumerable)shapes) { @@ -35,7 +34,7 @@ public static void Calculate_HardNormals_AreNormalized() [Test] public static void Calculate_SoftNormals_AreNormalized() { - using (var shapes = new TestUtility.BuiltInPrimitives()) + using (var shapes = new RuntimeUtility.BuiltInPrimitives()) { foreach (var pb in (IEnumerable)shapes) { @@ -57,7 +56,7 @@ public static void Calculate_SoftNormals_AreNormalized() [Test] public static void Calculate_SoftNormals_AreSoft() { - using (var shapes = new TestUtility.BuiltInPrimitives()) + using (var shapes = new RuntimeUtility.BuiltInPrimitives()) { foreach (var pb in (IEnumerable)shapes) { diff --git a/Tests/Runtime/MeshOps/CollapseVerticesTests.cs b/Tests/Runtime/MeshOps/CollapseVerticesTests.cs index 51139d6f8..0bda54d6d 100644 --- a/Tests/Runtime/MeshOps/CollapseVerticesTests.cs +++ b/Tests/Runtime/MeshOps/CollapseVerticesTests.cs @@ -3,7 +3,10 @@ using UnityEngine.ProBuilder; using UnityEngine.ProBuilder.MeshOperations; using UnityEngine.ProBuilder.Shapes; +using UnityEngine.ProBuilder.Tests; +#if UNITY_EDITOR && PB_CREATE_TEST_MESH_TEMPLATES using UnityEngine.ProBuilder.Tests.Framework; +#endif static class CollapseVerticesTests { @@ -18,14 +21,13 @@ public static void CollapseToFirst_MatchesTemplate() cube.ToMesh(); cube.Refresh(); -#if PB_CREATE_TEST_MESH_TEMPLATES +#if UNITY_EDITOR && PB_CREATE_TEST_MESH_TEMPLATES TestUtility.SaveAssetTemplate(cube.mesh, cube.name); #endif - - TestUtility.AssertMeshAttributesValid(cube.mesh); - var template = TestUtility.GetAssetTemplate(cube.name); + RuntimeUtility.AssertMeshAttributesValid(cube.mesh); + var template = Resources.Load(RuntimeUtility.GetResourcesPath(cube.name)); Assert.IsNotNull(template); - TestUtility.AssertAreEqual(template, cube.mesh); + RuntimeUtility.AssertAreEqual(template, cube.mesh); Object.DestroyImmediate(cube); } @@ -39,14 +41,13 @@ public static void CollapseToCenter_MatchesTemplate() cube.ToMesh(); cube.Refresh(); -#if PB_CREATE_TEST_MESH_TEMPLATES +#if UNITY_EDITOR && PB_CREATE_TEST_MESH_TEMPLATES TestUtility.SaveAssetTemplate(cube.mesh, cube.name); #endif - - TestUtility.AssertMeshAttributesValid(cube.mesh); - var template = TestUtility.GetAssetTemplate(cube.name); + RuntimeUtility.AssertMeshAttributesValid(cube.mesh); + var template = Resources.Load(RuntimeUtility.GetResourcesPath(cube.name)); Assert.IsNotNull(template); - TestUtility.AssertAreEqual(template, cube.mesh); + RuntimeUtility.AssertAreEqual(template, cube.mesh); UnityEngine.Object.DestroyImmediate(cube); } diff --git a/Tests/Runtime/MeshOps/CombineMeshesTests.cs b/Tests/Runtime/MeshOps/CombineMeshesTests.cs index f787d72d6..89395d542 100644 --- a/Tests/Runtime/MeshOps/CombineMeshesTests.cs +++ b/Tests/Runtime/MeshOps/CombineMeshesTests.cs @@ -1,10 +1,9 @@ -using System; +using System; using System.Collections.Generic; using UnityEngine; using UObject = UnityEngine.Object; using NUnit.Framework; using UnityEngine.ProBuilder; -using UnityEngine.ProBuilder.Tests.Framework; using UnityEngine.ProBuilder.MeshOperations; using UnityEngine.ProBuilder.Shapes; diff --git a/Tests/Runtime/MeshOps/CompileSubmeshTests.cs b/Tests/Runtime/MeshOps/CompileSubmeshTests.cs index bd09deab1..244ea5137 100644 --- a/Tests/Runtime/MeshOps/CompileSubmeshTests.cs +++ b/Tests/Runtime/MeshOps/CompileSubmeshTests.cs @@ -5,7 +5,7 @@ using UnityEngine.ProBuilder; using UnityEngine.ProBuilder.Shapes; using UObject = UnityEngine.Object; -using UnityEngine.ProBuilder.Tests.Framework; +using UnityEngine.ProBuilder.Tests; static class CompileSubmeshTests { @@ -45,7 +45,7 @@ public static void GetSubmeshes_DoesNot_ExceedMaterialCount() mesh.ToMesh(); Assert.AreEqual(3, mesh.mesh.subMeshCount); - UObject.DestroyImmediate(mesh.gameObject); + UObject.Destroy(mesh.gameObject); } [Test] @@ -55,8 +55,8 @@ public static void InvalidSubmeshIndex_CreatesValidMesh() mesh.renderer.sharedMaterials = new Material[2] { - TestUtility.redMaterial, - TestUtility.blueMaterial + RuntimeUtility.redMaterial, + RuntimeUtility.blueMaterial }; // Should map to submesh 0 @@ -78,8 +78,8 @@ public static void SubmeshIndexes_AreMappedToCorrectMaterial() mesh.renderer.sharedMaterials = new Material[2] { - TestUtility.redMaterial, - TestUtility.blueMaterial + RuntimeUtility.redMaterial, + RuntimeUtility.blueMaterial }; mesh.facesInternal[0].submeshIndex = 1; @@ -92,10 +92,10 @@ public static void SubmeshIndexes_AreMappedToCorrectMaterial() var compiled0 = mesh.mesh.GetTriangles(0); var compiled1 = mesh.mesh.GetTriangles(1); - TestUtility.AssertSequenceEqual(submesh0, compiled0); - TestUtility.AssertSequenceEqual(submesh1, compiled1); + RuntimeUtility.AssertSequenceEqual(submesh0, compiled0); + RuntimeUtility.AssertSequenceEqual(submesh1, compiled1); - UObject.DestroyImmediate(mesh); + UObject.Destroy(mesh.gameObject); } [Test] @@ -105,9 +105,9 @@ public static void SubmeshIndexes_AreClamped() mesh.renderer.sharedMaterials = new Material[3] { - TestUtility.redMaterial, - TestUtility.blueMaterial, - TestUtility.greenMaterial + RuntimeUtility.redMaterial, + RuntimeUtility.blueMaterial, + RuntimeUtility.greenMaterial }; // Should map to 0 @@ -129,11 +129,11 @@ public static void SubmeshIndexes_AreClamped() var compiled1 = mesh.mesh.GetTriangles(1); var compiled2 = mesh.mesh.GetTriangles(2); - TestUtility.AssertSequenceEqual(submesh0, compiled0); - TestUtility.AssertSequenceEqual(submesh1, compiled1); - TestUtility.AssertSequenceEqual(submesh2, compiled2); + RuntimeUtility.AssertSequenceEqual(submesh0, compiled0); + RuntimeUtility.AssertSequenceEqual(submesh1, compiled1); + RuntimeUtility.AssertSequenceEqual(submesh2, compiled2); - UObject.DestroyImmediate(mesh); + UObject.Destroy(mesh); } [Test] @@ -168,17 +168,17 @@ public static void FaceMaterialProperty_UpgradesCorrectly() mesh.renderer.sharedMaterials = new Material[] { - TestUtility.redMaterial, - TestUtility.greenMaterial, - TestUtility.blueMaterial + RuntimeUtility.redMaterial, + RuntimeUtility.greenMaterial, + RuntimeUtility.blueMaterial }; foreach (var face in mesh.facesInternal) face.submeshIndex = -1; #pragma warning disable 618 - mesh.facesInternal[0].material = TestUtility.greenMaterial; - mesh.facesInternal[1].material = TestUtility.blueMaterial; + mesh.facesInternal[0].material = RuntimeUtility.greenMaterial; + mesh.facesInternal[1].material = RuntimeUtility.blueMaterial; #pragma warning restore 618 mesh.ToMesh(); @@ -193,6 +193,6 @@ public static void FaceMaterialProperty_UpgradesCorrectly() Assert.AreEqual(1, mesh.facesInternal[0].submeshIndex); Assert.AreEqual(2, mesh.facesInternal[1].submeshIndex); - UObject.DestroyImmediate(mesh.gameObject); + UObject.Destroy(mesh.gameObject); } } diff --git a/Tests/Runtime/MeshOps/ConnectElementsTests.cs b/Tests/Runtime/MeshOps/ConnectElementsTests.cs index 716547d2d..04ddc336f 100644 --- a/Tests/Runtime/MeshOps/ConnectElementsTests.cs +++ b/Tests/Runtime/MeshOps/ConnectElementsTests.cs @@ -6,7 +6,7 @@ using UnityEngine.ProBuilder; using UnityEngine.ProBuilder.MeshOperations; using UnityEngine.ProBuilder.Shapes; -using UnityEngine.ProBuilder.Tests.Framework; +using UnityEngine.ProBuilder.Tests; static class ConnectElementsTests { @@ -43,7 +43,7 @@ public static void ConnectEdges_CreatesValidGeometry([ValueSource("shapeTypes")] mesh.ToMesh(); mesh.Refresh(); - TestUtility.AssertMeshIsValid(mesh); + RuntimeUtility.AssertMeshIsValid(mesh); Assert.That(previousEdgeCount, Is.LessThan(mesh.edgeCount)); } catch (System.Exception e) @@ -63,8 +63,8 @@ public static void ConnectEdges_RetainsMaterial() mesh.renderer.sharedMaterials = new[] { - TestUtility.redMaterial, - TestUtility.greenMaterial + RuntimeUtility.redMaterial, + RuntimeUtility.greenMaterial }; mesh.facesInternal[0].submeshIndex = 1; diff --git a/Tests/Runtime/MeshOps/DeleteElementsTests.cs b/Tests/Runtime/MeshOps/DeleteElementsTests.cs index 757c3431a..1c9dbc174 100644 --- a/Tests/Runtime/MeshOps/DeleteElementsTests.cs +++ b/Tests/Runtime/MeshOps/DeleteElementsTests.cs @@ -4,9 +4,12 @@ using NUnit.Framework; using UnityEngine.ProBuilder; using UnityEngine.ProBuilder.MeshOperations; -using UnityEngine.ProBuilder.Tests.Framework; using System.Collections.Generic; using UnityEngine.ProBuilder.Shapes; +using UnityEngine.ProBuilder.Tests; +#if UNITY_EDITOR && PB_CREATE_TEST_MESH_TEMPLATES +using UnityEngine.ProBuilder.Tests.Framework; +#endif static class DeleteElementsTests { @@ -99,13 +102,13 @@ public static void DeleteFirstFace_CreatesValidMesh([ValueSource("shapeTypes")] mesh.ToMesh(); mesh.Refresh(); -#if PB_CREATE_TEST_MESH_TEMPLATES +#if UNITY_EDITOR && PB_CREATE_TEST_MESH_TEMPLATES TestUtility.SaveAssetTemplate(mesh.mesh, mesh.name); #endif - TestUtility.AssertMeshAttributesValid(mesh.mesh); - var template = TestUtility.GetAssetTemplate(mesh.name); + RuntimeUtility.AssertMeshAttributesValid(mesh.mesh); + var template = Resources.Load(RuntimeUtility.GetResourcesPath(mesh.name)); Assert.IsNotNull(template); - TestUtility.AssertAreEqual(template, mesh.mesh); + RuntimeUtility.AssertAreEqual(template, mesh.mesh); } catch (System.Exception e) { @@ -229,7 +232,7 @@ static void DeleteFacesAndValidateMesh(ProBuilderMesh mesh, IEnumerable fa mesh.ToMesh(); mesh.Refresh(); - TestUtility.AssertMeshAttributesValid(mesh.mesh); + RuntimeUtility.AssertMeshAttributesValid(mesh.mesh); Assert.AreEqual(mesh.vertexCount, meshVertexCount - totalFaceVertexCount); } diff --git a/Tests/Runtime/MeshOps/ExtrudeTests.cs b/Tests/Runtime/MeshOps/ExtrudeTests.cs index c2671e515..299fa456e 100644 --- a/Tests/Runtime/MeshOps/ExtrudeTests.cs +++ b/Tests/Runtime/MeshOps/ExtrudeTests.cs @@ -6,7 +6,10 @@ using UnityEngine.ProBuilder; using UnityEngine.ProBuilder.MeshOperations; using UnityEngine.ProBuilder.Shapes; +using UnityEngine.ProBuilder.Tests; +#if UNITY_EDITOR && PB_CREATE_TEST_MESH_TEMPLATES using UnityEngine.ProBuilder.Tests.Framework; +#endif using UnityEngine.TestTools; using Object = UnityEngine.Object; @@ -45,7 +48,7 @@ public static void Extrude_OneEdge_CreatesValidGeometry() Assert.IsTrue(pb.Extrude(edges, .5f, true, true) != null, "Do allow manifold edge extrude"); pb.ToMesh(); pb.Refresh(); - TestUtility.AssertMeshAttributesValid(pb.mesh); + RuntimeUtility.AssertMeshAttributesValid(pb.mesh); Assert.AreEqual(vertexCount + edges.Length * 4, pb.vertexCount); } finally @@ -70,7 +73,7 @@ public static void Extrude_MultipleEdges_CreatesValidGeometry() Assert.IsTrue(pb.Extrude(edges, .5f, true, true) != null, "Do allow manifold edge extrude"); pb.ToMesh(); pb.Refresh(); - TestUtility.AssertMeshAttributesValid(pb.mesh); + RuntimeUtility.AssertMeshAttributesValid(pb.mesh); Assert.AreEqual(vertexCount + edges.Length * 4, pb.vertexCount); } finally @@ -90,12 +93,13 @@ public static void ExtrudeAllFaces_FaceNormal([ValueSource("m_AvailableShapeType mesh.ToMesh(); mesh.Refresh(); LogAssert.NoUnexpectedReceived(); - TestUtility.AssertMeshAttributesValid(mesh.mesh); -#if PB_CREATE_TEST_MESH_TEMPLATES + RuntimeUtility.AssertMeshAttributesValid(mesh.mesh); +#if UNITY_EDITOR && PB_CREATE_TEST_MESH_TEMPLATES TestUtility.SaveAssetTemplate(mesh.mesh, mesh.name); #endif - Mesh template = TestUtility.GetAssetTemplate(mesh.name); - TestUtility.AssertAreEqual(template, mesh.mesh, message: mesh.name); + var template = Resources.Load(RuntimeUtility.GetResourcesPath(mesh.name)); + Assert.IsNotNull(template); + RuntimeUtility.AssertAreEqual(template, mesh.mesh); } catch (Exception e) { @@ -121,12 +125,13 @@ public static void ExtrudeAllFaces_IndividualFaces([ValueSource("m_AvailableShap mesh.Refresh(); LogAssert.NoUnexpectedReceived(); Assert.AreNotEqual(vertexCountBeforeExtrude, mesh.vertexCount); - TestUtility.AssertMeshAttributesValid(mesh.mesh); -#if PB_CREATE_TEST_MESH_TEMPLATES + RuntimeUtility.AssertMeshAttributesValid(mesh.mesh); +#if UNITY_EDITOR && PB_CREATE_TEST_MESH_TEMPLATES TestUtility.SaveAssetTemplate(mesh.mesh, mesh.name); #endif - Mesh template = TestUtility.GetAssetTemplate(mesh.name); - TestUtility.AssertAreEqual(template, mesh.mesh, message: mesh.name); + var template = Resources.Load(RuntimeUtility.GetResourcesPath(mesh.name)); + Assert.IsNotNull(template); + RuntimeUtility.AssertAreEqual(template, mesh.mesh); } catch (Exception e) { @@ -150,12 +155,13 @@ public static void ExtrudeAllFaces_VertexNormal([ValueSource("m_AvailableShapeTy mesh.ToMesh(); mesh.Refresh(); LogAssert.NoUnexpectedReceived(); - TestUtility.AssertMeshAttributesValid(mesh.mesh); -#if PB_CREATE_TEST_MESH_TEMPLATES + RuntimeUtility.AssertMeshAttributesValid(mesh.mesh); +#if UNITY_EDITOR && PB_CREATE_TEST_MESH_TEMPLATES TestUtility.SaveAssetTemplate(mesh.mesh, mesh.name); #endif - Mesh template = TestUtility.GetAssetTemplate(mesh.name); - TestUtility.AssertAreEqual(template, mesh.mesh, message: mesh.name); + var template = Resources.Load(RuntimeUtility.GetResourcesPath(mesh.name)); + Assert.IsNotNull(template); + RuntimeUtility.AssertAreEqual(template, mesh.mesh); } catch (Exception e) { @@ -191,8 +197,8 @@ public void Extrude_Face_CreatesValidGeometry( mesh.ToMesh(); mesh.Refresh(); LogAssert.NoUnexpectedReceived(); - TestUtility.AssertMeshAttributesValid(mesh.mesh); -#if PB_CREATE_TEST_MESH_TEMPLATES + RuntimeUtility.AssertMeshAttributesValid(mesh.mesh); +#if UNITY_EDITOR && PB_CREATE_TEST_MESH_TEMPLATES TestUtility.SaveAssetTemplate(mesh.mesh, mesh.name); #endif Assert.AreEqual(initialVertexCount + face.edgesInternal.Length * 4, mesh.vertexCount); @@ -221,7 +227,7 @@ public static void Extrude_Face_MultipleTimes_CreatesValidGeometry([ValueSource( mesh.ToMesh(); mesh.Refresh(); LogAssert.NoUnexpectedReceived(); - TestUtility.AssertMeshAttributesValid(mesh.mesh); + RuntimeUtility.AssertMeshAttributesValid(mesh.mesh); Assert.AreEqual(initialVertexCount + face.edgesInternal.Length * 4, mesh.vertexCount); initialVertexCount = mesh.vertexCount; @@ -229,7 +235,7 @@ public static void Extrude_Face_MultipleTimes_CreatesValidGeometry([ValueSource( mesh.ToMesh(); mesh.Refresh(); LogAssert.NoUnexpectedReceived(); - TestUtility.AssertMeshAttributesValid(mesh.mesh); + RuntimeUtility.AssertMeshAttributesValid(mesh.mesh); Assert.AreEqual(initialVertexCount + face.edgesInternal.Length * 4, mesh.vertexCount); initialVertexCount = mesh.vertexCount; @@ -237,7 +243,7 @@ public static void Extrude_Face_MultipleTimes_CreatesValidGeometry([ValueSource( mesh.ToMesh(); mesh.Refresh(); LogAssert.NoUnexpectedReceived(); - TestUtility.AssertMeshAttributesValid(mesh.mesh); + RuntimeUtility.AssertMeshAttributesValid(mesh.mesh); Assert.AreEqual(initialVertexCount + face.edgesInternal.Length * 4, mesh.vertexCount); } catch (Exception e) diff --git a/Tests/Runtime/MeshOps/SubdivideElementsTests.cs b/Tests/Runtime/MeshOps/SubdivideElementsTests.cs index 6c2155d05..e93c970d9 100644 --- a/Tests/Runtime/MeshOps/SubdivideElementsTests.cs +++ b/Tests/Runtime/MeshOps/SubdivideElementsTests.cs @@ -6,12 +6,17 @@ using UnityEngine.ProBuilder; using UnityEngine.ProBuilder.MeshOperations; using UnityEngine.ProBuilder.Shapes; +using UnityEngine.ProBuilder.Tests; +#if UNITY_EDITOR && PB_CREATE_TEST_MESH_TEMPLATES using UnityEngine.ProBuilder.Tests.Framework; +#endif static class SubdivideElementsTests { - public static List shapeTypes { - get { + public static List shapeTypes + { + get + { var list = new List(); var types = typeof(Shape).Assembly.GetTypes(); foreach (var type in types) @@ -38,8 +43,8 @@ public static void SubdivideFirstFace_CreatesValidMesh([ValueSource("shapeTypes" pb.ToMesh(); pb.Refresh(); - TestUtility.AssertMeshIsValid(pb); - TestUtility.AssertMeshAttributesValid(pb.mesh); + RuntimeUtility.AssertMeshIsValid(pb); + RuntimeUtility.AssertMeshAttributesValid(pb.mesh); Assert.That(faceCount, Is.LessThan(pb.faceCount)); } @@ -68,7 +73,7 @@ public static void SubdivideObject_RetainsMaterial() [Test] public static void SubdivideSplitFaces_SeparatesAndSubdivides() { - var cube = TestUtility.CreateCubeWithNonContiguousMergedFace(); + var cube = RuntimeUtility.CreateCubeWithNonContiguousMergedFace(); try { @@ -79,7 +84,7 @@ public static void SubdivideSplitFaces_SeparatesAndSubdivides() } finally { - if(cube.item1 != null) + if (cube.item1 != null) UObject.DestroyImmediate(cube.item1.gameObject); } } diff --git a/Tests/Runtime/MeshOps/TextureUnwrapTests.cs b/Tests/Runtime/MeshOps/TextureUnwrapTests.cs index 782369cae..f3e0dabb9 100644 --- a/Tests/Runtime/MeshOps/TextureUnwrapTests.cs +++ b/Tests/Runtime/MeshOps/TextureUnwrapTests.cs @@ -4,7 +4,10 @@ using NUnit.Framework; using UnityEngine.ProBuilder; using UnityEngine.ProBuilder.Shapes; +using UnityEngine.ProBuilder.Tests; +#if UNITY_EDITOR && PB_CREATE_TEST_MESH_TEMPLATES using UnityEngine.ProBuilder.Tests.Framework; +#endif using Sprite = UnityEngine.Sprite; static class TextureUnwrapTests @@ -52,16 +55,15 @@ public static void SetOffsetAndRotate_InLocalSpace_IsAppliedToMesh( mesh.ToMesh(); mesh.Refresh(); - TestUtility.AssertMeshAttributesValid(mesh.mesh); - - string templateName = shape.ToString() + "offset: " + offset.ToString() + " rotation: " + rotation; + RuntimeUtility.AssertMeshAttributesValid(mesh.mesh); -#if PB_CREATE_TEST_MESH_TEMPLATES +#if UNITY_EDITOR && PB_CREATE_TEST_MESH_TEMPLATES TestUtility.SaveAssetTemplate(mesh.mesh, mesh.name); #endif - Mesh template = TestUtility.GetAssetTemplate(mesh.name); - TestUtility.AssertAreEqual(template, mesh.mesh, message: mesh.name); + var template = Resources.Load(RuntimeUtility.GetResourcesPath(mesh.name)); + Assert.IsNotNull(template); + RuntimeUtility.AssertAreEqual(template, mesh.mesh, message: mesh.name); } catch (System.Exception e) { @@ -100,12 +102,14 @@ public static void SetAnchor_IsAppliedToMesh([ValueSource("anchorValues")] AutoU var name = mesh.name + "-Anchor(" + anchor + ")"; mesh.name = name; -#if PB_CREATE_TEST_MESH_TEMPLATES +#if UNITY_EDITOR && PB_CREATE_TEST_MESH_TEMPLATES TestUtility.SaveAssetTemplate(mesh.mesh, name); #endif - Mesh template = TestUtility.GetAssetTemplate(name); - TestUtility.AssertAreEqual(template, mesh.mesh, message: name); + RuntimeUtility.AssertMeshAttributesValid(mesh.mesh); + var template = Resources.Load(RuntimeUtility.GetResourcesPath(name)); + Assert.IsNotNull(template); + RuntimeUtility.AssertAreEqual(template, mesh.mesh, message: name); } catch (System.Exception e) { @@ -157,12 +161,14 @@ public static void SetFillMode_IsAppliedToMesh([ValueSource("fillModeValues")] A var name = shape.name + "-Fill(" + fill + ")"; shape.name = name; -#if PB_CREATE_TEST_MESH_TEMPLATES +#if UNITY_EDITOR && PB_CREATE_TEST_MESH_TEMPLATES TestUtility.SaveAssetTemplate(shape.mesh, name); #endif - Mesh template = TestUtility.GetAssetTemplate(name); - TestUtility.AssertAreEqual(template, shape.mesh, message: name); + RuntimeUtility.AssertMeshAttributesValid(shape.mesh); + var template = Resources.Load(RuntimeUtility.GetResourcesPath(name)); + Assert.IsNotNull(template); + RuntimeUtility.AssertAreEqual(template, shape.mesh, message: name); } catch (System.Exception e) { @@ -191,12 +197,14 @@ public static void SetWorldSpace_IsAppliedToMesh() shape.Refresh(); shape.name += "-UV-World-Space"; -#if PB_CREATE_TEST_MESH_TEMPLATES +#if UNITY_EDITOR && PB_CREATE_TEST_MESH_TEMPLATES TestUtility.SaveAssetTemplate(shape.mesh, shape.name); #endif - Mesh template = TestUtility.GetAssetTemplate(shape.name); - TestUtility.AssertAreEqual(template, shape.mesh, message: shape.name); + RuntimeUtility.AssertMeshAttributesValid(shape.mesh); + var template = Resources.Load(RuntimeUtility.GetResourcesPath(shape.name)); + Assert.IsNotNull(template); + RuntimeUtility.AssertAreEqual(template, shape.mesh, message: shape.name); UObject.DestroyImmediate(shape.gameObject); } } diff --git a/Tests/Runtime/MeshOps/VertexColorTests.cs b/Tests/Runtime/MeshOps/VertexColorTests.cs index 810c50ee3..9334d8a16 100644 --- a/Tests/Runtime/MeshOps/VertexColorTests.cs +++ b/Tests/Runtime/MeshOps/VertexColorTests.cs @@ -4,7 +4,10 @@ using NUnit.Framework; using UnityEngine.ProBuilder; using UnityEngine.ProBuilder.Shapes; +using UnityEngine.ProBuilder.Tests; +#if UNITY_EDITOR && PB_CREATE_TEST_MESH_TEMPLATES using UnityEngine.ProBuilder.Tests.Framework; +#endif static class VertexColorTests { @@ -19,12 +22,13 @@ public static void DuplicateMesh_ApplyColor_MatchesTemplate() dup.ToMesh(); dup.Refresh(); -#if PB_CREATE_TEST_MESH_TEMPLATES +#if UNITY_EDITOR && PB_CREATE_TEST_MESH_TEMPLATES TestUtility.SaveAssetTemplate(dup.mesh, dup.name); #endif - var compare = TestUtility.GetAssetTemplate(dup.name); - - TestUtility.AssertAreEqual(compare, dup.mesh); + RuntimeUtility.AssertMeshAttributesValid(dup.mesh); + var compare = Resources.Load(RuntimeUtility.GetResourcesPath(dup.name)); + Assert.IsNotNull(compare); + RuntimeUtility.AssertAreEqual(compare, dup.mesh); UObject.DestroyImmediate(cube); UObject.DestroyImmediate(dup); diff --git a/Tests/Runtime/Shape/ShapeGeneratorTests.cs b/Tests/Runtime/Shape/ShapeGeneratorTests.cs index 659d7017b..a232f5432 100644 --- a/Tests/Runtime/Shape/ShapeGeneratorTests.cs +++ b/Tests/Runtime/Shape/ShapeGeneratorTests.cs @@ -1,10 +1,13 @@ using UnityEngine; using NUnit.Framework; using UnityEngine.ProBuilder; -using UnityEngine.ProBuilder.Tests.Framework; +using UnityEngine.ProBuilder.Tests; using System.Collections.Generic; using System; using UnityEngine.ProBuilder.Shapes; +#if UNITY_EDITOR && PB_CREATE_TEST_MESH_TEMPLATES +using UnityEngine.ProBuilder.Tests.Framework; +#endif class ShapeGeneratorTests { @@ -30,7 +33,7 @@ public void ShapeGenerator_MatchesTemplate([ValueSource("shapeTypes")] Type type Assume.That(pb, Is.Not.Null); -#if PB_CREATE_TEST_MESH_TEMPLATES +#if UNITY_EDITOR && PB_CREATE_TEST_MESH_TEMPLATES // save a template mesh. the mesh is saved in a the Templates folder with the path extracted from: // Templates/{Asset Type}/{CallingFilePathRelativeToTests}/{MethodName}/{AssetName}.asset // note - pb_DestroyListener will not let pb_Object destroy meshes backed by an asset, so there's no need @@ -39,11 +42,11 @@ public void ShapeGenerator_MatchesTemplate([ValueSource("shapeTypes")] Type type #else try { - TestUtility.AssertMeshAttributesValid(pb.mesh); - // Loads an asset by name from the template path. See also pb_TestUtility.GetTemplatePath - Mesh template = TestUtility.GetAssetTemplate(type.ToString()); - Assert.IsTrue(TestUtility.AssertAreEqual(template, pb.mesh), type.ToString() + " value-wise mesh comparison"); + RuntimeUtility.AssertMeshAttributesValid(pb.mesh); + var template = Resources.Load(RuntimeUtility.GetResourcesPath(type.ToString())); + Assert.IsNotNull(template); + Assert.IsTrue(RuntimeUtility.AssertAreEqual(template, pb.mesh), type.ToString() + " value-wise mesh comparison"); } finally { diff --git a/Tests/Runtime/Type/FaceTests.cs b/Tests/Runtime/Type/FaceTests.cs index 2607257cc..745fbd84b 100644 --- a/Tests/Runtime/Type/FaceTests.cs +++ b/Tests/Runtime/Type/FaceTests.cs @@ -3,7 +3,7 @@ using UnityEngine; using UnityEngine.ProBuilder; using UnityEngine.ProBuilder.MeshOperations; -using UnityEngine.ProBuilder.Tests.Framework; +using UnityEngine.ProBuilder.Tests; public class FaceTests { @@ -40,7 +40,7 @@ public void MeshValidation_IsSplitFace_ConfirmsValidFaces([ValueSource("k_IndexC [Test] public void MeshValidation_IsSplitFace_DetectsDisconnectedTriangles() { - var cube = TestUtility.CreateCubeWithNonContiguousMergedFace(); + var cube = RuntimeUtility.CreateCubeWithNonContiguousMergedFace(); Assume.That(cube.item1.faceCount, Is.EqualTo(5)); Assert.That(MeshValidation.ContainsNonContiguousTriangles(cube.item1, cube.item2), Is.True); } diff --git a/Tests/Runtime/Unity.ProBuilder.Tests.asmdef b/Tests/Runtime/Unity.ProBuilder.Tests.asmdef index 8a8e51b5b..1af557d25 100644 --- a/Tests/Runtime/Unity.ProBuilder.Tests.asmdef +++ b/Tests/Runtime/Unity.ProBuilder.Tests.asmdef @@ -1,8 +1,7 @@ { "name": "Unity.ProBuilder.Tests", "references": [ - "Unity.ProBuilder", - "Unity.ProBuilder.Tests.Framework" + "Unity.ProBuilder" ], "optionalUnityReferences": [ "TestAssemblies" diff --git a/Tests/Runtime/Utilities/RuntimeUtility.cs b/Tests/Runtime/Utilities/RuntimeUtility.cs new file mode 100644 index 000000000..209f5a2db --- /dev/null +++ b/Tests/Runtime/Utilities/RuntimeUtility.cs @@ -0,0 +1,316 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.Diagnostics; +using System.IO; +using NUnit.Framework; +using UnityEngine.ProBuilder.MeshOperations; +using UnityEngine.ProBuilder.Shapes; + +namespace UnityEngine.ProBuilder.Tests +{ + public static class RuntimeUtility + { + public class BuiltInPrimitives : IDisposable, IEnumerable + { + ProBuilderMesh[] m_Shapes; + + public static ProBuilderMesh[] GetBasicShapes() + { + var shapes = Enum.GetValues(typeof(ShapeType)) as ShapeType[]; + ProBuilderMesh[] primitives = new ProBuilderMesh[shapes.Length]; + + for (int i = 0, c = shapes.Length; i < c; i++) + { + primitives[i] = ShapeGenerator.CreateShape(shapes[i]); + primitives[i].GetComponent().sharedMesh.name = shapes[i].ToString(); + } + return primitives; + } + + public BuiltInPrimitives() + { + m_Shapes = GetBasicShapes(); + } + + public int Count { get { return m_Shapes.Length; } } + + public ProBuilderMesh this[int i] + { + get { return m_Shapes[i]; } + set { m_Shapes[i] = value; } + } + + public void Dispose() + { + for (int i = 0, c = m_Shapes.Length; i < c; i++) + Object.DestroyImmediate(m_Shapes[i].gameObject); + } + + IEnumerator IEnumerable.GetEnumerator() + { + return ((IEnumerable)m_Shapes).GetEnumerator(); + } + + public IEnumerator GetEnumerator() + { + return m_Shapes.GetEnumerator(); + } + } + + const MeshArrays k_DefaultMeshArraysCompare = ~MeshArrays.Lightmap; + + public static void AssertSequenceEqual(IList left, IList right) + { + Assert.AreEqual(left.Count, right.Count, "Count"); + + for (int i = 0, c = left.Count; i < c; i++) + Assert.AreEqual(left[i], right[i], "index " + i); + } + + public static void AssertMeshIsValid(ProBuilderMesh mesh) + { + Assert.That(mesh, Is.Not.Null); + Assert.That(mesh.vertexCount > 0); + Assert.That(mesh.positionsInternal.Length, Is.EqualTo(mesh.vertexCount)); + Assert.That(mesh.faceCount, Is.GreaterThan(0)); + } + + public static void AssertMeshAttributesValid(Mesh mesh) + { + int vertexCount = mesh.vertexCount; + + Vector3[] positions = mesh.vertices; + Color[] colors = mesh.colors; + Vector3[] normals = mesh.normals; + Vector4[] tangents = mesh.tangents; + Vector2[] uv0s = mesh.uv; + Vector2[] uv2s = mesh.uv2; + List uv3s = new List(); + List uv4s = new List(); + mesh.GetUVs(2, uv3s); + mesh.GetUVs(3, uv4s); + + bool _hasPositions = positions != null && positions.Length == vertexCount; + bool _hasColors = colors != null && colors.Length == vertexCount; + bool _hasNormals = normals != null && normals.Length == vertexCount; + bool _hasTangents = tangents != null && tangents.Length == vertexCount; + bool _hasUv0 = uv0s != null && uv0s.Length == vertexCount; + bool _hasUv2 = uv2s != null && uv2s.Length == vertexCount; + bool _hasUv3 = uv3s.Count == vertexCount; + bool _hasUv4 = uv4s.Count == vertexCount; + + for (int i = 0; i < vertexCount; i++) + { + if (_hasPositions) + { + Assert.IsFalse(float.IsNaN(positions[i].x), "mesh attribute \"position\" is NaN"); + Assert.IsFalse(float.IsNaN(positions[i].y), "mesh attribute \"position\" is NaN"); + Assert.IsFalse(float.IsNaN(positions[i].z), "mesh attribute \"position\" is NaN"); + } + + if (_hasColors) + { + Assert.IsFalse(float.IsNaN(colors[i].r), "mesh attribute \"color\" is NaN"); + Assert.IsFalse(float.IsNaN(colors[i].g), "mesh attribute \"color\" is NaN"); + Assert.IsFalse(float.IsNaN(colors[i].b), "mesh attribute \"color\" is NaN"); + Assert.IsFalse(float.IsNaN(colors[i].a), "mesh attribute \"color\" is NaN"); + } + + if (_hasNormals) + { + Assert.IsFalse(float.IsNaN(normals[i].x), "mesh attribute \"normal\" is NaN"); + Assert.IsFalse(float.IsNaN(normals[i].y), "mesh attribute \"normal\" is NaN"); + Assert.IsFalse(float.IsNaN(normals[i].z), "mesh attribute \"normal\" is NaN"); + } + + if (_hasTangents) + { + Assert.IsFalse(float.IsNaN(tangents[i].x), "mesh attribute \"tangent\" is NaN"); + Assert.IsFalse(float.IsNaN(tangents[i].y), "mesh attribute \"tangent\" is NaN"); + Assert.IsFalse(float.IsNaN(tangents[i].z), "mesh attribute \"tangent\" is NaN"); + Assert.IsFalse(float.IsNaN(tangents[i].w), "mesh attribute \"tangent\" is NaN"); + } + + if (_hasUv0) + { + Assert.IsFalse(float.IsNaN(uv0s[i].x), "mesh attribute \"uv0\" is NaN"); + Assert.IsFalse(float.IsNaN(uv0s[i].y), "mesh attribute \"uv0\" is NaN"); + } + + if (_hasUv2) + { + Assert.IsFalse(float.IsNaN(uv2s[i].x), "mesh attribute \"uv2\" is NaN"); + Assert.IsFalse(float.IsNaN(uv2s[i].y), "mesh attribute \"uv2\" is NaN"); + } + + if (_hasUv3) + { + Assert.IsFalse(float.IsNaN(uv3s[i].x), "mesh attribute \"uv3\" is NaN"); + Assert.IsFalse(float.IsNaN(uv3s[i].y), "mesh attribute \"uv3\" is NaN"); + Assert.IsFalse(float.IsNaN(uv3s[i].z), "mesh attribute \"uv3\" is NaN"); + Assert.IsFalse(float.IsNaN(uv3s[i].w), "mesh attribute \"uv3\" is NaN"); + } + + if (_hasUv4) + { + Assert.IsFalse(float.IsNaN(uv4s[i].x), "mesh attribute \"uv4\" is NaN"); + Assert.IsFalse(float.IsNaN(uv4s[i].y), "mesh attribute \"uv4\" is NaN"); + Assert.IsFalse(float.IsNaN(uv4s[i].z), "mesh attribute \"uv4\" is NaN"); + Assert.IsFalse(float.IsNaN(uv4s[i].w), "mesh attribute \"uv4\" is NaN"); + } + } + } + + /// + /// Compare two meshes for value-wise equality. + /// + /// + /// + /// + public static bool AssertAreEqual(Mesh expected, Mesh result, MeshArrays compare = k_DefaultMeshArraysCompare, + string message = null) + { + int vertexCount = expected.vertexCount; + int subMeshCount = expected.subMeshCount; + + Assert.AreEqual(vertexCount, result.vertexCount, expected.name + " != " + result.name + " (submesh count)"); + Assert.AreEqual(subMeshCount, result.subMeshCount, + expected.name + " != " + result.name + " (submesh count)"); + + Vertex[] leftVertices = expected.GetVertices(); + Vertex[] rightVertices = result.GetVertices(); + + for (int i = 0; i < vertexCount; i++) + Assert.True(leftVertices[i].Equals(rightVertices[i], compare), + expected.name + " != " + result.name + "\nExpected\n" + leftVertices[i].ToString("F5") + + "\n---\nReceived:\n" + rightVertices[i].ToString("F5")); + + List leftIndices = new List(); + List rightIndices = new List(); + + for (int i = 0; i < subMeshCount; i++) + { + uint indexCount = expected.GetIndexCount(i); + + Assert.AreEqual(expected.GetTopology(i), result.GetTopology(i)); + Assert.AreEqual(indexCount, result.GetIndexCount(i)); + + expected.GetIndices(leftIndices, i); + result.GetIndices(rightIndices, i); + + for (int n = 0; n < indexCount; n++) + Assert.AreEqual(leftIndices[n], rightIndices[n], message); + } + + return true; + } + + public static string GetResourcesPath(string assetName, int methodOffset = 0) + { + StackTrace trace = new StackTrace(1 + methodOffset, true); + StackFrame calling = trace.GetFrame(0); + + string filePath = calling.GetFileName(); + + if (string.IsNullOrEmpty(filePath)) + { + UnityEngine.Debug.LogError( + "Cannot generate mesh templates directory path from calling method. Please use the explicit SaveMeshTemplate overload."); + return null; + } + + string methodName = calling.GetMethod().Name; + + return string.Format("{0}/{1}/{2}/{3}", + typeof(T).ToString(), + Path.GetFileNameWithoutExtension(filePath), + methodName, + assetName); + } + + public static SimpleTuple CreateCubeWithNonContiguousMergedFace() + { + var cube = ShapeFactory.Instantiate(); + + Assume.That(cube, Is.Not.Null); + + int index = 1; + Face a = cube.faces[0], b = cube.faces[index++]; + Assume.That(a, Is.Not.Null); + Assume.That(b, Is.Not.Null); + + while (FacesAreAdjacent(cube, a, b) && index < cube.faceCount) + b = cube.faces[index++]; + + Assume.That(FacesAreAdjacent(cube, a, b), Is.False); + + var res = MergeElements.Merge(cube, new Face[] { a, b }); + + return new SimpleTuple(cube, res); + } + + static bool FacesAreAdjacent(ProBuilderMesh mesh, Face a, Face b) + { + for (int i = 0, c = a.edgesInternal.Length; i < c; i++) + { + var ea = mesh.GetSharedVertexHandleEdge(a.edgesInternal[i]); + + for (int n = 0; n < b.edgesInternal.Length; n++) + { + var eb = mesh.GetSharedVertexHandleEdge(b.edgesInternal[n]); + + if (ea == eb) + return true; + } + } + + return false; + } + + static Material s_RedMaterial = null; + public static Material redMaterial + { + get + { + if (s_RedMaterial == null) + { + s_RedMaterial = new Material(Shader.Find("Standard")); + s_RedMaterial.color = new Color32(0xFF, 0x00, 0x51, 0xFF); + } + + return s_RedMaterial; + } + } + + static Material s_BlueMaterial = null; + public static Material blueMaterial + { + get + { + if (s_BlueMaterial == null) + { + s_BlueMaterial = new Material(Shader.Find("Standard")); + s_BlueMaterial.color = new Color32(0x00, 0x8D, 0xFF, 0xFF); + } + + return s_BlueMaterial; + } + } + + static Material s_GreenMaterial = null; + public static Material greenMaterial + { + get + { + if (s_GreenMaterial == null) + { + s_GreenMaterial = new Material(Shader.Find("Standard")); + s_GreenMaterial.color = new Color32(0x37, 0xFF, 0x00, 0xFF); + } + + return s_GreenMaterial; + } + } + } +} diff --git a/Tests/Runtime/Utilities/RuntimeUtility.cs.meta b/Tests/Runtime/Utilities/RuntimeUtility.cs.meta new file mode 100644 index 000000000..11c52a714 --- /dev/null +++ b/Tests/Runtime/Utilities/RuntimeUtility.cs.meta @@ -0,0 +1,2 @@ +fileFormatVersion: 2 +guid: 9825aa6ff36981141a6cddf2049d5a41 \ No newline at end of file diff --git a/Tests/Templates/UnityEngine.Mesh/Editor.meta b/Tests/Templates/UnityEngine.Mesh/Editor.meta new file mode 100644 index 000000000..e25cc2b00 --- /dev/null +++ b/Tests/Templates/UnityEngine.Mesh/Editor.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: de6a10d97f2ba1742950c10f2a926d7f +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Tests/Templates/UnityEngine.Mesh/Editor/Import.meta b/Tests/Templates/UnityEngine.Mesh/Editor/Import.meta new file mode 100644 index 000000000..2c83d01e3 --- /dev/null +++ b/Tests/Templates/UnityEngine.Mesh/Editor/Import.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 37890f56688e87c468459a84dcf8b08b +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Tests/Templates/UnityEngine.Mesh/Editor/Import/MeshImporterTests.meta b/Tests/Templates/UnityEngine.Mesh/Editor/Import/MeshImporterTests.meta new file mode 100644 index 000000000..df448f9ac --- /dev/null +++ b/Tests/Templates/UnityEngine.Mesh/Editor/Import/MeshImporterTests.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e7943e4ac3827424b9389cbe1068141e +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Tests/Templates/UnityEngine.Mesh/Editor/Import/MeshImporterTests/ImportQuads_MatchesWindingOrder.meta b/Tests/Templates/UnityEngine.Mesh/Editor/Import/MeshImporterTests/ImportQuads_MatchesWindingOrder.meta new file mode 100644 index 000000000..434d6426a --- /dev/null +++ b/Tests/Templates/UnityEngine.Mesh/Editor/Import/MeshImporterTests/ImportQuads_MatchesWindingOrder.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 87cadde562c7ba1439aa266a596361e6 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Tests/Templates/UnityEngine.Mesh/Editor/Import/MeshImporterTests/ImportQuads_MatchesWindingOrder/imported-cube-quads.asset b/Tests/Templates/UnityEngine.Mesh/Editor/Import/MeshImporterTests/ImportQuads_MatchesWindingOrder/imported-cube-quads.asset new file mode 100644 index 000000000..3c1097a60 --- /dev/null +++ b/Tests/Templates/UnityEngine.Mesh/Editor/Import/MeshImporterTests/ImportQuads_MatchesWindingOrder/imported-cube-quads.asset @@ -0,0 +1,162 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!43 &4300000 +Mesh: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: imported-cube-quads + serializedVersion: 9 + m_SubMeshes: + - serializedVersion: 2 + firstByte: 0 + indexCount: 36 + topology: 0 + baseVertex: 0 + firstVertex: 0 + vertexCount: 24 + localAABB: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0.5, y: 0.5, z: 0.5} + m_Shapes: + vertices: [] + shapes: [] + channels: [] + fullWeights: [] + m_BindPose: [] + m_BoneNameHashes: + m_RootBoneNameHash: 0 + m_MeshCompression: 0 + m_IsReadable: 1 + m_KeepVertices: 1 + m_KeepIndices: 1 + m_IndexFormat: 0 + m_IndexBuffer: 000001000200020003000000040005000600060007000400080009000a000a000b0008000c000d000e000e000f000c00100011001200120013001000140015001600160017001400 + m_VertexData: + serializedVersion: 2 + m_VertexCount: 24 + m_Channels: + - stream: 0 + offset: 0 + format: 0 + dimension: 3 + - stream: 0 + offset: 12 + format: 0 + dimension: 3 + - stream: 0 + offset: 24 + format: 0 + dimension: 4 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 40 + format: 0 + dimension: 2 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + m_DataSize: 1152 + _typelessdata: 0000003f000000bf0000003f00000000000000000000803f000080bf0000000000000000000080bf0000c03e000000000000003f0000003f0000003f00000000000000000000803f000080bf0000000000000000000080bf0000c03e0000803e000000bf0000003f0000003f00000000000000000000803f000080bf0000000000000000000080bf0000203f0000803e000000bf000000bf0000003f00000000000000000000803f000080bf0000000000000000000080bf0000203f000000000000003f0000003f0000003f000000000000803f00000000000080bf0000000000000000000080bf0000c03e0000803e0000003f0000003f000000bf000000000000803f00000000000080bf0000000000000000000080bf0000c03e0000003f000000bf0000003f000000bf000000000000803f00000000000080bf0000000000000000000080bf0000203f0000003f000000bf0000003f0000003f000000000000803f00000000000080bf0000000000000000000080bf0000203f0000803e0000003f0000003f000000bf0000000000000000000080bf000080bf0000000000000000000080bf0000c03e0000003f0000003f000000bf000000bf0000000000000000000080bf000080bf0000000000000000000080bf0000c03e0000403f000000bf000000bf000000bf0000000000000000000080bf000080bf0000000000000000000080bf0000203f0000403f000000bf0000003f000000bf0000000000000000000080bf000080bf0000000000000000000080bf0000203f0000003f0000003f000000bf000000bf00000000000080bf00000000000080bf0000000000000000000080bf0000c03e0000403f0000003f000000bf0000003f00000000000080bf00000000000080bf0000000000000000000080bf0000c03e0000803f000000bf000000bf0000003f00000000000080bf00000000000080bf0000000000000000000080bf0000203f0000803f000000bf000000bf000000bf00000000000080bf00000000000080bf0000000000000000000080bf0000203f0000403f000000bf000000bf0000003f000080bf00000000000000000000000000000000000080bf000080bf0000203f00000000000000bf0000003f0000003f000080bf00000000000000000000000000000000000080bf000080bf0000203f0000803e000000bf0000003f000000bf000080bf00000000000000000000000000000000000080bf000080bf0000603f0000803e000000bf000000bf000000bf000080bf00000000000000000000000000000000000080bf000080bf0000603f000000000000003f000000bf000000bf0000803f000000000000000000000000000000000000803f000080bf0000003e000000000000003f0000003f000000bf0000803f000000000000000000000000000000000000803f000080bf0000003e0000803e0000003f0000003f0000003f0000803f000000000000000000000000000000000000803f000080bf0000c03e0000803e0000003f000000bf0000003f0000803f000000000000000000000000000000000000803f000080bf0000c03e00000000 + m_CompressedMesh: + m_Vertices: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_UV: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Normals: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Tangents: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Weights: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_NormalSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_TangentSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_FloatColors: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_BoneIndices: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_Triangles: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_UVInfo: 0 + m_LocalAABB: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0.5, y: 0.5, z: 0.5} + m_MeshUsageFlags: 0 + m_BakedConvexCollisionMesh: + m_BakedTriangleCollisionMesh: + m_MeshMetrics[0]: 1 + m_MeshMetrics[1]: 1 + m_MeshOptimized: 0 + m_StreamData: + offset: 0 + size: 0 + path: diff --git a/Tests/Templates/UnityEngine.Mesh/Editor/Import/MeshImporterTests/ImportQuads_MatchesWindingOrder/imported-cube-quads.asset.meta b/Tests/Templates/UnityEngine.Mesh/Editor/Import/MeshImporterTests/ImportQuads_MatchesWindingOrder/imported-cube-quads.asset.meta new file mode 100644 index 000000000..9e4968161 --- /dev/null +++ b/Tests/Templates/UnityEngine.Mesh/Editor/Import/MeshImporterTests/ImportQuads_MatchesWindingOrder/imported-cube-quads.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: f2aea21938250da4cb5eff745ef686c0 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 4300000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Tests/Templates/UnityEngine.Mesh/Editor/Import/MeshImporterTests/ImportQuads_MatchesWindingOrder/imported-cube-triangles.asset b/Tests/Templates/UnityEngine.Mesh/Editor/Import/MeshImporterTests/ImportQuads_MatchesWindingOrder/imported-cube-triangles.asset new file mode 100644 index 000000000..d33daecf4 --- /dev/null +++ b/Tests/Templates/UnityEngine.Mesh/Editor/Import/MeshImporterTests/ImportQuads_MatchesWindingOrder/imported-cube-triangles.asset @@ -0,0 +1,162 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!43 &4300000 +Mesh: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: imported-cube-triangles + serializedVersion: 9 + m_SubMeshes: + - serializedVersion: 2 + firstByte: 0 + indexCount: 36 + topology: 0 + baseVertex: 0 + firstVertex: 0 + vertexCount: 24 + localAABB: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0.5, y: 0.5, z: 0.5} + m_Shapes: + vertices: [] + shapes: [] + channels: [] + fullWeights: [] + m_BindPose: [] + m_BoneNameHashes: + m_RootBoneNameHash: 0 + m_MeshCompression: 0 + m_IsReadable: 1 + m_KeepVertices: 1 + m_KeepIndices: 1 + m_IndexFormat: 0 + m_IndexBuffer: 000001000200000002000300040005000600040006000700080009000a0008000a000b000c000d000e000c000e000f00100011001200100012001300140015001600140016001700 + m_VertexData: + serializedVersion: 2 + m_VertexCount: 24 + m_Channels: + - stream: 0 + offset: 0 + format: 0 + dimension: 3 + - stream: 0 + offset: 12 + format: 0 + dimension: 3 + - stream: 0 + offset: 24 + format: 0 + dimension: 4 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 40 + format: 0 + dimension: 2 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + - stream: 0 + offset: 0 + format: 0 + dimension: 0 + m_DataSize: 1152 + _typelessdata: 0000003f000000bf0000003f00000000000000000000803f000080bf0000000000000000000080bf0000c03e000000000000003f0000003f0000003f00000000000000000000803f000080bf0000000000000000000080bf0000c03e0000803e000000bf0000003f0000003f00000000000000000000803f000080bf0000000000000000000080bf0000203f0000803e000000bf000000bf0000003f00000000000000000000803f000080bf0000000000000000000080bf0000203f000000000000003f0000003f0000003f000000000000803f00000000000080bf0000000000000000000080bf0000c03e0000803e0000003f0000003f000000bf000000000000803f00000000000080bf0000000000000000000080bf0000c03e0000003f000000bf0000003f000000bf000000000000803f00000000000080bf0000000000000000000080bf0000203f0000003f000000bf0000003f0000003f000000000000803f00000000000080bf0000000000000000000080bf0000203f0000803e0000003f0000003f000000bf0000000000000000000080bf000080bf0000000000000000000080bf0000c03e0000003f0000003f000000bf000000bf0000000000000000000080bf000080bf0000000000000000000080bf0000c03e0000403f000000bf000000bf000000bf0000000000000000000080bf000080bf0000000000000000000080bf0000203f0000403f000000bf0000003f000000bf0000000000000000000080bf000080bf0000000000000000000080bf0000203f0000003f0000003f000000bf000000bf00000000000080bf00000000000080bf0000000000000000000080bf0000c03e0000403f0000003f000000bf0000003f00000000000080bf00000000000080bf0000000000000000000080bf0000c03e0000803f000000bf000000bf0000003f00000000000080bf00000000000080bf0000000000000000000080bf0000203f0000803f000000bf000000bf000000bf00000000000080bf00000000000080bf0000000000000000000080bf0000203f0000403f000000bf000000bf0000003f000080bf00000000000000000000000000000000000080bf000080bf0000203f00000000000000bf0000003f0000003f000080bf00000000000000000000000000000000000080bf000080bf0000203f0000803e000000bf0000003f000000bf000080bf00000000000000000000000000000000000080bf000080bf0000603f0000803e000000bf000000bf000000bf000080bf00000000000000000000000000000000000080bf000080bf0000603f000000000000003f000000bf000000bf0000803f000000000000000000000000000000000000803f000080bf0000003e000000000000003f0000003f000000bf0000803f000000000000000000000000000000000000803f000080bf0000003e0000803e0000003f0000003f0000003f0000803f000000000000000000000000000000000000803f000080bf0000c03e0000803e0000003f000000bf0000003f0000803f000000000000000000000000000000000000803f000080bf0000c03e00000000 + m_CompressedMesh: + m_Vertices: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_UV: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Normals: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Tangents: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_Weights: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_NormalSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_TangentSigns: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_FloatColors: + m_NumItems: 0 + m_Range: 0 + m_Start: 0 + m_Data: + m_BitSize: 0 + m_BoneIndices: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_Triangles: + m_NumItems: 0 + m_Data: + m_BitSize: 0 + m_UVInfo: 0 + m_LocalAABB: + m_Center: {x: 0, y: 0, z: 0} + m_Extent: {x: 0.5, y: 0.5, z: 0.5} + m_MeshUsageFlags: 0 + m_BakedConvexCollisionMesh: + m_BakedTriangleCollisionMesh: + m_MeshMetrics[0]: 1 + m_MeshMetrics[1]: 1 + m_MeshOptimized: 0 + m_StreamData: + offset: 0 + size: 0 + path: diff --git a/Tests/Templates/UnityEngine.Mesh/Editor/Import/MeshImporterTests/ImportQuads_MatchesWindingOrder/imported-cube-triangles.asset.meta b/Tests/Templates/UnityEngine.Mesh/Editor/Import/MeshImporterTests/ImportQuads_MatchesWindingOrder/imported-cube-triangles.asset.meta new file mode 100644 index 000000000..05d8f89a0 --- /dev/null +++ b/Tests/Templates/UnityEngine.Mesh/Editor/Import/MeshImporterTests/ImportQuads_MatchesWindingOrder/imported-cube-triangles.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c6d2f6ad17bb39a468ca0968ba1d54dc +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 4300000 + userData: + assetBundleName: + assetBundleVariant: