From 79d68f429b6b21318e090484745d78fafb715242 Mon Sep 17 00:00:00 2001
From: "stu126940@mail.uni-kiel.de" <stu126940@mail.uni-kiel.de>
Date: Thu, 4 Feb 2021 11:46:27 +0100
Subject: [PATCH] apply review (renaming, comments)

---
 .../main/kotlin/theodolite/execution/TheodoliteExecutor.kt  | 2 +-
 .../theodolite/strategies/searchstrategy/BinarySearch.kt    | 4 +++-
 .../strategies/searchstrategy/CompositeStrategy.kt          | 4 ++--
 .../theodolite/strategies/searchstrategy/LinearSearch.kt    | 2 +-
 .../theodolite/strategies/searchstrategy/SearchStrategy.kt  | 2 +-
 .../src/test/kotlin/theodolite/CompositeStrategyTest.kt     | 6 +++---
 6 files changed, 11 insertions(+), 9 deletions(-)

diff --git a/theodolite-quarkus/src/main/kotlin/theodolite/execution/TheodoliteExecutor.kt b/theodolite-quarkus/src/main/kotlin/theodolite/execution/TheodoliteExecutor.kt
index 389c3b916..b98f8c438 100644
--- a/theodolite-quarkus/src/main/kotlin/theodolite/execution/TheodoliteExecutor.kt
+++ b/theodolite-quarkus/src/main/kotlin/theodolite/execution/TheodoliteExecutor.kt
@@ -48,7 +48,7 @@ class TheodoliteExecutor() {
 
         // execute benchmarks for each load
         for(load in config.loads) {
-            config.compositeStrategy.findSuitableResources(load, config.resources)
+            config.compositeStrategy.findSuitableResource(load, config.resources)
         }
 
     }
