@@ -0,0 +1,1989 @@
+package net.grandcentrix.thirtyinch.test;%0A%0Aimport static junit.framework.Assert.fail;%0Aimport static org.assertj.core.api.Assertions.*;%0A%0Aimport android.support.annotation.NonNull;%0Aimport net.grandcentrix.thirtyinch.TiPresenter;%0Aimport net.grandcentrix.thirtyinch.TiView;%0Aimport net.grandcentrix.thirtyinch.ViewAction;%0Aimport org.junit.*;%0A%0Apublic class TiTestPresenterTest %7B%0A%0A    interface MockTiView extends TiView %7B%0A%0A        void helloWorld();%0A%0A    %7D%0A%0A    private TiPresenter%3CMockTiView%3E mockTiPresenter;%0A%0A    private MockTiView mockTiView;%0A%0A    @Before%0A    public void setUp() throws Exception %7B%0A        mockTiPresenter = new TiPresenter%3CMockTiView%3E() %7B%0A%0A            @Override%0A            protected void onAttachView(@NonNull MockTiView view) %7B%0A                super.onAttachView(view);%0A%0A                sendToView(new ViewAction%3CMockTiView%3E() %7B%0A                    @Override%0A                    public void call(MockTiView tiView) %7B%0A                        tiView.helloWorld();%0A                    %7D%0A                %7D);%0A            %7D%0A        %7D;%0A        mockTiPresenter.create();%0A        mockTiView = new MockTiView() %7B%0A            @Override%0A            public void helloWorld() %7B%0A                System.out.println(%22Hello World%22);%0A            %7D%0A        %7D;%0A    %7D%0A%0A    @Test%0A    public void test_attachViewInUnitTest_ShouldThrow() throws Exception %7B%0A        try %7B%0A            mockTiPresenter.attachView(mockTiView);%0A            fail(%22No exception%22);%0A        %7D catch (IllegalStateException e) %7B%0A            assertThat(e.getMessage()).contains(%22no ui thread executor available%22);%0A        %7D%0A    %7D%0A%0A    @Test%0A    public void test_attachViewInUnitTestWithTiTestPresenter_ShouldNotThrow() throws Exception %7B%0A        final TiTestPresenter%3CMockTiView%3E testPresenter = new TiTestPresenter%3C%3E(mockTiPresenter);%0A        try %7B%0A            testPresenter.attachView(mockTiView);%0A        %7D catch (IllegalStateException e) %7B%0A            fail(%22We throw an exception but don't expect one%22);%0A        %7D%0A    %7D%0A%7D

Add simple tests