public IEnumerator ImportAsync_ThreeObj_HasThreeChildren() { ObjImporter objImporter = SetUpObjImporter(threeObj, threeMtl); Task <GameObject> task = objImporter.ImportAsync("http://test.org/test.obj"); yield return(AsyncTest.WaitForTask(task)); GameObject res = task.Result; Assert.AreEqual(3, res.transform.childCount); }
public IEnumerator ImportAsync_CubeObj_HasChild() { ObjImporter objImporter = SetUpObjImporter(cubeObj, cubeMtl); Task <GameObject> testTask = objImporter.ImportAsync("http://test.org/test.obj"); yield return(AsyncTest.WaitForTask(testTask)); GameObject res = testTask.Result; Assert.NotNull(res); Assert.AreEqual(1, res.transform.childCount); }
public IEnumerator ImportAsync_WebRequestSuccess_SetName() { ObjImporter objImporter = SetUpObjImporter(cubeObj, cubeMtl); Task <GameObject> task = objImporter.ImportAsync("http://test.org/test.obj"); yield return(AsyncTest.WaitForTask(task)); GameObject res = task.Result; Assert.NotNull(res); Assert.AreEqual("test", res.name); }
public IEnumerator ImportAsync_CubeObj_ChildHasCorrectMaterial() { ObjImporter objImporter = SetUpObjImporter(cubeObj, cubeMtl); Task <GameObject> task = objImporter.ImportAsync("http://test.org/test.obj"); yield return(AsyncTest.WaitForTask(task)); GameObject res = task.Result; MeshRenderer mr = res.transform.GetChild(0).GetComponent <MeshRenderer>(); Assert.AreEqual("TestMaterial", mr.sharedMaterial.name); }
public IEnumerator ImportAsync_CubeObj_ChildHasCorrectMesh() { ObjImporter objImporter = SetUpObjImporter(cubeObj, cubeMtl); Task <GameObject> task = objImporter.ImportAsync("http://test.org/test.obj"); yield return(AsyncTest.WaitForTask(task)); GameObject res = task.Result; MeshFilter mf = res.transform.GetChild(0).GetComponent <MeshFilter>(); Assert.AreEqual(24, mf.sharedMesh.vertices.Length); // 8 * 3 = 24 (every vertex belongs to three triangles) Assert.AreEqual(36, mf.sharedMesh.triangles.Length); // 12 *3 = 36 }
public IEnumerator ImportAsync_EmptyObj_ReturnGameObject() { ObjImporter objImporter = SetUpObjImporter(emptyObj, emptyMtl); LogAssert.Expect(LogType.Warning, new Regex(@"\w*There is an object without parsed vertices\w*")); LogAssert.Expect(LogType.Error, new Regex(@"\w*No objects could be constructed.\w*")); Task <GameObject> task = objImporter.ImportAsync("http://test.org/test.obj"); yield return(AsyncTest.WaitForTask(task)); GameObject res = task.Result; Assert.NotNull(res); Assert.AreEqual(0, res.transform.childCount); }
public IEnumerator ImportAsync_CubeObj_ChildHasComponents() { ObjImporter objImporter = SetUpObjImporter(cubeObj, cubeMtl); Task <GameObject> task = objImporter.ImportAsync("http://test.org/test.obj"); yield return(AsyncTest.WaitForTask(task)); GameObject res = task.Result; MeshFilter mf = res.transform.GetChild(0).GetComponent <MeshFilter>(); Assert.NotNull(mf); MeshRenderer mr = res.transform.GetChild(0).GetComponent <MeshRenderer>(); Assert.NotNull(mr); }
public IEnumerator ImportAsync_WebRequestFailed_ReturnNull() { ObjImporter objImporter = new ObjImporter(); IServiceManager serviceManager = A.Fake <IServiceManager>(); objImporter.Initialize(serviceManager); objImporter.ContentLoader = FakeContentLoaderFactory.CreateFakeFailLoader <string>(); LogAssert.Expect(LogType.Error, new Regex(@"\w*Error fetching obj. No object imported\w*")); Task <GameObject> task = objImporter.ImportAsync("http://test.org/test.obj"); yield return(AsyncTest.WaitForTask(task)); GameObject res = task.Result; Assert.Null(res); }
public IEnumerator ImportAsync_ObjFetchSuccessMtlFetchFail_CreateObjectWithDefaultMat() { ObjImporter objImporter = SetUpObjImporter(cubeObj, ""); objImporter.MtlLibrary.ContentLoader = FakeContentLoaderFactory.CreateFakeFailLoader <string>(); LogAssert.Expect(LogType.Error, new Regex(@"\w*This is a simulated fail\w*")); LogAssert.Expect(LogType.Error, new Regex(@"\w*Could not load .mtl file\w*")); Task <GameObject> task = objImporter.ImportAsync("http://test.org/test.obj"); yield return(AsyncTest.WaitForTask(task)); GameObject res = task.Result; Assert.NotNull(res); Assert.AreEqual(1, res.transform.childCount); MeshRenderer mr = res.transform.GetChild(0).GetComponent <MeshRenderer>(); Assert.AreEqual("New Material", mr.sharedMaterial.name); }