diff --git a/theodolite-quarkus/src/main/kotlin/theodolite/strategies/searchstrategy/BinarySearch.kt b/theodolite-quarkus/src/main/kotlin/theodolite/strategies/searchstrategy/BinarySearch.kt
index 1aaab229c..49cec7416 100644
--- a/theodolite-quarkus/src/main/kotlin/theodolite/strategies/searchstrategy/BinarySearch.kt
+++ b/theodolite-quarkus/src/main/kotlin/theodolite/strategies/searchstrategy/BinarySearch.kt
@@ -7,7 +7,7 @@ import theodolite.util.Results
 import java.lang.IllegalArgumentException
 
 class BinarySearch(benchmarkExecutor: BenchmarkExecutor, results: Results) : SearchStrategy(benchmarkExecutor, results) {
-    override fun findSuitableResources(load: LoadDimension, resources: List<Resource>): Resource? {
+    override fun findSuitableResource(load: LoadDimension, resources: List<Resource>): Resource? {
         val result =  search(load, resources, 0, resources.size - 1)
         if( result == -1 ) {
             return null;
@@ -19,6 +19,7 @@ class BinarySearch(benchmarkExecutor: BenchmarkExecutor, results: Results) : Sea
         if (lower > upper) {
             throw IllegalArgumentException()
         }
+        // special case:  length == 1 or 2
         if (lower == upper ) {
             if (this.benchmarkExecutor.runExperiment(load, resources[lower])) return lower
             else {
@@ -26,6 +27,7 @@ class BinarySearch(benchmarkExecutor: BenchmarkExecutor, results: Results) : Sea
                 return lower + 1
             }
         } else {
+            // apply binary search for a list with length > 2 and adjust upper and lower depending on the result for `resources[mid]`
             val mid = (upper + lower) / 2
             if (this.benchmarkExecutor.runExperiment(load, resources[mid])) {
                 if (mid == lower) {
diff --git a/theodolite-quarkus/src/main/kotlin/theodolite/strategies/searchstrategy/CompositeStrategy.kt b/theodolite-quarkus/src/main/kotlin/theodolite/strategies/searchstrategy/CompositeStrategy.kt
index ed8750083..20033a1d5 100644
--- a/theodolite-quarkus/src/main/kotlin/theodolite/strategies/searchstrategy/CompositeStrategy.kt
+++ b/theodolite-quarkus/src/main/kotlin/theodolite/strategies/searchstrategy/CompositeStrategy.kt
@@ -8,11 +8,11 @@ import theodolite.util.Results
 
 class CompositeStrategy(benchmarkExecutor: BenchmarkExecutor, val searchStrategy: SearchStrategy, val restrictionStrategies: Set<RestrictionStrategy>, results: Results) : SearchStrategy(benchmarkExecutor, results) {
 
-    override fun findSuitableResources(load: LoadDimension, resources: List<Resource>): Resource? {
+    override fun findSuitableResource(load: LoadDimension, resources: List<Resource>): Resource? {
         var restrictedResources = resources.toList()
         for (strategy in this.restrictionStrategies) {
             restrictedResources = restrictedResources.intersect(strategy.next(load, resources)).toList()
         }
-        return this.searchStrategy.findSuitableResources(load, restrictedResources)
+        return this.searchStrategy.findSuitableResource(load, restrictedResources)
     }
 }
\ No newline at end of file
diff --git a/theodolite-quarkus/src/main/kotlin/theodolite/strategies/searchstrategy/LinearSearch.kt b/theodolite-quarkus/src/main/kotlin/theodolite/strategies/searchstrategy/LinearSearch.kt
index 37fa4ca41..abbedf3c0 100644
--- a/theodolite-quarkus/src/main/kotlin/theodolite/strategies/searchstrategy/LinearSearch.kt
+++ b/theodolite-quarkus/src/main/kotlin/theodolite/strategies/searchstrategy/LinearSearch.kt
@@ -7,7 +7,7 @@ import theodolite.util.Results
 
 class LinearSearch(benchmarkExecutor: BenchmarkExecutor, results: Results) : SearchStrategy(benchmarkExecutor, results) {
 
-    override fun findSuitableResources(load: LoadDimension, resources: List<Resource>): Resource? {
+    override fun findSuitableResource(load: LoadDimension, resources: List<Resource>): Resource? {
         for (res in resources) {
             if (this.benchmarkExecutor.runExperiment(load, res)) return res
         }
diff --git a/theodolite-quarkus/src/main/kotlin/theodolite/strategies/searchstrategy/SearchStrategy.kt b/theodolite-quarkus/src/main/kotlin/theodolite/strategies/searchstrategy/SearchStrategy.kt
index 7e151ef6f..2b0143c52 100644
--- a/theodolite-quarkus/src/main/kotlin/theodolite/strategies/searchstrategy/SearchStrategy.kt
+++ b/theodolite-quarkus/src/main/kotlin/theodolite/strategies/searchstrategy/SearchStrategy.kt
@@ -6,5 +6,5 @@ import theodolite.util.Resource
 import theodolite.util.Results
 
 abstract class SearchStrategy(val benchmarkExecutor: BenchmarkExecutor, val results: Results) {
-    abstract fun findSuitableResources(load: LoadDimension, resources: List<Resource>): Resource?;
+    abstract fun findSuitableResource(load: LoadDimension, resources: List<Resource>): Resource?;
 }
\ No newline at end of file
diff --git a/theodolite-quarkus/src/test/kotlin/theodolite/CompositeStrategyTest.kt b/theodolite-quarkus/src/test/kotlin/theodolite/CompositeStrategyTest.kt
index 0f9b1b850..a9961d69b 100644
--- a/theodolite-quarkus/src/test/kotlin/theodolite/CompositeStrategyTest.kt
+++ b/theodolite-quarkus/src/test/kotlin/theodolite/CompositeStrategyTest.kt
@@ -40,7 +40,7 @@ class CompositeStrategyTest {
         expected.add(null)
 
         for(load in mockLoads) {
-            actual.add(strategy.findSuitableResources(load, mockResources))
+            actual.add(strategy.findSuitableResource(load, mockResources))
         }
 
         assertEquals(actual, expected)
@@ -71,7 +71,7 @@ class CompositeStrategyTest {
         expected.add(null)
 
         for(load in mockLoads) {
-            actual.add(strategy.findSuitableResources(load, mockResources))
+            actual.add(strategy.findSuitableResource(load, mockResources))
         }
 
         assertEquals(actual, expected)
@@ -101,7 +101,7 @@ class CompositeStrategyTest {
         val expected: ArrayList<Resource?> = ArrayList(listOf(0,2,2,3,4,6,7).map{ x -> Resource(x)})
 
         for(load in mockLoads) {
-            actual.add(strategy.findSuitableResources(load, mockResources))
+            actual.add(strategy.findSuitableResource(load, mockResources))
         }
 
         assertEquals(actual, expected)
-- 
GitLab