package com.arellomobile.mvp.compiler; import java.io.IOException; import java.util.regex.Pattern; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableTable; import com.google.common.truth.Truth; import com.google.testing.compile.JavaFileObjects; import org.junit.Test; import javax.tools.Diagnostic; import static org.junit.Assert.fail; /** * Date: 26.02.2016 * Time: 10:50 * * @author Savin Mikhail */ public class ViewStateClassTest extends CompilerTest { @Test public void viewStateForClassView_throw() { try { getThat(JavaFileObjects.forResource("view/CounterTestView.java"), JavaFileObjects.forResource("presenter/InjectViewStateForClassPresenter.java")).failsToCompile(); fail(); } catch (RuntimeException e) { Truth.assertThat(e.getLocalizedMessage().contains("must be INTERFACE, or not mark it as")); } } @Test public void positiveViewState() { try { assertCompilationResultIs(ImmutableTable.<Diagnostic.Kind, Integer, Pattern>of(), ImmutableList.of(getString("com/arellomobile/mvp/view/PositiveViewStateView$$State.java"))); } catch (IOException e) { fail(e.getLocalizedMessage()); } } }