From e8ef1378548a05b3209bfd3ca478ccc26a79e5b6 Mon Sep 17 00:00:00 2001 From: "andrew.lee" Date: Wed, 4 Jan 2023 16:02:53 -0500 Subject: [PATCH 1/5] [USDU-249] Adds test case for InitUsd --- .../Tests/Editor/InitUsdTests.cs | 73 +++++++++++++++++++ .../Tests/Editor/InitUsdTests.cs.meta | 11 +++ 2 files changed, 84 insertions(+) create mode 100644 package/com.unity.formats.usd/Tests/Editor/InitUsdTests.cs create mode 100644 package/com.unity.formats.usd/Tests/Editor/InitUsdTests.cs.meta diff --git a/package/com.unity.formats.usd/Tests/Editor/InitUsdTests.cs b/package/com.unity.formats.usd/Tests/Editor/InitUsdTests.cs new file mode 100644 index 000000000..3d7123070 --- /dev/null +++ b/package/com.unity.formats.usd/Tests/Editor/InitUsdTests.cs @@ -0,0 +1,73 @@ +using System.Collections; +using System.IO; +using NUnit.Framework; +using UnityEditor; +using UnityEngine; +using UnityEngine.TestTools; +using USD.NET; +using USD.NET.Unity; +using System.Reflection; +using Unity.Formats.USD; +using System.Runtime.CompilerServices; + +public class InitUsdTests +{ + [Test] + [Ignore("[USDU-249]")] + public void SetupUsdPath_InvalidPath_Error() + { + // SetupUsdPath function is a private function + var setUpMethod = GetMethod("SetupUsdPath"); + + try + { + setUpMethod.Invoke(null, new object[] { "\\NonExisting\\Path\\" }); + } + catch (TargetInvocationException e) + { + Assert.AreEqual(e.InnerException.GetType(), typeof(FileNotFoundException)); + return; + } + + Assert.Fail("Exception was expected but none was thrown"); + } + + [Test] + public void SetupUsdPath_EmptyPath_Error() + { + // SetupUsdPath function is a private function + var setUpMethod = GetMethod("SetupUsdPath"); + + try + { + setUpMethod.Invoke(null, new object[] { "" }); + } + catch (TargetInvocationException e) + { + Assert.AreEqual(e.InnerException.GetType(), typeof(System.ArgumentException)); + return; + } + + Assert.Fail("Exception was expected but none was thrown"); + } + + [Test] + public void InitUsd_Initialize() + { + // Reset 'm_usdInitialized' for accurate testing + var isUsdInitialized = typeof(InitUsd).GetField("m_usdInitialized", (BindingFlags.Static | BindingFlags.NonPublic)); + isUsdInitialized.SetValue(null, false); + + Assert.True(InitUsd.Initialize()); + } + + private MethodInfo GetMethod(string methodName) + { + var method = typeof(InitUsd).GetMethod(methodName, (BindingFlags.NonPublic | BindingFlags.Static)); + + if (method == null) + Assert.Fail(string.Format("{0} method not found", methodName)); + + return method; + } +} diff --git a/package/com.unity.formats.usd/Tests/Editor/InitUsdTests.cs.meta b/package/com.unity.formats.usd/Tests/Editor/InitUsdTests.cs.meta new file mode 100644 index 000000000..5b330c506 --- /dev/null +++ b/package/com.unity.formats.usd/Tests/Editor/InitUsdTests.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 321361317709ca04bb9c63cea4906b0a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: From 33342e66d67e34ba7dfe5aaff24092f00ba83500 Mon Sep 17 00:00:00 2001 From: "andrew.lee" Date: Wed, 4 Jan 2023 16:09:01 -0500 Subject: [PATCH 2/5] Adds teardown step resetting InitUsd.m_usdInitialized value to false after tests --- .../com.unity.formats.usd/Tests/Editor/InitUsdTests.cs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/package/com.unity.formats.usd/Tests/Editor/InitUsdTests.cs b/package/com.unity.formats.usd/Tests/Editor/InitUsdTests.cs index 3d7123070..b1d5d3b44 100644 --- a/package/com.unity.formats.usd/Tests/Editor/InitUsdTests.cs +++ b/package/com.unity.formats.usd/Tests/Editor/InitUsdTests.cs @@ -55,12 +55,18 @@ public void SetupUsdPath_EmptyPath_Error() public void InitUsd_Initialize() { // Reset 'm_usdInitialized' for accurate testing - var isUsdInitialized = typeof(InitUsd).GetField("m_usdInitialized", (BindingFlags.Static | BindingFlags.NonPublic)); - isUsdInitialized.SetValue(null, false); + ResetInitUsd(); Assert.True(InitUsd.Initialize()); } + [TearDown] + public void ResetInitUsd() + { + var isUsdInitialized = typeof(InitUsd).GetField("m_usdInitialized", (BindingFlags.Static | BindingFlags.NonPublic)); + isUsdInitialized.SetValue(null, false); + } + private MethodInfo GetMethod(string methodName) { var method = typeof(InitUsd).GetMethod(methodName, (BindingFlags.NonPublic | BindingFlags.Static)); From a245e3d6ef2ce1b27d3d7a87af452de4ec4d3275 Mon Sep 17 00:00:00 2001 From: "andrew.lee" Date: Wed, 4 Jan 2023 16:18:26 -0500 Subject: [PATCH 3/5] Removes un-needed include statements --- package/com.unity.formats.usd/Tests/Editor/InitUsdTests.cs | 7 ------- 1 file changed, 7 deletions(-) diff --git a/package/com.unity.formats.usd/Tests/Editor/InitUsdTests.cs b/package/com.unity.formats.usd/Tests/Editor/InitUsdTests.cs index b1d5d3b44..0dda7cc13 100644 --- a/package/com.unity.formats.usd/Tests/Editor/InitUsdTests.cs +++ b/package/com.unity.formats.usd/Tests/Editor/InitUsdTests.cs @@ -1,14 +1,7 @@ -using System.Collections; using System.IO; using NUnit.Framework; -using UnityEditor; -using UnityEngine; -using UnityEngine.TestTools; -using USD.NET; -using USD.NET.Unity; using System.Reflection; using Unity.Formats.USD; -using System.Runtime.CompilerServices; public class InitUsdTests { From 06897df318b9228c04e03fdbb32772417ceffccf Mon Sep 17 00:00:00 2001 From: "andrew.lee" Date: Wed, 4 Jan 2023 16:20:00 -0500 Subject: [PATCH 4/5] Fixes if statement bracket formatting --- package/com.unity.formats.usd/Tests/Editor/InitUsdTests.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/package/com.unity.formats.usd/Tests/Editor/InitUsdTests.cs b/package/com.unity.formats.usd/Tests/Editor/InitUsdTests.cs index 0dda7cc13..a974409a8 100644 --- a/package/com.unity.formats.usd/Tests/Editor/InitUsdTests.cs +++ b/package/com.unity.formats.usd/Tests/Editor/InitUsdTests.cs @@ -65,7 +65,9 @@ private MethodInfo GetMethod(string methodName) var method = typeof(InitUsd).GetMethod(methodName, (BindingFlags.NonPublic | BindingFlags.Static)); if (method == null) + { Assert.Fail(string.Format("{0} method not found", methodName)); + } return method; } From 7027e600d5213e4f2a62a3bcfcd4891b3c3a3ae9 Mon Sep 17 00:00:00 2001 From: "andrew.lee" Date: Mon, 9 Jan 2023 15:09:19 -0500 Subject: [PATCH 5/5] Remove try catch and simplify by just using assert.throws --- .../Tests/Editor/InitUsdTests.cs | 33 ++++++------------- 1 file changed, 10 insertions(+), 23 deletions(-) diff --git a/package/com.unity.formats.usd/Tests/Editor/InitUsdTests.cs b/package/com.unity.formats.usd/Tests/Editor/InitUsdTests.cs index a974409a8..70a3081a0 100644 --- a/package/com.unity.formats.usd/Tests/Editor/InitUsdTests.cs +++ b/package/com.unity.formats.usd/Tests/Editor/InitUsdTests.cs @@ -2,6 +2,7 @@ using NUnit.Framework; using System.Reflection; using Unity.Formats.USD; +using UnityEngine; public class InitUsdTests { @@ -9,20 +10,14 @@ public class InitUsdTests [Ignore("[USDU-249]")] public void SetupUsdPath_InvalidPath_Error() { + var invalidFilePath = "\\NonExisting\\Path\\"; + // SetupUsdPath function is a private function var setUpMethod = GetMethod("SetupUsdPath"); - try - { - setUpMethod.Invoke(null, new object[] { "\\NonExisting\\Path\\" }); - } - catch (TargetInvocationException e) - { - Assert.AreEqual(e.InnerException.GetType(), typeof(FileNotFoundException)); - return; - } - - Assert.Fail("Exception was expected but none was thrown"); + var expectedError = Assert.Throws(() => setUpMethod.Invoke(null, new object[] { invalidFilePath }), "Error was expected but not thrown"); + Assert.IsInstanceOf(expectedError.InnerException); + Assert.AreEqual(string.Format("Could not find file '{0}'.", invalidFilePath), expectedError.InnerException.Message, "Unexpected error message was given"); } [Test] @@ -31,17 +26,9 @@ public void SetupUsdPath_EmptyPath_Error() // SetupUsdPath function is a private function var setUpMethod = GetMethod("SetupUsdPath"); - try - { - setUpMethod.Invoke(null, new object[] { "" }); - } - catch (TargetInvocationException e) - { - Assert.AreEqual(e.InnerException.GetType(), typeof(System.ArgumentException)); - return; - } - - Assert.Fail("Exception was expected but none was thrown"); + var expectedError = Assert.Throws(() => setUpMethod.Invoke(null, new object[] { "" }), "Error was expected but not thrown"); + Assert.IsInstanceOf(expectedError.InnerException); + Assert.AreEqual("The specified path is not of a legal form (empty).", expectedError.InnerException.Message, "Unexpected error message was given"); } [Test] @@ -50,7 +37,7 @@ public void InitUsd_Initialize() // Reset 'm_usdInitialized' for accurate testing ResetInitUsd(); - Assert.True(InitUsd.Initialize()); + Assert.True(InitUsd.Initialize(), "USD Initialize failed"); } [TearDown]