public void SingleVertex() { var vertices = new List <char> { 'a' }; VertexOptimization.OptimizeVertexData(vertices, out List <char> newVertices, out List <int> newIndices); CollectionAssert.AreEqual(vertices, newVertices); CollectionAssert.AreEqual(new List <int> { 0 }, newIndices); }
public void ThreeIdenticalVertices() { var vertices = new List <char> { 'a', 'a', 'a' }; VertexOptimization.OptimizeVertexData(vertices, out List <char> newVertices, out List <int> newIndices); CollectionAssert.AreEqual(new List <char> { 'a' }, newVertices); CollectionAssert.AreEqual(new List <int> { 0, 0, 0 }, newIndices); }
public void ThreeUniqueVertices() { var vertices = new List <char> { 'a', 'b', 'c' }; VertexOptimization.OptimizeVertexData(vertices, out List <char> newVertices, out List <int> newIndices); CollectionAssert.AreEqual(new List <char> { 'a', 'b', 'c' }, newVertices); CollectionAssert.AreEqual(new List <int> { 0, 1, 2 }, newIndices); }
public void RepeatedAndUniqueVerticesWidthIndices() { var vertices = new List <char> { 'a', 'b', 'd', 'b', 'b', 'c', 'c' }; VertexOptimization.OptimizeVertexData(vertices, out List <char> newVertices, out List <int> newIndices); CollectionAssert.AreEqual(new List <char> { 'a', 'b', 'd', 'c' }, newVertices); CollectionAssert.AreEqual(new List <int> { 0, 1, 2, 1, 1, 3, 3 }, newIndices); }