From 3ab74b07eb0b44bef20818c99429842e6f456498 Mon Sep 17 00:00:00 2001 From: leo Date: Thu, 9 Feb 2023 23:55:22 +0100 Subject: [PATCH] cec2020: add more tests (basicFunctions) --- bench/cec2020/basicFunctions_test.go | 120 +++++++++++++++++++++++++++ 1 file changed, 120 insertions(+) diff --git a/bench/cec2020/basicFunctions_test.go b/bench/cec2020/basicFunctions_test.go index f8bbddd..c97de5f 100644 --- a/bench/cec2020/basicFunctions_test.go +++ b/bench/cec2020/basicFunctions_test.go @@ -35,3 +35,123 @@ func TestRastrigin(t *testing.T) { 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) + } +}