|
|
|
@ -105,6 +105,7 @@ class MeshData(unittest.TestCase): |
|
|
|
# Creating a custom attribute |
|
|
|
# Creating a custom attribute |
|
|
|
a = trade.MeshAttribute.CUSTOM(17) |
|
|
|
a = trade.MeshAttribute.CUSTOM(17) |
|
|
|
self.assertTrue(a.is_custom) |
|
|
|
self.assertTrue(a.is_custom) |
|
|
|
|
|
|
|
if hasattr(a, 'value'): # only since pybind11 2.6.2 |
|
|
|
self.assertEqual(a.value, 32768 + 17) |
|
|
|
self.assertEqual(a.value, 32768 + 17) |
|
|
|
self.assertEqual(a.custom_value, 17) |
|
|
|
self.assertEqual(a.custom_value, 17) |
|
|
|
self.assertEqual(a.name, "CUSTOM(17)") |
|
|
|
self.assertEqual(a.name, "CUSTOM(17)") |
|
|
|
@ -115,6 +116,7 @@ class MeshData(unittest.TestCase): |
|
|
|
# custom by all APIs |
|
|
|
# custom by all APIs |
|
|
|
zero = trade.MeshAttribute.CUSTOM(0) |
|
|
|
zero = trade.MeshAttribute.CUSTOM(0) |
|
|
|
self.assertTrue(zero.is_custom) |
|
|
|
self.assertTrue(zero.is_custom) |
|
|
|
|
|
|
|
if hasattr(zero, 'value'): # only since pybind11 2.6.2 |
|
|
|
self.assertEqual(zero.value, 32768) |
|
|
|
self.assertEqual(zero.value, 32768) |
|
|
|
self.assertEqual(zero.custom_value, 0) |
|
|
|
self.assertEqual(zero.custom_value, 0) |
|
|
|
self.assertEqual(zero.name, "CUSTOM(0)") |
|
|
|
self.assertEqual(zero.name, "CUSTOM(0)") |
|
|
|
@ -124,6 +126,7 @@ class MeshData(unittest.TestCase): |
|
|
|
# Largest possible custom value |
|
|
|
# Largest possible custom value |
|
|
|
largest = trade.MeshAttribute.CUSTOM(32767) |
|
|
|
largest = trade.MeshAttribute.CUSTOM(32767) |
|
|
|
self.assertTrue(largest.is_custom) |
|
|
|
self.assertTrue(largest.is_custom) |
|
|
|
|
|
|
|
if hasattr(largest, 'value'): # only since pybind11 2.6.2 |
|
|
|
self.assertEqual(largest.value, 65535) |
|
|
|
self.assertEqual(largest.value, 65535) |
|
|
|
self.assertEqual(largest.custom_value, 32767) |
|
|
|
self.assertEqual(largest.custom_value, 32767) |
|
|
|
|
|
|
|
|
|
|
|
@ -134,6 +137,7 @@ class MeshData(unittest.TestCase): |
|
|
|
# Accessing properties on builtin values should still work as expected |
|
|
|
# Accessing properties on builtin values should still work as expected |
|
|
|
b = trade.MeshAttribute.BITANGENT |
|
|
|
b = trade.MeshAttribute.BITANGENT |
|
|
|
self.assertFalse(b.is_custom) |
|
|
|
self.assertFalse(b.is_custom) |
|
|
|
|
|
|
|
if hasattr(b, 'value'): # only since pybind11 2.6.2 |
|
|
|
self.assertEqual(b.value, 3) |
|
|
|
self.assertEqual(b.value, 3) |
|
|
|
with self.assertRaisesRegex(AttributeError, "not a custom value"): |
|
|
|
with self.assertRaisesRegex(AttributeError, "not a custom value"): |
|
|
|
b.custom_value |
|
|
|
b.custom_value |
|
|
|
|