package world import ( "testing" "github.com/stretchr/testify/require" ) func TestWorldPrimitiveID_ReusesFreedIDs(t *testing.T) { t.Parallel() w := NewWorld(10, 10) id1, err := w.AddPoint(1, 1) require.NoError(t, err) id2, err := w.AddPoint(2, 2) require.NoError(t, err) require.NotEqual(t, id1, id2) require.NoError(t, w.Remove(id1)) id3, err := w.AddPoint(3, 3) require.NoError(t, err) // LIFO free-list: id1 should be reused. require.Equal(t, id1, id3) } func TestWorldRemove_UnknownID(t *testing.T) { t.Parallel() w := NewWorld(10, 10) err := w.Remove(12345) require.ErrorIs(t, err, errNoSuchObject) }