feat: remove unreachable routes
This commit is contained in:
@@ -144,7 +144,7 @@ func TestEnrouteGroups_SplitGroup(t *testing.T) {
|
||||
assert.NoError(t, c.CreateShips(Race_0_idx, Race_0_Freighter, R0_Planet_0_num, 5)) // 21.0 per Ship
|
||||
assert.Equal(t, 105., c.ShipGroup(0).CargoCapacity(c.ShipGroupShipClass(0)))
|
||||
|
||||
c.EnrouteGroups()
|
||||
c.SendRoutedGroups()
|
||||
|
||||
assert.Len(t, slices.Collect(c.RaceShipGroups(Race_0_idx)), 2)
|
||||
assert.Equal(t, game.StateInOrbit, c.ShipGroup(0).State())
|
||||
@@ -171,7 +171,7 @@ func TestEnrouteGroups_GroupSorting(t *testing.T) {
|
||||
assert.NoError(t, c.CreateShips(Race_0_idx, Race_0_Freighter, R0_Planet_0_num, 5)) // 21.0 per Ship
|
||||
assert.Equal(t, 105., c.ShipGroup(1).CargoCapacity(c.ShipGroupShipClass(1)))
|
||||
|
||||
c.EnrouteGroups()
|
||||
c.SendRoutedGroups()
|
||||
|
||||
assert.Len(t, slices.Collect(c.RaceShipGroups(Race_0_idx)), 2)
|
||||
assert.Equal(t, game.StateInOrbit, c.ShipGroup(0).State())
|
||||
@@ -207,7 +207,7 @@ func TestEnrouteGroups_LaunchOrder(t *testing.T) {
|
||||
assert.NoError(t, c.CreateShips(Race_0_idx, Race_0_Freighter, R0_Planet_0_num, 5))
|
||||
assert.Equal(t, 105., c.ShipGroup(2).CargoCapacity(c.ShipGroupShipClass(2)))
|
||||
|
||||
c.EnrouteGroups()
|
||||
c.SendRoutedGroups()
|
||||
|
||||
assert.Len(t, slices.Collect(c.RaceShipGroups(Race_0_idx)), 5)
|
||||
|
||||
@@ -416,3 +416,24 @@ func TestTurnUnloadEnroutedGroups(t *testing.T) {
|
||||
assert.Equal(t, game.ProductionCapital, c.MustPlanet(Uninhabited_Planet_4_num).Production.Type)
|
||||
assert.Equal(t, 17.3, c.ShipGroup(3).Load)
|
||||
}
|
||||
|
||||
func TestRemoveUnreachableRoutes(t *testing.T) {
|
||||
c, g := newCache()
|
||||
|
||||
assert.NoError(t, g.SetRoute(Race_0.Name, "MAT", R0_Planet_2_num, R0_Planet_0_num))
|
||||
assert.NoError(t, g.SetRoute(Race_0.Name, "CAP", R0_Planet_2_num, R0_Planet_0_num))
|
||||
|
||||
assert.NoError(t, g.SetRoute(Race_1.Name, "COL", R1_Planet_1_num, R0_Planet_0_num))
|
||||
assert.NoError(t, g.SetRoute(Race_1.Name, "CAP", R1_Planet_1_num, Uninhabited_Planet_4_num))
|
||||
|
||||
assert.Error(t, g.SetRoute(Race_0.Name, "COL", R0_Planet_2_num, Uninhabited_Planet_3_num))
|
||||
c.MustPlanet(R0_Planet_2_num).Route[game.RouteColonist] = Uninhabited_Planet_3_num
|
||||
|
||||
c.RemoveUnreachableRoutes()
|
||||
|
||||
assert.NotContains(t, c.MustPlanet(R0_Planet_2_num).Route, game.RouteColonist)
|
||||
assert.Contains(t, c.MustPlanet(R0_Planet_2_num).Route, game.RouteMaterial)
|
||||
assert.Contains(t, c.MustPlanet(R0_Planet_2_num).Route, game.RouteCapital)
|
||||
assert.Contains(t, c.MustPlanet(R1_Planet_1_num).Route, game.RouteColonist)
|
||||
assert.Contains(t, c.MustPlanet(R1_Planet_1_num).Route, game.RouteCapital)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user