// Path: core/src/com/clarkparsia/owlwg/testcase/TestCase.java
// public interface TestCase<O> {
// 
// 	public void accept(TestCaseVisitor<O> visitor);
// 
// 	public Set<Semantics> getApplicableSemantics();
// 
// 	public String getIdentifier();
// 
// 	public Set<URI> getImportedOntologies();
// 
// 	public String getImportedOntology(URI uri, SerializationFormat format);
// 
// 	public Set<SerializationFormat> getImportedOntologyFormats(URI uri);
// 
// 	public Set<Semantics> getNotApplicableSemantics();
// 
// 	public Set<SyntaxConstraint> getSatisfiedConstraints();
// 
// 	public Status getStatus();
// 
// 	public Set<SyntaxConstraint> getUnsatisfiedConstraints();
// 
// 	public URI getURI();
// }
// 
// Path: core/src/com/clarkparsia/owlwg/testrun/TestRunResult.java
// public interface TestRunResult {
// 
// 	public void accept(TestRunResultVisitor visitor);
// 
// 	public String getDetails();
// 
// 	public RunResultType getResultType();
// 
// 	public TestCase getTestCase();
// 	
// 	public TestRunner getTestRunner();
// 
// 	public RunTestType getTestType();
// }


import java.net.URI;
import java.util.Collection;
import org.semanticweb.owl.inference.OWLReasonerException;
import com.clarkparsia.owlwg.testcase.TestCase;
import com.clarkparsia.owlwg.testrun.TestRunResult;
		this.uri = uri;
		this.name = name;
	}

	@Override
	public boolean equals(Object obj) {
		if( this == obj )
			return true;

		if( obj instanceof ReadOnlyTestRunner ) {
			final ReadOnlyTestRunner other = (ReadOnlyTestRunner) obj;
			return this.uri.equals( other.uri );
		}

		return false;
	}

	public String getName() {
		return name;
	}

	public URI getURI() {
		return uri;
	}

	@Override
	public int hashCode() {
		return uri.hashCode();
	}

// Path: core/src/com/clarkparsia/owlwg/testcase/TestCase.java
// public interface TestCase<O> {
// 
// 	public void accept(TestCaseVisitor<O> visitor);
// 
// 	public Set<Semantics> getApplicableSemantics();
// 
// 	public String getIdentifier();
// 
// 	public Set<URI> getImportedOntologies();
// 
// 	public String getImportedOntology(URI uri, SerializationFormat format);
// 
// 	public Set<SerializationFormat> getImportedOntologyFormats(URI uri);
// 
// 	public Set<Semantics> getNotApplicableSemantics();
// 
// 	public Set<SyntaxConstraint> getSatisfiedConstraints();
// 
// 	public Status getStatus();
// 
// 	public Set<SyntaxConstraint> getUnsatisfiedConstraints();
// 
// 	public URI getURI();
// }
// 
// Path: core/src/com/clarkparsia/owlwg/testrun/TestRunResult.java
// public interface TestRunResult {
// 
// 	public void accept(TestRunResultVisitor visitor);
// 
// 	public String getDetails();
// 
// 	public RunResultType getResultType();
// 
// 	public TestCase getTestCase();
// 	
// 	public TestRunner getTestRunner();
// 
// 	public RunTestType getTestType();
// }


// Path: core/src/com/clarkparsia/owlwg/runner/ReadOnlyTestRunner.java
import java.net.URI;
import java.util.Collection;
import org.semanticweb.owl.inference.OWLReasonerException;
import com.clarkparsia.owlwg.testcase.TestCase;
import com.clarkparsia.owlwg.testrun.TestRunResult;

		this.uri = uri;
		this.name = name;
	}

	@Override
	public boolean equals(Object obj) {
		if( this == obj )
			return true;

		if( obj instanceof ReadOnlyTestRunner ) {
			final ReadOnlyTestRunner other = (ReadOnlyTestRunner) obj;
			return this.uri.equals( other.uri );
		}

		return false;
	}

	public String getName() {
		return name;
	}

	public URI getURI() {
		return uri;
	}

	@Override
	public int hashCode() {
		return uri.hashCode();
	}

	public Collection<TestRunResult> run(TestCase testcase, long timeout) {