[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/brean/python-pathfinding/python2/test/util_test.py [Back]  [Original]

from pathfinding.core.grid import Grid
from pathfinding.core.util import bresenham, raytrace, smoothen_path


def test_bresenham():
    """
    test bresenham path interpolation
    """
    assert bresenham([0, 0], [2, 5]) == [
        [0, 0], [0, 1],
        [1, 2], [1, 3],
        [2, 4], [2, 5]
    ]
    assert bresenham([0, 1], [0, 4]) == [
        [0, 1], [0, 2], [0, 3], [0, 4]
    ]


def test_raytrace():
    """
    test raytrace path interpolation
    """
    assert raytrace([0, 0], [2, 5]) == [
        [0, 0], [0, 1],
        [1, 1], [1, 2], [1, 3], [1, 4],
        [2, 4], [2, 5]
    ]
    assert raytrace([0, 1], [0, 4]) == [
        [0, 1], [0, 2], [0, 3], [0, 4]
    ]


def test_smoothen_path():
    matrix = [
        [1, 1, 1, 1, 1],
        [1, 1, 1, 1, 1],
        [1, 1, 1, 1, 1],
        [1, 1, 1, 1, 1],
        [1, 1, 1, 1, 1]
    ]
    grid = Grid(matrix=matrix)
    path = [
        [0, 0], [1, 0], [2, 0], [2, 1], [2, 2], [2, 3], [3, 3], [3, 4], [4, 4]
    ]
    smooth_path = [
        [0, 0], [1, 0], [2, 0], [2, 1], [2, 2], [2, 3], [3, 3], [4, 4]
    ]
    assert smoothen_path(grid, path) == smooth_path

Web Proxy Viewer  |  New URL  |  Original Page