recator, test: race relation

This commit is contained in:
Ilia Denisov
2026-02-08 10:11:58 +02:00
parent fc73cbf83a
commit c36857e702
6 changed files with 49 additions and 69 deletions
+4 -15
View File
@@ -140,21 +140,10 @@ func TestProduceBattles(t *testing.T) {
assert.NoError(t, g.UpdateRelation(race_C_name, race_D_name, game.RelationWar))
assert.NoError(t, g.UpdateRelation(race_D_name, race_C_name, game.RelationWar))
rel, err := g.Relation(Race_0.Name, race_C_name)
assert.NoError(t, err)
assert.Equal(t, game.RelationPeace, rel)
rel, err = g.Relation(Race_1.Name, race_C_name)
assert.NoError(t, err)
assert.Equal(t, game.RelationPeace, rel)
rel, err = g.Relation(Race_0.Name, race_D_name)
assert.NoError(t, err)
assert.Equal(t, game.RelationPeace, rel)
rel, err = g.Relation(Race_1.Name, race_D_name)
assert.NoError(t, err)
assert.Equal(t, game.RelationPeace, rel)
assert.Equal(t, game.RelationPeace, c.Relation(Race_0_idx, race_C_idx))
assert.Equal(t, game.RelationPeace, c.Relation(Race_1_idx, race_C_idx))
assert.Equal(t, game.RelationPeace, c.Relation(Race_0_idx, race_D_idx))
assert.Equal(t, game.RelationPeace, c.Relation(Race_1_idx, race_D_idx))
// Race_0
assert.NoError(t, c.CreateShips(Race_0_idx, Race_0_Gunship, R0_Planet_0_num, 10))
-13
View File
@@ -29,19 +29,6 @@ func (c Controller) GiveVotes(actor, acceptor string) error {
return nil
}
// FIXME: remove, not a command
func (c Controller) Relation(actor, acceptor string) (game.Relation, error) {
r1, err := c.Cache.validActor(actor)
if err != nil {
return game.Relation(""), err
}
r2, err := c.Cache.validRace(acceptor)
if err != nil {
return game.Relation(""), err
}
return c.Cache.Relation(r1, r2), nil
}
func (c Controller) UpdateRelation(actor, acceptor string, rel game.Relation) error {
ri, err := c.Cache.validActor(actor)
if err != nil {
@@ -129,3 +129,7 @@ func VotingWinners(calc []*VoteGroup, gameVotes float64) []int {
func (c *Cache) CreateShipsUnsafe_T(ri int, classID uuid.UUID, planet uint, quantity uint) {
c.createShipsUnsafe(ri, classID, planet, quantity)
}
func (c *Cache) WipeRace(ri int) {
c.wipeRace(ri)
}
+21
View File
@@ -4,6 +4,7 @@ import (
"testing"
e "github.com/iliadenisov/galaxy/internal/error"
"github.com/iliadenisov/galaxy/internal/model/game"
"github.com/stretchr/testify/assert"
)
@@ -20,3 +21,23 @@ func TestGiveVotes(t *testing.T) {
assert.ErrorContains(t, g.GiveVotes("UnknownRace", Race_1.Name), e.GenericErrorText(e.ErrInputUnknownRace))
assert.ErrorContains(t, g.GiveVotes(Race_0.Name, "UnknownRace"), e.GenericErrorText(e.ErrInputUnknownRace))
}
func TestRelation(t *testing.T) {
c, g := newCache()
assert.NoError(t, g.UpdateRelation(Race_0.Name, Race_1.Name, game.RelationWar))
assert.NoError(t, g.UpdateRelation(Race_1.Name, Race_0.Name, game.RelationPeace))
assert.Equal(t, game.RelationWar, c.Relation(Race_0_idx, Race_1_idx))
assert.Equal(t, game.RelationPeace, c.Relation(Race_1_idx, Race_0_idx))
c.WipeRace(Race_1_idx)
assert.ErrorContains(t,
g.UpdateRelation(Race_0.Name, Race_1.Name, game.RelationWar),
e.GenericErrorText(e.ErrRaceExinct))
assert.ErrorContains(t,
g.UpdateRelation(Race_1.Name, Race_0.Name, game.RelationWar),
e.GenericErrorText(e.ErrRaceExinct))
}