cec2020: add more tests (basicFunctions)
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
leo 2023-02-09 23:55:22 +01:00
parent 018cf070c3
commit 3ab74b07eb
Signed by: wanderer
SSH Key Fingerprint: SHA256:Dp8+iwKHSlrMEHzE3bJnPng70I7LEsa3IJXRH/U+idQ

@ -35,3 +35,123 @@ func TestRastrigin(t *testing.T) {
t.Errorf("incorrect Rastrigin output, want: %f, got: %f", want, got) t.Errorf("incorrect Rastrigin output, want: %f, got: %f", want, got)
} }
} }
func TestHighConditionedElliptic(t *testing.T) {
testInput := []float64{
-2.7137778065280593,
-1.9789783390895765,
-4.38267902085263,
-4.617877608383319,
-2.1529909200665474,
-3.801849324611571,
2.4968697503272486,
-0.27358100201730196,
2.0444319451255977,
3.8798952350630653,
-0.6150024279011337,
2.8643010641852413,
-0.6692444051928748,
4.4649633199687475,
3.2510298731558507,
-4.2095036422081495,
-0.130882052243404,
1.2001716295708604,
-0.29427650577602193,
}
want := 1.630609804125232e+06
got := HighConditionedElliptic(testInput)
if want != got {
t.Errorf("incorrect output, want: %f, got: %v", want, got)
}
}
func TestGHBat(t *testing.T) {
testInput := []float64{
-2.7137778065280593,
-1.9789783390895765,
-4.38267902085263,
-4.617877608383319,
-2.1529909200665474,
-3.801849324611571,
2.4968697503272486,
-0.27358100201730196,
2.0444319451255977,
3.8798952350630653,
-0.6150024279011337,
2.8643010641852413,
-0.6692444051928748,
4.4649633199687475,
3.2510298731558507,
-4.2095036422081495,
-0.130882052243404,
1.2001716295708604,
-0.29427650577602193,
}
want := 158.83404437332385
got := HGBat(testInput)
if want != got {
t.Errorf("incorrect output, want: %f, got: %v", want, got)
}
}
func TestRosenbrock(t *testing.T) {
testInput := []float64{
-2.7137778065280593,
-1.9789783390895765,
-4.38267902085263,
-4.617877608383319,
-2.1529909200665474,
-3.801849324611571,
2.4968697503272486,
-0.27358100201730196,
2.0444319451255977,
3.8798952350630653,
-0.6150024279011337,
2.8643010641852413,
-0.6692444051928748,
4.4649633199687475,
3.2510298731558507,
-4.2095036422081495,
-0.130882052243404,
1.2001716295708604,
-0.29427650577602193,
}
want := 270378.6217883186
got := Rosenbrock(testInput)
if want != got {
t.Errorf("incorrect output, want: %f, got: %v", want, got)
}
}
func TestAckley(t *testing.T) {
testInput := []float64{
-2.7137778065280593,
-1.9789783390895765,
-4.38267902085263,
-4.617877608383319,
-2.1529909200665474,
-3.801849324611571,
2.4968697503272486,
-0.27358100201730196,
2.0444319451255977,
3.8798952350630653,
-0.6150024279011337,
2.8643010641852413,
-0.6692444051928748,
4.4649633199687475,
3.2510298731558507,
-4.2095036422081495,
-0.130882052243404,
1.2001716295708604,
-0.29427650577602193,
}
want := 10.420166703127961
got := Ackley(testInput)
if want != got {
t.Errorf("incorrect output, want: %f, got: %v", want, got)
}
}