package zone

import "testing"

func TestFindNearestFreeTile(t *testing.T) {
	log := testLogger()
	z := New("test", 100, 10, 10, log)
	_ = z.ReserveTile(5, 5, "blocker")

	x, y, ok := z.FindNearestFreeTile(5, 5, 3)
	if !ok {
		t.Fatal("expected free tile nearby")
	}
	if z.IsOccupied(x, y) {
		t.Fatalf("found tile %d,%d is occupied", x, y)
	}
}

func TestIsBlockedBorder(t *testing.T) {
	log := testLogger()
	z := New("test", 100, 10, 10, log)
	if !z.IsBlocked(0, 0) {
		t.Fatal("border should be blocked")
	}
	if z.IsBlocked(5, 5) {
		t.Fatal("center should not be blocked")
	}
}
