@Override public int hashCode() { return toString().hashCode(); }
@Override public boolean equals(Object o) { if (this == o) return true; if (o == null) return false; if (getClass() != o.getClass()) return false; return toString().equals(o.toString()); }
@Test public void testGenerateStateContainerImpl() { assertThat(ComponentBodyGenerator.generateStateContainer(mSpecModelDI).toString()) .isEqualTo( "@android.support.annotation.VisibleForTesting(\n" + " otherwise = 2\n" + ")\n" + "static class TestStateContainer implements com.facebook.litho.StateContainer {\n" + " @com.facebook.litho.annotations.State\n" + " @com.facebook.litho.annotations.Comparable(\n" + " type = 3\n" + " )\n" + " int arg1;\n" + "}\n"); }
@Test public void testBuildFuncNameConstants() throws Exception { AbiDefinition functionDefinition = new AbiDefinition( false, Arrays.asList( new AbiDefinition.NamedType("param", "uint8")), "functionName", Collections.emptyList(), "function", true); TypeSpec.Builder builder = TypeSpec.classBuilder("testClass"); builder.addFields(solidityFunctionWrapper .buildFuncNameConstants(Collections.singletonList(functionDefinition))); //CHECKSTYLE:OFF String expected = "class testClass {\n" + " public static final java.lang.String FUNC_FUNCTIONNAME = \"functionName\";\n" + "}\n"; //CHECKSTYLE:ON assertThat(builder.build().toString(), is(expected)); }
@Test public void testGenerateStateContainerWithTransitionImpl() { assertThat(ComponentBodyGenerator.generateStateContainer(mSpecModelWithTransitionDI).toString()) .isEqualTo( "@android.support.annotation.VisibleForTesting(\n"
assertThat(dataHolder.getTypeSpecs().get(0).toString()) .isEqualTo( "private static class UpdateCurrentStateStateUpdate<T extends java.lang.CharSequence> implements com.facebook.litho.ComponentLifecycle.StateUpdate {\n" + "}\n"); assertThat(dataHolder.getTypeSpecs().get(1).toString()) .isEqualTo( "private static class UpdateCurrentStateWithTransitionStateUpdate<T extends java.lang.CharSequence> implements com.facebook.litho.ComponentLifecycle.StateUpdate {\n"
@Test public void testGenerateStateUpdateClasses() { TypeSpecDataHolder dataHolder = StateGenerator.generateStateUpdateClasses(mSpecModelWithState); assertThat(dataHolder.getTypeSpecs()).hasSize(1); assertThat(dataHolder.getTypeSpecs().get(0).toString()) .isEqualTo( "private static class UpdateCurrentStateStateUpdate<T extends java.lang.CharSequence> implements com.facebook.litho.ComponentLifecycle.StateUpdate {\n" + " UpdateCurrentStateStateUpdate() {\n" + " }\n" + "\n" + " @java.lang.Override\n" + " public void updateState(com.facebook.litho.StateContainer _stateContainer) {\n" + " TestWithStateStateContainer<T> stateContainer = (TestWithStateStateContainer<T>) _stateContainer;\n" + " TestWithStateSpec.updateCurrentState();\n" + " }\n" + "}\n"); }
@Test public void testGenerateStateUpdateWithTransitionClasses() { TypeSpecDataHolder dataHolder = StateGenerator.generateStateUpdateClasses(mSpecModelWithStateWithTransition); assertThat(dataHolder.getTypeSpecs()).hasSize(1); assertThat(dataHolder.getTypeSpecs().get(0).toString()) .isEqualTo( "private static class UpdateCurrentStateStateUpdate<T extends java.lang.CharSequence> implements com.facebook.litho.ComponentLifecycle.StateUpdate {\n" + " UpdateCurrentStateStateUpdate() {\n" + " }\n" + "\n" + " @java.lang.Override\n" + " public void updateState(com.facebook.litho.StateContainer _stateContainer) {\n" + " TestWithStateWithTransitionStateContainer<T> stateContainer = (TestWithStateWithTransitionStateContainer<T>) _stateContainer;\n" + " com.facebook.litho.Transition transition = TestWithStateWithTransitionSpec.updateCurrentState();\n" + " if (transition != null) {\n" + " stateContainer._transitions.add(transition);\n" + " }\n" + " }\n" + "}\n"); }
assertThat(builder.build().toString(), is(expected));
BuilderGenerator.generate(mKotlinWildcardsVarArgBuildersSpecModel); assertThat(dataHolder.getTypeSpecs()).hasSize(1); assertThat(dataHolder.getTypeSpecs().get(0).toString()) .isEqualTo( "public static class Builder extends com.facebook.litho.Component.Builder<Builder> {\n"
BuilderGenerator.generate(mDimenResTypeWithBoxFloatArgSpecModel); assertThat(dataHolder.getTypeSpecs()).hasSize(1); assertThat(dataHolder.getTypeSpecs().get(0).toString()) .isEqualTo( "public static class Builder extends com.facebook.litho.Component.Builder<Builder> {\n"
TypeSpecDataHolder dataHolder = BuilderGenerator.generate(mResTypeVarArgsSpecModel); assertThat(dataHolder.getTypeSpecs()).hasSize(1); assertThat(dataHolder.getTypeSpecs().get(0).toString()) .isEqualTo( "public static class Builder extends com.facebook.litho.Component.Builder<Builder> {\n"
assertThat(dataHolder.getTypeSpecs().get(0).toString()) .isEqualTo( "public static class Builder extends com.facebook.litho.Component.Builder<Builder> {\n"
@Override public int hashCode() { return toString().hashCode(); }
@Override public int hashCode() { return toString().hashCode(); }
@Override public boolean equals(Object o) { if (this == o) return true; if (o == null) return false; if (getClass() != o.getClass()) return false; return toString().equals(o.toString()); }
@Override public boolean equals(Object o) { if (this == o) return true; if (o == null) return false; if (getClass() != o.getClass()) return false; return toString().equals(o.toString()); }
@Override public void onFunctionModel(DocForFunc functionDoc) { TypeSpec typeSpec = this.createInlineClassForDocFuncData(functionDoc, functionDoc.getClassName() + suffix); JavaFile javafile = JavaFile.builder(functionDoc.getPackageName(), typeSpec) .addFileComment("This file is auto-generated.") .build(); try { javafile.writeTo(this.filer); } catch (IOException e) { messenger.printMessage(Diagnostic.Kind.ERROR, "Error writing javafile " + javafile.packageName + "." + javafile.typeSpec.toString()); throw new RuntimeException(e); } }