Skip to content

Instantly share code, notes, and snippets.

View coderunner's full-sized avatar

Felix Trepanier coderunner

View GitHub Profile
@coderunner
coderunner / inject_example.java
Created August 11, 2011 17:18
inject example
//create the injector builder
Injector.Builder builder = new Injector.Builder();
//add the bindings
builder.addClassBinding(ConsoleWriter.class, SystemOutConsoleWriter.class);
builder.addSingletonMapping(MessageFormatter.class, MessageFormatter.class);
builder.addObjectMapping(String.class, "Inject Says");
//create the injector
Injector inject = builder.build();
@coderunner
coderunner / gist:1141302
Created August 12, 2011 02:21
dependency examples
public class ExampleClass
{
private final DependencyInterface dependency;
//no dependency injection
public ExampleClass()
{
//this makes the class hard to test
this.dependency = new Dependency();
//...
@coderunner
coderunner / gist:1141345
Created August 12, 2011 03:01
manual vs di
import org.inject.Injector;
public class MainClass
{
private Injector injector;
/** MANUAL OBJECT TREE SETUP **/
public void manualObjectTreeSetup()
{
//create the dependency tree
@coderunner
coderunner / gist:1161530
Created August 22, 2011 02:24
nondeterministic
public class CurrentTimeFormatter
{
private static String FORMAT = "Current time in millis is : ";
//Not testable since can not predict value of
//System.currentTimeMillis()
public String formatCurrentTime_notTestable()
{
return FORMAT + System.currentTimeMillis();
}
@coderunner
coderunner / gist:1192099
Created September 4, 2011 01:59
request handler interface
public interface RequestHandler
{
public HttpResponse handle(HttpRequest request, Context context);
}
public interface HttpRequest
{
public String getPath();
public Map<String, String> getHeaders();
}
@coderunner
coderunner / gist:1192128
Created September 4, 2011 02:19
test with easymock
public class TestRequestHandler
{
private static final String STORE_BODY = "stored body";
private static final String CASE_HEADER = "case";
private static final String UPPERCASE = "uppercase";
private static final String REQUEST_PATH = "path";
private ExampleRequestHandler requestHandler;
private HttpRequest request;
private Context context;
@coderunner
coderunner / gist:1192139
Created September 4, 2011 02:33
only behavior 1 easymock
@Test
public void shouldReturnedStoredText()
{
//record mode
//record behavior and expected calls
reset(request, context, monitoring, store, headers);
expect(context.getMonitoring()).andReturn(monitoring);
monitoring.incrementRequestCounter();
expect(request.getPath()).andReturn(REQUEST_PATH);
expect(request.getHeaders()).andReturn(headers);
@coderunner
coderunner / gist:1193799
Created September 5, 2011 00:46
test with mockito
public class TestExampleRequestHandler_Mockito
{
private static final String STORE_BODY = "stored body";
private static final String CASE_HEADER = "case";
private static final String UPPERCASE = "uppercase";
private static final String REQUEST_PATH = "path";
private ExampleRequestHandler requestHandler;
private HttpRequest request;
private Context context;
@coderunner
coderunner / gist:1210300
Created September 11, 2011 23:42
abstract logger
public abstract class Logger
{
private final String name;
private int logCount = 0;
public Logger(String name)
{
this.name = name;
}
@coderunner
coderunner / gist:1210314
Created September 11, 2011 23:52
abstract logger setup
public class TestLogger
{
private static final String LOGGER_NAME = "logger_name";
private static final Level LEVEL = Level.INFO;
private static final String MESSAGE = "message";
private static final String FORMATTED_LOG = LOGGER_NAME + " - " + LEVEL + " : " + MESSAGE;
private Logger logger;
@Before