         fixture (write-code! "java" dir fixture)
         setup (when (not (empty? setup)) (write-code! "java" dir setup))
         solution (write-code! "java" dir solution)
-        files (file-names [fixture setup solution])]
+        files (file-names fixture setup solution)]
     (apply compile! files)
     (->> fixture :class-name (load-class dir) run-junit-tests)))

           [codewars.java CwRunListener]
           [java.io IOException]))

(defn- compile! [& files]
  (let [compilation-result
        (-> (ToolProvider/getSystemJavaCompiler)
            ;; TODO: write compilation errors somewhere?

  (let [dir (TempDir/create "java")
        setup (when (not (empty? setup)) (write-code! "java" dir setup))
        solution (write-code! "java" dir solution)
        files (file-names setup solution)]
    (apply compile! files)
    (-> solution
        :class-name
