def test_internally_stored_vertexes_are_in_order_around_perimeter(self):
        """Confirm that the vertices for a shape are reported clockwise."""
        for neighborhood in self.shape_neighborhoods:
            for shape in neighborhood.shapes():
                edge_count = len(tuple(shape.n_indexes()))
                for i, n_index in enumerate(shape.n_indexes()):
                    next_i = edge_count % (i + 1)
                    next_n_index = tuple(shape.n_indexes())[next_i]
                    edge_data = shape._edge_data[n_index]
                    next_data = shape._edge_data[next_n_index]
                    # confirm points are like this: a -- b/c -- d
                    a, b = (edge_data['counter_vertex'],
                            edge_data['clock_vertex'])
                    c, d = (next_data['counter_vertex'],
                            next_data['clock_vertex'])
                    # convert to imaginary numbers so assertion possible
                    a, b = complex(*a), complex(*b)
                    c, d = complex(*c), complex(*d)
                    # confirm a and d are different
                    self.assertNotAlmostEqual(a, d)
                    # confirm b and c are the same
                    self.assertAlmostEqual(b, c)
dataset/ETHPy150Open kobejohn/polymaze/tests/test_Shapes.py/TestComponentShapeImplementations.test_internally_stored_vertexes_are_in_order_around_perimeter/swapped operands of `%`