diff --git a/theodolite/src/test/kotlin/rocks/theodolite/core/ResultsTest.kt b/theodolite/src/test/kotlin/rocks/theodolite/core/ResultsTest.kt
index 42bc5883f7ebc50c5dde01555b034433b8fa055e..b0e9ca9e58f7cefe9222f3ba034a4966886aef80 100644
--- a/theodolite/src/test/kotlin/rocks/theodolite/core/ResultsTest.kt
+++ b/theodolite/src/test/kotlin/rocks/theodolite/core/ResultsTest.kt
@@ -11,7 +11,7 @@ internal class ResultsTest {
 
     @Test
     fun testMinRequiredInstancesWhenSuccessfulDemand() {
-        val results = Results(Metric.from("demand"))
+        val results = Results(Metric.DEMAND)
         results.setResult(Pair(10000, 1), true)
         results.setResult(Pair(10000, 2), true)
         results.setResult(Pair(20000, 1), false)
@@ -25,7 +25,7 @@ internal class ResultsTest {
 
     @Test
     fun testGetMaxBenchmarkedLoadWhenAllSuccessfulDemand() {
-        val results = Results(Metric.from("demand"))
+        val results = Results(Metric.DEMAND)
         results.setResult(Pair(10000, 1), true)
         results.setResult(Pair(10000, 2), true)
 
@@ -37,7 +37,7 @@ internal class ResultsTest {
 
     @Test
     fun testGetMaxBenchmarkedLoadWhenLargestNotSuccessfulDemand() {
-        val results = Results(Metric.from("demand"))
+        val results = Results(Metric.DEMAND)
         results.setResult(Pair(10000, 1), true)
         results.setResult(Pair(10000, 2), true)
         results.setResult(Pair(20000, 1), false)
@@ -50,7 +50,7 @@ internal class ResultsTest {
 
     @Test
     fun testMaxRequiredInstancesWhenSuccessfulCapacity() {
-        val results = Results(Metric.from("capacity"))
+        val results = Results(Metric.CAPACITY)
         results.setResult(Pair(10000, 1), true)
         results.setResult(Pair(20000, 1), false)
         results.setResult(Pair(10000, 2), true)
@@ -64,7 +64,7 @@ internal class ResultsTest {
 
     @Test
     fun testGetMaxBenchmarkedLoadWhenAllSuccessfulCapacity() {
-        val results = Results(Metric.from("capacity"))
+        val results = Results(Metric.CAPACITY)
         results.setResult(Pair(10000, 1), true)
         results.setResult(Pair(10000, 2), true)
 
@@ -76,7 +76,7 @@ internal class ResultsTest {
 
     @Test
     fun testGetMaxBenchmarkedLoadWhenLargestNotSuccessfulCapacity() {
-        val results = Results(Metric.from("capacity"))
+        val results = Results(Metric.CAPACITY)
         results.setResult(Pair(10000, 1), true)
         results.setResult(Pair(20000, 1), true)
         results.setResult(Pair(10000, 2), false)
diff --git a/theodolite/src/test/kotlin/rocks/theodolite/core/strategies/restrictionstrategy/LowerBoundRestrictionTest.kt b/theodolite/src/test/kotlin/rocks/theodolite/core/strategies/restrictionstrategy/LowerBoundRestrictionTest.kt
index 79fadb4867a155ee7b4dc86e4bb165947a4f15a4..1e847bee725e27fe44e4156f83254c28508af170 100644
--- a/theodolite/src/test/kotlin/rocks/theodolite/core/strategies/restrictionstrategy/LowerBoundRestrictionTest.kt
+++ b/theodolite/src/test/kotlin/rocks/theodolite/core/strategies/restrictionstrategy/LowerBoundRestrictionTest.kt
@@ -12,7 +12,7 @@ internal class LowerBoundRestrictionTest {
 
     @Test
     fun testNoPreviousResults() {
-        val results = Results(Metric.from("demand"))
+        val results = Results(Metric.DEMAND)
         val strategy = LowerBoundRestriction(results)
         val load = 10000
         val resources = listOf(1, 2, 3)
@@ -24,7 +24,7 @@ internal class LowerBoundRestrictionTest {
 
     @Test
     fun testWithSuccessfulPreviousResults() {
-        val results = Results(Metric.from("demand"))
+        val results = Results(Metric.DEMAND)
         results.setResult(10000, 1, true)
         results.setResult(20000, 1, false)
         results.setResult(20000, 2, true)
@@ -41,7 +41,7 @@ internal class LowerBoundRestrictionTest {
     @Disabled
     fun testWithNoSuccessfulPreviousResults() {
         // This test is currently not implemented this way, but might later be the desired behavior.
-        val results = Results(Metric.from("demand"))
+        val results = Results(Metric.DEMAND)
         results.setResult(10000, 1, true)
         results.setResult(20000, 1, false)
         results.setResult(20000, 2, false)
@@ -58,7 +58,7 @@ internal class LowerBoundRestrictionTest {
 
     @Test
     fun testNoPreviousResults2() {
-        val results = Results(Metric.from("demand"))
+        val results = Results(Metric.DEMAND)
         results.setResult(10000, 1, true)
         results.setResult(20000, 2, true)
         results.setResult(10000, 1, false)
@@ -74,7 +74,7 @@ internal class LowerBoundRestrictionTest {
     @Disabled
     fun testMinRequiredInstancesWhenNotSuccessful() {
         // This test is currently not implemented this way, but might later be the desired behavior.
-        val results = Results(Metric.from("demand"))
+        val results = Results(Metric.DEMAND)
         results.setResult(10000, 1, true)
         results.setResult(20000, 2, true)
         results.setResult(10000, 1, false)
diff --git a/theodolite/src/test/kotlin/rocks/theodolite/core/strategies/searchstrategy/InitialGuessSearchStrategyTest.kt b/theodolite/src/test/kotlin/rocks/theodolite/core/strategies/searchstrategy/InitialGuessSearchStrategyTest.kt
index 820dc7564aac2497a2884ca004f15110bc5465f7..d98fd4261f709d52904094d7c4a5e8cc35d8424a 100644
--- a/theodolite/src/test/kotlin/rocks/theodolite/core/strategies/searchstrategy/InitialGuessSearchStrategyTest.kt
+++ b/theodolite/src/test/kotlin/rocks/theodolite/core/strategies/searchstrategy/InitialGuessSearchStrategyTest.kt
@@ -29,7 +29,7 @@ class InitialGuessSearchStrategyTest {
         )
         val mockLoads: List<Int> = (0..6).toList()
         val mockResources: List<Int> = (0..6).toList()
-        val results = Results(Metric.from("demand"))
+        val results = Results(Metric.DEMAND)
         val benchmarkDeploymentBuilder = TestBenchmarkDeploymentBuilder()
         val guessStrategy = PrevInstanceOptGuess()
         val sloChecker = Slo()
@@ -67,7 +67,7 @@ class InitialGuessSearchStrategyTest {
         )
         val mockLoads: List<Int> = (0..6).toList()
         val mockResources: List<Int> = (0..6).toList()
-        val results = Results(Metric.from("demand"))
+        val results = Results(Metric.DEMAND)
         val benchmarkDeploymentBuilder = TestBenchmarkDeploymentBuilder()
         val guessStrategy = PrevInstanceOptGuess()
         val sloChecker = Slo()
@@ -105,15 +105,15 @@ class InitialGuessSearchStrategyTest {
         )
         val mockLoads: List<Int> = (0..6).toList()
         val mockResources: List<Int> = (0..6).toList()
-        val results = Results(Metric.from("demand"))
+        val results = Results(Metric.DEMAND)
         val benchmarkDeploymentBuilder = TestBenchmarkDeploymentBuilder()
         val guessStrategy = PrevInstanceOptGuess()
         val sloChecker = Slo()
         val benchmarkExecutor = TestExperimentRunnerImpl(results, mockResults, benchmarkDeploymentBuilder, listOf(sloChecker), 0, 0, 5)
         val strategy = InitialGuessSearchStrategy(benchmarkExecutor, guessStrategy, results)
 
-        val actual: ArrayList<Int?> = ArrayList()
-        var expected: ArrayList<Int?> = ArrayList(listOf(2, 3, 0, 4, 6))
+        val actual: MutableList<Int?> = mutableListOf()
+        var expected: MutableList<Int?> = ArrayList(listOf(2, 3, 0, 4, 6))
         expected.add(null)
         expected = ArrayList(listOf(null) + expected)
 
diff --git a/theodolite/src/test/kotlin/rocks/theodolite/core/strategies/searchstrategy/RestrictionSearchTest.kt b/theodolite/src/test/kotlin/rocks/theodolite/core/strategies/searchstrategy/RestrictionSearchTest.kt
index bae944801fcacf40431559a0e7ddeb78923d2173..c82f00939da917a3bdce47e644ea50450164f38c 100644
--- a/theodolite/src/test/kotlin/rocks/theodolite/core/strategies/searchstrategy/RestrictionSearchTest.kt
+++ b/theodolite/src/test/kotlin/rocks/theodolite/core/strategies/searchstrategy/RestrictionSearchTest.kt
@@ -27,7 +27,7 @@ class RestrictionSearchTest {
         )
         val mockLoads: List<Int> = (0..6).toList()
         val mockResources: List<Int> = (0..6).toList()
-        val results = Results(Metric.from("demand"))
+        val results = Results(Metric.DEMAND)
         val benchmarkDeploymentBuilder = TestBenchmarkDeploymentBuilder()
         val sloChecker = Slo()
         val benchmarkExecutor = TestExperimentRunnerImpl(results, mockResults, benchmarkDeploymentBuilder, listOf(sloChecker), 0, 0, 5)
@@ -60,7 +60,7 @@ class RestrictionSearchTest {
         )
         val mockLoads: List<Int> = (0..6).toList()
         val mockResources: List<Int> = (0..6).toList()
-        val results = Results(Metric.from("demand"))
+        val results = Results(Metric.DEMAND)
         val benchmarkDeploymentBuilder = TestBenchmarkDeploymentBuilder()
         val sloChecker = Slo()
         val benchmarkExecutor = TestExperimentRunnerImpl(results, mockResults, benchmarkDeploymentBuilder, listOf(sloChecker), 0, 0, 5)
@@ -93,7 +93,7 @@ class RestrictionSearchTest {
         )
         val mockLoads: List<Int> = (0..6).toList()
         val mockResources: List<Int> = (0..6).toList()
-        val results = Results(Metric.from("demand"))
+        val results = Results(Metric.DEMAND)
         val benchmarkDeploymentBuilder = TestBenchmarkDeploymentBuilder()
         val sloChecker = Slo()
         val benchmarkExecutorImpl =
@@ -126,7 +126,7 @@ class RestrictionSearchTest {
         )
         val mockLoads: List<Int> = (0..6).toList()
         val mockResources: List<Int> = (0..7).toList()
-        val results = Results(Metric.from("demand"))
+        val results = Results(Metric.DEMAND)
         val benchmarkDeploymentBuilder = TestBenchmarkDeploymentBuilder()
         val sloChecker = Slo()
         val benchmarkExecutor = TestExperimentRunnerImpl(results, mockResults, benchmarkDeploymentBuilder, listOf(sloChecker), 0, 0, 0)