package alchemyst_go

import (
    "lab.zaar.be/thefish/alchemyst-go/engine/types"
    "lab.zaar.be/thefish/alchemyst-go/util/delaunay"
    "testing"
)

func TestDelaunay(t *testing.T) {

    coords := []types.Coords{
        {10, 10},
        {10, 60},
        {30, 10},
        {40, 20},
        {60, 10},
        {40, 60},
    }

    expected := []types.Edge{
        {types.Coords{10, 60}, types.Coords{10, 10}},
        {types.Coords{30, 10}, types.Coords{40, 20}},
        {types.Coords{60, 10}, types.Coords{40, 60}},
        {types.Coords{40, 20}, types.Coords{40, 60}},
        {types.Coords{10, 10}, types.Coords{30, 10}},
    }

	result := delaunay.GetMst(coords, 100, 100, 100 )

    for idx, _ := range result {
        if result[idx] != expected[idx] {
            t.Errorf("Failed, expected %v. got %v", result[idx], expected[idx])
        }

    }
    t.Log("output: ", result)
}
