forget what i did
This commit is contained in:
@@ -54,7 +54,7 @@ func (h *Hamster) Die() {
|
||||
|
||||
func (h *Hamster) Grow() {
|
||||
if h.Age >= MaxAge {
|
||||
if randNumber(h.Age-MaxAge,365) > 364 {
|
||||
if randNumber(h.Age-MaxAge, 365) > 364 {
|
||||
h.Die()
|
||||
return
|
||||
}
|
||||
@@ -82,11 +82,11 @@ func (h *Hamster) Fuck(another *Hamster) (bool, error) {
|
||||
rand := randNumber(1, 100)
|
||||
|
||||
if rand <= GestationLuck {
|
||||
female,male := func() (*Hamster,*Hamster) {
|
||||
female, male := func() (*Hamster, *Hamster) {
|
||||
if h.Sexe == FEMALE {
|
||||
return h,another
|
||||
return h, another
|
||||
} else {
|
||||
return another,h
|
||||
return another, h
|
||||
}
|
||||
}()
|
||||
female.GestationFather = male
|
||||
|
||||
@@ -41,85 +41,85 @@ func TestHamster_Die(t *testing.T) {
|
||||
|
||||
func TestHamster_Grow(t *testing.T) {
|
||||
testCases := []struct {
|
||||
caseName string
|
||||
hamster *Hamster
|
||||
caseName string
|
||||
hamster *Hamster
|
||||
expectedHamster *Hamster
|
||||
}{
|
||||
{
|
||||
caseName: "Age increment",
|
||||
hamster: &Hamster{
|
||||
Age: 0,
|
||||
Age: 0,
|
||||
Alive: true,
|
||||
},
|
||||
expectedHamster: &Hamster{
|
||||
Age: 1,
|
||||
Age: 1,
|
||||
Alive: true,
|
||||
},
|
||||
},
|
||||
{
|
||||
caseName: "Gestation decrement",
|
||||
hamster: &Hamster{
|
||||
Age: 0,
|
||||
Gestation: true,
|
||||
Age: 0,
|
||||
Gestation: true,
|
||||
GestationPeriod: 1,
|
||||
Alive: true,
|
||||
Alive: true,
|
||||
},
|
||||
expectedHamster: &Hamster{
|
||||
Age: 1,
|
||||
Gestation: true,
|
||||
Age: 1,
|
||||
Gestation: true,
|
||||
GestationPeriod: 2,
|
||||
Alive: true,
|
||||
Alive: true,
|
||||
},
|
||||
},
|
||||
{
|
||||
caseName: "Gestation Cooldown doesn't decrement",
|
||||
hamster: &Hamster{
|
||||
Age: 0,
|
||||
Gestation: true,
|
||||
Age: 0,
|
||||
Gestation: true,
|
||||
GestationCooldown: 17,
|
||||
GestationPeriod: 1,
|
||||
Alive: true,
|
||||
GestationPeriod: 1,
|
||||
Alive: true,
|
||||
},
|
||||
expectedHamster: &Hamster{
|
||||
Age: 1,
|
||||
Age: 1,
|
||||
GestationCooldown: 17,
|
||||
Gestation: true,
|
||||
GestationPeriod: 2,
|
||||
Alive: true,
|
||||
Gestation: true,
|
||||
GestationPeriod: 2,
|
||||
Alive: true,
|
||||
},
|
||||
},
|
||||
{
|
||||
caseName: "Gestation Cooldown decrement",
|
||||
hamster: &Hamster{
|
||||
Age: 0,
|
||||
Gestation: false,
|
||||
Age: 0,
|
||||
Gestation: false,
|
||||
GestationCooldown: 17,
|
||||
GestationPeriod: 0,
|
||||
Alive: true,
|
||||
GestationPeriod: 0,
|
||||
Alive: true,
|
||||
},
|
||||
expectedHamster: &Hamster{
|
||||
Age: 1,
|
||||
Age: 1,
|
||||
GestationCooldown: 16,
|
||||
Gestation: false,
|
||||
GestationPeriod: 0,
|
||||
Alive: true,
|
||||
Gestation: false,
|
||||
GestationPeriod: 0,
|
||||
Alive: true,
|
||||
},
|
||||
},
|
||||
{
|
||||
caseName: "Hamster die",
|
||||
hamster: &Hamster{
|
||||
Age: 365*3,
|
||||
Gestation: false,
|
||||
Age: 365 * 3,
|
||||
Gestation: false,
|
||||
GestationCooldown: 17,
|
||||
GestationPeriod: 0,
|
||||
Alive: true,
|
||||
GestationPeriod: 0,
|
||||
Alive: true,
|
||||
},
|
||||
expectedHamster: &Hamster{
|
||||
Age: 365*3,
|
||||
Alive:false,
|
||||
Age: 365 * 3,
|
||||
Alive: false,
|
||||
GestationCooldown: 17,
|
||||
Gestation: false,
|
||||
GestationPeriod: 0,
|
||||
Gestation: false,
|
||||
GestationPeriod: 0,
|
||||
},
|
||||
},
|
||||
}
|
||||
@@ -130,7 +130,7 @@ func TestHamster_Grow(t *testing.T) {
|
||||
randomizer.FakeRandomizer(364)
|
||||
}
|
||||
tc.hamster.Grow()
|
||||
if !reflect.DeepEqual(tc.hamster,tc.expectedHamster) {
|
||||
if !reflect.DeepEqual(tc.hamster, tc.expectedHamster) {
|
||||
t.Errorf("Got %v expect %v", tc.hamster, tc.expectedHamster)
|
||||
}
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user