Add TextureEntry.realize() to ease indexing into specific faces

This commit is contained in:
Salad Dais
2022-07-14 03:10:11 +00:00
parent 58db8f66de
commit 4b963f96d2
2 changed files with 34 additions and 2 deletions

View File

@@ -12,12 +12,18 @@ EXAMPLE_TE = b'\x89UgG$\xcbC\xed\x92\x0bG\xca\xed\x15F_\x08\xca*\x98:\x18\x02,\r
class TemplateTests(unittest.TestCase):
def test_te_round_trips(self):
deserialized = TextureEntrySubfieldSerializer.deserialize(None, EXAMPLE_TE)
serialized = TextureEntrySubfieldSerializer.serialize(None, deserialized)
self.assertEqual(EXAMPLE_TE, serialized)
def test_realize_te(self):
deserialized: TextureEntry = TextureEntrySubfieldSerializer.deserialize(None, EXAMPLE_TE)
realized = deserialized.realize(num_faces=4)
self.assertEqual(UUID('ca2a983a-1802-2c0d-f41e-c6f591015d83'), realized["Textures"][3])
with self.assertRaises(ValueError):
deserialized.realize(3)
def test_face_bitfield_round_trips(self):
test_val = b"\x81\x03"
reader = se.BufferReader("!", test_val)