aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/scala/org/perl8/test/harness/package.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/org/perl8/test/harness/package.scala')
-rw-r--r--src/main/scala/org/perl8/test/harness/package.scala13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/main/scala/org/perl8/test/harness/package.scala b/src/main/scala/org/perl8/test/harness/package.scala
index a5641e8..fbebf07 100644
--- a/src/main/scala/org/perl8/test/harness/package.scala
+++ b/src/main/scala/org/perl8/test/harness/package.scala
@@ -1,14 +1,27 @@
package org.perl8.test
+/** Classes to handle running test instances and providing output.
+ */
package object harness {
import scala.reflect.{ClassTag,classTag}
+ /** Loads `className`, returning the
+ * [[http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html java.lang.Class]]
+ * instance.
+ */
def loadClass[T: ClassTag] (className: String): Class[_] =
classTag[T].runtimeClass.getClassLoader.loadClass(className)
+ /** Loads `className` and creates a new instance of it, using the
+ * no-argument constructor.
+ */
def newInstance[T: ClassTag] (className: String): T =
loadClass[T](className).newInstance.asInstanceOf[T]
+ /** Loads `className` and creates a new instance of it, using a
+ * one-argument constructor. Passes `arg` as the argument to the
+ * constructor.
+ */
def newInstance[T: ClassTag, U <: AnyRef: ClassTag] (
className: String,
arg: U