@Test
  public void simplePathFindTest4() {
    byte[][] data = {
      {f, f, b, f, f, f, f, f},
      {f, f, b, f, b, b, b, f},
      {f, b, b, b, b, f, b, f},
      {f, f, f, f, f, f, b, f}
    };
    this.map = new SimpleMap(data, (byte) 8, (byte) 4);

    WavePathFinder pf = new WavePathFinder(map);
    List<TLongintPoint> result = pf.findPath(new TLongintPoint(1, 1), new TLongintPoint(7, 3));
    assertNull(result);
  }
  @Test
  public void simplePathFindTest6() {
    byte[][] data = {
      {b, b, b, b, b, b, b, b},
      {b, f, f, f, f, f, f, b},
      {b, f, b, b, b, b, f, b},
      {b, f, f, f, f, f, f, b},
      {b, b, b, b, b, b, b, b}
    };
    this.map = new SimpleMap(data, (byte) 8, (byte) 5);

    WavePathFinder pf = new WavePathFinder(map);
    List<TLongintPoint> result = pf.findPath(new TLongintPoint(1, 1), new TLongintPoint(1, 1));
    assertArrayEquals(expected.toArray(), result.toArray());
  }
  @Test
  public void simplePathFindTest3() {
    byte[][] data = {
      {f, f, b, f, f, f, f, f},
      {f, f, b, f, b, b, b, f},
      {f, b, b, f, b, f, b, f},
      {f, f, f, f, f, f, b, f}
    };
    this.map = new SimpleMap(data, (byte) 8, (byte) 4);

    expected.add(new TLongintPoint(0, 2));
    expected.add(new TLongintPoint(1, 3));
    expected.add(new TLongintPoint(2, 3));
    expected.add(new TLongintPoint(3, 2));
    expected.add(new TLongintPoint(3, 1));
    expected.add(new TLongintPoint(4, 0));
    expected.add(new TLongintPoint(6, 0));
    expected.add(new TLongintPoint(7, 1));
    expected.add(new TLongintPoint(7, 3));

    WavePathFinder pf = new WavePathFinder(map);
    List<TLongintPoint> result = pf.findPath(new TLongintPoint(1, 1), new TLongintPoint(7, 3));
    assertArrayEquals(expected.toArray(), result.toArray());
  }