diff --git a/Assets/UniGLTF/Tests/UniGLTF/MeshTests.cs b/Assets/UniGLTF/Tests/UniGLTF/MeshTests.cs new file mode 100644 index 000000000..840fd67f7 --- /dev/null +++ b/Assets/UniGLTF/Tests/UniGLTF/MeshTests.cs @@ -0,0 +1,63 @@ +using System; +using System.Collections.Generic; +using System.IO; +using NUnit.Framework; + +namespace UniGLTF +{ + public class MeshTests + { + [Test] + public void AccessorTest() + { + byte[] bytes = default; + using(var ms = new MemoryStream()) + using(var w = new BinaryWriter(ms)) + { + w.Write(1.0f); + w.Write(2.0f); + w.Write(3.0f); + w.Write(4.0f); + w.Write(5.0f); + w.Write(6.0f); + w.Write(7.0f); + w.Write(8.0f); + bytes = ms.ToArray(); + } + var storage = new SimpleStorage(new ArraySegment(bytes)); + + var gltf = new glTF + { + buffers=new List + { + new glTFBuffer + { + } + }, + bufferViews = new List + { + new glTFBufferView{ + buffer=0, + byteLength=32, + byteOffset=0, + } + }, + accessors = new List + { + new glTFAccessor{ + bufferView = 0, + componentType=glComponentType.FLOAT, + count=2, + byteOffset=0, + type="VEC4", + } + } + }; + gltf.buffers[0].OpenStorage(storage); + + var (getter, len) = WeightsAccessor.GetAccessor(gltf, 0); + Assert.AreEqual((1.0f, 2.0f, 3.0f, 4.0f), getter(0)); + Assert.AreEqual((5.0f, 6.0f, 7.0f, 8.0f), getter(1)); + } + } +} diff --git a/Assets/UniGLTF/Tests/UniGLTF/MeshTests.cs.meta b/Assets/UniGLTF/Tests/UniGLTF/MeshTests.cs.meta new file mode 100644 index 000000000..4f4af94e9 --- /dev/null +++ b/Assets/UniGLTF/Tests/UniGLTF/MeshTests.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 319f54b4f10c93a4d80670e424f4fe34 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: