                                      :end number?
                                      :result false}]}]))))
 
+(deftest simulation-returns-result-when-run-with-one-user
+  (let [result (run-single-scenario {:name "Test scenario"
+                                     :steps [{:name "Step1"
+                                              :action (fn [ctx] [true ctx])}
+                                             {:name "Step2"
+                                              :action (fn [ctx] [false ctx])}]}
+                                    1)]
+    (is (equal? result [{:name "Test scenario"
+                         :id 0
+                         :start number?
+                         :end number?
+                         :requests [{:name "Step1"
+                                     :id 0
+                                     :start number?
+                                     :end number?
+                                     :result true}
+                                    {:name "Step2"
+                                     :id 0
+                                     :start number?
+                                     :end number?
+                                     :result false}]}]))))
+
 (deftest when-function-returns-exception-it-is-handled-as-ko
   (let [s {:name "Exception scenario"
            :requests [{:name "Throwing" :fn error-throwing-request}]}
-        result (run-simulation [s] 1)]
+        result (run-legacy-simulation [s] 1)]
     (is (equal? result [{:name "Exception scenario"
                          :id 0
                          :start number?

        request2 {:name "Request2" :fn successful-request}
        main-scenario {:name "Main" :weight 2 :requests [request1 request2]}
        second-scenario {:name "Second" :weight 1 :requests [request1]}
        result (group-by :name (run-simulation
                                 [main-scenario second-scenario]
                                 10
                                 {:requests 100}))

                                  (weighted-scenarios (range concurrency) scenarios))
        to-vector)))

(defn- run-single-scenario [scenario concurrency]
  (to-vector (simulation/run {:name "Simulation"
                              :scenarios [scenario]}
                             {:concurrency concurrency
                              :timeout 5000})))

(def request-count (atom 0))

(defn counting-request [cb context]
