def test_iterGrid(): """ Assert the correct pattern of samples """ grid = np.array([[1, 2], [3, 4]]) gridIterator = automata.iterGrid(grid, automata.CONNECT_4) point, values = gridIterator.next() assert np.allclose(values, [3, 3, 2, 2]) point, values = gridIterator.next() assert np.allclose(values, [4, 4, 1, 1]) point, values = gridIterator.next() assert np.allclose(values, [1, 1, 4, 4]) point, values = gridIterator.next() assert np.allclose(values, [2, 2, 3, 3])
def test_formSamples(): """ Assert that the correct pattern of samples is generated using both the fast and slow sampling methods. """ grid, _ = np.mgrid[0:100, 0:100] gridIterator = automata.iterGrid(grid, automata.CONNECT_4) # Slow approach iteratorValues = [] for _, values in gridIterator: iteratorValues.append(values) iteratorValues = np.array(iteratorValues) # Fast approach coordinates = automata.formSamples(grid.shape, automata.CONNECT_4) sampledValues = grid[coordinates] # Assert equivalence of approaches assert np.allclose(sampledValues, iteratorValues)