GSoC/GCI Archive
Google Code-in 2013 Copyleft Games

PySoy: Mesh Unittests

completed by: Matt Habel

mentors: Anthus Williams, Arc Riley, David Czech

Write unit tests to ensure that the new soy.bodies.Mesh is working properly.

soy.bodies.Mesh is a list-like sequence of soy.atoms.Face

soy.atoms.Face has (at least)four properties - 3 verticies (a, b, c) and material. Additional properties for smooth, etc, can be added later.

soy.atoms.Vertex is position, normal, texcoord, and tangent for a vertex.

Vertex atoms may be added to more than one Face. Faces may be added to more than one Mesh. If a Vertex object being used by more than one Face in a single Mesh is forgotted by Python (eg, "del(vertex)"), grabbing a new Vertex object pointing to the same vertex should have the same shared association within the same Mesh.

This unit test need pass right now. This task may even be done before the objects its for are available to Python, in which case this is an example of test-driven development.

While working on this task you should join and remain in #PySoy on Freenode to get help, feedback, and guidance from mentors and other developers. Code updates which may affect your work are also announced here as they happen.

When you've done, commit your work and post the resulting changeset url to this task.