csv_pandas_test.py 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import os
  2. import pandas
  3. import numpy as np
  4. from pathfinding.core.diagonal_movement import DiagonalMovement
  5. from pathfinding.core.grid import Grid
  6. from pathfinding.finder.a_star import AStarFinder
  7. BASE_PATH = os.path.abspath(os.path.dirname(__file__))
  8. CSV_FILE = os.path.join(BASE_PATH, 'csv_file.csv')
  9. def _find(matrix):
  10. grid = Grid(matrix=matrix)
  11. print(matrix)
  12. start = grid.node(0, 0)
  13. end = grid.node(2, 4)
  14. finder = AStarFinder(diagonal_movement=DiagonalMovement.never)
  15. path, runs = finder.find_path(start, end, grid)
  16. print('operations:', runs, 'path length:', len(path))
  17. print(grid.grid_str(path=path, start=start, end=end))
  18. assert path == [(0, 0), (0, 1), (1, 1), (1, 2), (1, 3), (1, 4), (2, 4)]
  19. def test_csv_pandas_str():
  20. """
  21. test to load a csv file using pandas (as string).
  22. """
  23. _find(np.array(pandas.io.parsers.read_csv(CSV_FILE)).astype("str"))
  24. def test_csv_pandas_int():
  25. """
  26. test to load a csv file using pandas (as int).
  27. """
  28. _find(np.array(pandas.io.parsers.read_csv(CSV_FILE)).astype("int"))