Browse Source

code cleanup

Bert Temme 2 years ago
parent
commit
cf54bdf89b

+ 2 - 45
src/SharpGLTF.Cesium/BinaryTable.cs

@@ -1,6 +1,7 @@
 using System;
 using System.Collections.Generic;
 using System.Linq;
+using System.Runtime.InteropServices;
 using System.Text;
 
 namespace SharpGLTF
@@ -65,51 +66,7 @@ namespace SharpGLTF
             Guard.IsTrue(isValueType, nameof(T), "T must be a value type");
 
             var type = typeof(T);
-            int size = 0;
-            if (type == typeof(sbyte))
-            {
-                size = sizeof(sbyte);
-            }
-            else if (type == typeof(byte))
-            {
-                size = sizeof(byte);
-            }
-            else if (type == typeof(short))
-            {
-                size = sizeof(short);
-            }
-            else if (type == typeof(ushort))
-            {
-                size = sizeof(ushort);
-            }
-            else if (type == typeof(int))
-            {
-                size = sizeof(int);
-            }
-            else if (type == typeof(uint))
-            {
-                size = sizeof(uint);
-            }
-            else if (type == typeof(long))
-            {
-                size = sizeof(long);
-            }
-            else if (type == typeof(ulong))
-            {
-                size = sizeof(ulong);
-            }
-            else if (type == typeof(float))
-            {
-                size = sizeof(float);
-            }
-            else if (type == typeof(double))
-            {
-                size = sizeof(double);
-            }
-            else if (type == typeof(bool))
-            {
-                size = sizeof(bool);
-            }
+            int size = Marshal.SizeOf(Activator.CreateInstance(type));
             return size;
         }
 

+ 1 - 29
tests/SharpGLTF.Cesium.Tests/BinaryTableTests.cs

@@ -9,39 +9,11 @@ namespace SharpGLTF
         [Test]
         public void TestBinaryConversion()
         {
-            var bytes = BinaryTable.GetBytes(GetTestArray<sbyte>());
-            Assert.That(bytes.Length, Is.EqualTo(BinaryTable.GetSize<sbyte>() * 2));
-
-            bytes = BinaryTable.GetBytes(GetTestArray<byte>());
+            var bytes = BinaryTable.GetBytes(GetTestArray<byte>());
             Assert.That(bytes.Length, Is.EqualTo(BinaryTable.GetSize<byte>() * 2));
 
-            bytes = BinaryTable.GetBytes(GetTestArray<short>());
-            Assert.That(bytes.Length, Is.EqualTo(BinaryTable.GetSize<short>() * 2));
-
-            bytes = BinaryTable.GetBytes(GetTestArray<ushort>());
-            Assert.That(bytes.Length, Is.EqualTo(BinaryTable.GetSize<ushort>() * 2));
-
             bytes = BinaryTable.GetBytes(GetTestArray<int>());
             Assert.That(bytes.Length, Is.EqualTo(BinaryTable.GetSize<int>() * 2));
-
-            bytes = BinaryTable.GetBytes(GetTestArray<uint>());
-            Assert.That(bytes.Length, Is.EqualTo(BinaryTable.GetSize<uint>() * 2));
-
-            bytes = BinaryTable.GetBytes(GetTestArray<long>());
-            Assert.That(bytes.Length, Is.EqualTo(BinaryTable.GetSize<long>() * 2));
-
-            bytes = BinaryTable.GetBytes(GetTestArray<long>());
-            Assert.That(bytes.Length, Is.EqualTo(BinaryTable.GetSize<long>() * 2));
-
-            bytes = BinaryTable.GetBytes(GetTestArray<ulong>());
-            Assert.That(bytes.Length, Is.EqualTo(BinaryTable.GetSize<ulong>() * 2));
-
-            bytes = BinaryTable.GetBytes(GetTestArray<float>());
-            Assert.That(bytes.Length, Is.EqualTo(BinaryTable.GetSize<float>() * 2));
-
-            bytes = BinaryTable.GetBytes(GetTestArray<double>());
-            Assert.That(bytes.Length, Is.EqualTo(BinaryTable.GetSize<double>() * 2));
-
             bytes = BinaryTable.GetBytes(new List<string>() { "a", "b" });
             Assert.That(bytes.Length, Is.EqualTo(2));