package net.jsunit;
import net.jsunit.model.Browser;
import net.jsunit.model.BrowserResult;
import org.jdom.Element;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class MockBrowserTestRunner implements BrowserTestRunner {
public boolean disposeCalled;
public BrowserResult acceptedResult;
public BrowserResult resultToReturn;
public boolean shouldSucceed;
public String idPassed;
public Integer browserIdPassed;
public int timeoutSeconds;
public boolean hasReceivedResult;
public List<String> logMessages = new ArrayList<String>();
public List<BrowserLaunchSpecification> launchSpecs = new ArrayList<BrowserLaunchSpecification>();
public void startTestRun() {
}
public void finishTestRun() {
}
public long launchBrowserTestRun(BrowserLaunchSpecification launchSpec) {
launchSpecs.add(launchSpec);
return 0;
}
public void accept(BrowserResult result) {
this.acceptedResult = result;
}
public boolean hasReceivedResultSince(long launchTime) {
return hasReceivedResult;
}
public BrowserResult lastResult() {
return new DummyBrowserResult(shouldSucceed, shouldSucceed ? 0 : 1, 0);
}
public void dispose() {
disposeCalled = true;
}
public BrowserResult findResultWithId(String id, int browserId) throws InvalidBrowserIdException {
idPassed = id;
browserIdPassed = browserId;
return resultToReturn;
}
public void logStatus(String message) {
logMessages.add(message);
}
public List<Browser> getBrowsers() {
return Arrays.asList(new Browser[]{new Browser("mybrowser1.exe", 0), new Browser("mybrowser2.exe", 1)});
}
public int timeoutSeconds() {
return timeoutSeconds;
}
public Element asXml() {
return null;
}
public boolean isAlive() {
return true;
}
}