func TestRoute(t *testing.T) {
	renders := []string{"localhost:9001", "localhost:9002", "localhost:9003"}

	for _, r := range renders {
		go runFakeRender(r)
	}
	time.Sleep(100 * time.Millisecond)

	rs, err := NewRenderSelector(renders, time.Second, 30*time.Second)
	require.Nil(t, err)
	defer rs.Stop()

	coord := gopnik.TileCoord{
		X:    0,
		Y:    0,
		Zoom: 1,
		Size: 1,
	}
	back1, err1 := rs.SelectRender(coord)
	require.Nil(t, err1)
	coord.X = 3
	back2, err2 := rs.SelectRender(coord)
	require.Nil(t, err2)
	coord.Y = 4
	back3, err3 := rs.SelectRender(coord)
	require.Nil(t, err3)
	coord.Zoom = 5
	back4, err4 := rs.SelectRender(coord)
	require.Nil(t, err4)

	require.True(t,
		back1.Addr != back2.Addr || back1.Addr != back3.Addr || back1.Addr != back4.Addr,
	)
}