refactor: float64 types for storage and report

This commit is contained in:
Ilia Denisov
2026-02-02 13:14:57 +02:00
parent 4c14234afb
commit a567229f8a
24 changed files with 264 additions and 253 deletions
+35 -35
View File
@@ -36,24 +36,24 @@ func TestProduceIndustry(t *testing.T) {
},
}
HW.ProduceIndustry()
assert.InDelta(t, 196.078, HW.Capital, 0.0005)
assert.InDelta(t, 196.078, HW.Capital.F(), 0.0005)
HW.Capital = 0
HW.Material = 200
HW.ProduceIndustry()
assert.Equal(t, 200., HW.Capital)
assert.Equal(t, 0., HW.Material)
assert.Equal(t, 200., HW.Capital.F())
assert.Equal(t, 0., HW.Material.F())
DW.ProduceIndustry()
assert.InDelta(t, 98.039, DW.Capital, 0.0003)
assert.InDelta(t, 98.039, DW.Capital.F(), 0.0003)
DW.Capital = 0
DW.Material = 100
DW.ProduceIndustry()
assert.Equal(t, 100., DW.Capital)
assert.Equal(t, 0., DW.Material)
assert.Equal(t, 100., DW.Capital.F())
assert.Equal(t, 0., DW.Material.F())
}
func TestProduceMaterial(t *testing.T) {
@@ -67,19 +67,19 @@ func TestProduceMaterial(t *testing.T) {
Industry: 1000,
},
}
assert.Equal(t, 0., HW.Material)
assert.Equal(t, 0., HW.Material.F())
HW.ProduceMaterial()
assert.Equal(t, 10000., HW.Material)
assert.Equal(t, 10000., HW.Material.F())
HW.Industry = 500
HW.Population = 500
HW.ProduceMaterial()
assert.Equal(t, 15000., HW.Material)
assert.Equal(t, 15000., HW.Material.F())
HW.Population = 1000
HW.ProduceMaterial()
assert.Equal(t, 21250., HW.Material)
assert.Equal(t, 21250., HW.Material.F())
}
func TestUnpackCapital(t *testing.T) {
@@ -93,28 +93,28 @@ func TestUnpackCapital(t *testing.T) {
Industry: 1000,
},
}
assert.Equal(t, 0., HW.Capital)
assert.Equal(t, 0., HW.Capital.F())
HW.UnpackCapital()
assert.Equal(t, 1000., HW.Industry)
assert.Equal(t, 0., HW.Capital)
assert.Equal(t, 1000., HW.Industry.F())
assert.Equal(t, 0., HW.Capital.F())
HW.Capital = 123.
HW.UnpackCapital()
assert.Equal(t, 1000., HW.Industry)
assert.Equal(t, 123., HW.Capital)
assert.Equal(t, 1000., HW.Industry.F())
assert.Equal(t, 123., HW.Capital.F())
HW.Industry = 987.
HW.UnpackCapital()
assert.Equal(t, 1000., HW.Industry)
assert.Equal(t, 110., HW.Capital)
assert.Equal(t, 1000., HW.Industry.F())
assert.Equal(t, 110., HW.Capital.F())
HW.Population = 876.
HW.Industry = 800.
HW.UnpackCapital()
assert.Equal(t, 876., HW.Population)
assert.Equal(t, 876., HW.Industry)
assert.Equal(t, 34., HW.Capital)
assert.Equal(t, 876., HW.Population.F())
assert.Equal(t, 876., HW.Industry.F())
assert.Equal(t, 34., HW.Capital.F())
}
func TestUnpackColonists(t *testing.T) {
@@ -128,26 +128,26 @@ func TestUnpackColonists(t *testing.T) {
Industry: 1000,
},
}
assert.Equal(t, 0., HW.Colonists)
assert.Equal(t, 0., HW.Colonists.F())
HW.UnpackColonists()
assert.Equal(t, 1000., HW.Population)
assert.Equal(t, 0., HW.Colonists)
assert.Equal(t, 1000., HW.Population.F())
assert.Equal(t, 0., HW.Colonists.F())
HW.Colonists = 1.05
HW.UnpackColonists()
assert.Equal(t, 1000., HW.Population)
assert.Equal(t, 1.05, HW.Colonists)
assert.Equal(t, 1000., HW.Population.F())
assert.Equal(t, 1.05, HW.Colonists.F())
HW.Population = 996.0
HW.UnpackColonists()
assert.Equal(t, 1000., HW.Population)
assert.Equal(t, 0.55, HW.Colonists)
assert.Equal(t, 1000., HW.Population.F())
assert.Equal(t, 0.55, HW.Colonists.F())
HW.Population = 0.0
HW.UnpackColonists()
assert.Equal(t, 4.4, HW.Population)
assert.Equal(t, 0., HW.Colonists)
assert.Equal(t, 4.4, HW.Population.F())
assert.Equal(t, 0., HW.Colonists.F())
}
func TestProducePopulation(t *testing.T) {
@@ -161,15 +161,15 @@ func TestProducePopulation(t *testing.T) {
Industry: 1000,
},
}
assert.Equal(t, 500., HW.Population)
assert.Equal(t, 0., HW.Colonists)
assert.Equal(t, 500., HW.Population.F())
assert.Equal(t, 0., HW.Colonists.F())
HW.ProducePopulation()
assert.Equal(t, 540., HW.Population)
assert.Equal(t, 0., HW.Colonists)
assert.Equal(t, 540., HW.Population.F())
assert.Equal(t, 0., HW.Colonists.F())
HW.Population = 1000.
HW.ProducePopulation()
assert.Equal(t, 1000., HW.Population)
assert.Equal(t, 10., HW.Colonists)
assert.Equal(t, 1000., HW.Population.F())
assert.Equal(t, 10., HW.Colonists.F())
}