diff --git a/AndroidAnnotations/androidannotations-core/androidannotations/src/test/java/org/androidannotations/ebean/EBeanTest.java b/AndroidAnnotations/androidannotations-core/androidannotations/src/test/java/org/androidannotations/ebean/EBeanTest.java index f72c77aecc..a258b18968 100644 --- a/AndroidAnnotations/androidannotations-core/androidannotations/src/test/java/org/androidannotations/ebean/EBeanTest.java +++ b/AndroidAnnotations/androidannotations-core/androidannotations/src/test/java/org/androidannotations/ebean/EBeanTest.java @@ -31,7 +31,8 @@ public void setUp() { @Test public void activitySubclassInManifestCompiles() { - assertCompilationSuccessful(compileFiles(SomeActivity.class, SomeImplementation.class, SingletonBean.class, SomeGenericBean.class, SomeGenericBeanExt.class)); + assertCompilationSuccessful(compileFiles(SomeActivity.class, SomeImplementation.class, SomeGenericBean.class, SomeGenericBeanExt.class, SingletonBean.class, SomeBeanWithEmptyConstructor.class, + SomeBeanWithContextParamConstructor.class)); } @Test @@ -39,4 +40,14 @@ public void eBeanOnInterfaceDoesNotCompile() { assertCompilationError(compileFiles(InterfaceWithEBean.class)); } + @Test + public void eBeanWithContextAndNoParamsConstructorsCompile() { + assertCompilationSuccessful(compileFiles(SomeBeanWithEmptyConstructor.class, SomeBeanWithContextParamConstructor.class)); + } + + @Test + public void eBeanWithNonContextOnlyConstructorsDoesNotCompile() { + assertCompilationError(compileFiles(SomeBeanWithNonContextConstructors.class, SomeBeanWithContextAndNoParamsConstructors.class)); + } + } diff --git a/AndroidAnnotations/androidannotations-core/androidannotations/src/test/java/org/androidannotations/ebean/SomeActivity.java b/AndroidAnnotations/androidannotations-core/androidannotations/src/test/java/org/androidannotations/ebean/SomeActivity.java index 92dfb15fc9..68c0bc6397 100644 --- a/AndroidAnnotations/androidannotations-core/androidannotations/src/test/java/org/androidannotations/ebean/SomeActivity.java +++ b/AndroidAnnotations/androidannotations-core/androidannotations/src/test/java/org/androidannotations/ebean/SomeActivity.java @@ -1,5 +1,6 @@ /** * Copyright (C) 2010-2016 eBusiness Information, Excilys Group + * Copyright (C) 2016-2019 the AndroidAnnotations project * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of @@ -30,9 +31,18 @@ public class SomeActivity extends Activity { @Bean @NonConfigurationInstance - SingletonBean maintainedSingeltonDependency; + SingletonBean maintainedSingletonDependency; @Bean SomeGenericBean objectSomeGenericBean; + @Bean + SomeGenericBeanExt someGenericBeanExt; + + @Bean + SomeBeanWithEmptyConstructor beanWithEmptyConstructor; + + @Bean + SomeBeanWithContextParamConstructor beanWithContextParamConstructor; + } diff --git a/AndroidAnnotations/androidannotations-core/androidannotations/src/test/java/org/androidannotations/ebean/SomeBeanWithContextAndNoParamsConstructors.java b/AndroidAnnotations/androidannotations-core/androidannotations/src/test/java/org/androidannotations/ebean/SomeBeanWithContextAndNoParamsConstructors.java new file mode 100644 index 0000000000..575c70beb2 --- /dev/null +++ b/AndroidAnnotations/androidannotations-core/androidannotations/src/test/java/org/androidannotations/ebean/SomeBeanWithContextAndNoParamsConstructors.java @@ -0,0 +1,33 @@ +/** + * Copyright (C) 2016-2019 the AndroidAnnotations project + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed To in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +package org.androidannotations.ebean; + +import org.androidannotations.annotations.EBean; + +import android.content.Context; + +@EBean +public class SomeBeanWithContextAndNoParamsConstructors { + + public SomeBeanWithContextAndNoParamsConstructors() { + + } + + public SomeBeanWithContextAndNoParamsConstructors(Context context) { + + } + +} diff --git a/AndroidAnnotations/androidannotations-core/androidannotations/src/test/java/org/androidannotations/ebean/SomeBeanWithContextParamConstructor.java b/AndroidAnnotations/androidannotations-core/androidannotations/src/test/java/org/androidannotations/ebean/SomeBeanWithContextParamConstructor.java new file mode 100644 index 0000000000..d2ad5e7320 --- /dev/null +++ b/AndroidAnnotations/androidannotations-core/androidannotations/src/test/java/org/androidannotations/ebean/SomeBeanWithContextParamConstructor.java @@ -0,0 +1,29 @@ +/** + * Copyright (C) 2016-2019 the AndroidAnnotations project + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed To in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +package org.androidannotations.ebean; + +import org.androidannotations.annotations.EBean; + +import android.content.Context; + +@EBean +public class SomeBeanWithContextParamConstructor { + + public SomeBeanWithContextParamConstructor(Context context) { + + } + +} diff --git a/AndroidAnnotations/androidannotations-core/androidannotations/src/test/java/org/androidannotations/ebean/SomeBeanWithEmptyConstructor.java b/AndroidAnnotations/androidannotations-core/androidannotations/src/test/java/org/androidannotations/ebean/SomeBeanWithEmptyConstructor.java new file mode 100644 index 0000000000..31d27095e6 --- /dev/null +++ b/AndroidAnnotations/androidannotations-core/androidannotations/src/test/java/org/androidannotations/ebean/SomeBeanWithEmptyConstructor.java @@ -0,0 +1,27 @@ +/** + * Copyright (C) 2016-2019 the AndroidAnnotations project + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed To in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +package org.androidannotations.ebean; + +import org.androidannotations.annotations.EBean; + +@EBean +public class SomeBeanWithEmptyConstructor { + + public SomeBeanWithEmptyConstructor() { + + } + +} diff --git a/AndroidAnnotations/androidannotations-core/androidannotations/src/test/java/org/androidannotations/ebean/SomeBeanWithNonContextConstructors.java b/AndroidAnnotations/androidannotations-core/androidannotations/src/test/java/org/androidannotations/ebean/SomeBeanWithNonContextConstructors.java new file mode 100644 index 0000000000..d5b67fadeb --- /dev/null +++ b/AndroidAnnotations/androidannotations-core/androidannotations/src/test/java/org/androidannotations/ebean/SomeBeanWithNonContextConstructors.java @@ -0,0 +1,37 @@ +/** + * Copyright (C) 2016-2019 the AndroidAnnotations project + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed To in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ +package org.androidannotations.ebean; + +import org.androidannotations.annotations.EBean; + +import android.content.Context; + +@EBean +public class SomeBeanWithNonContextConstructors { + + public SomeBeanWithNonContextConstructors(String someParam) { + + } + + public SomeBeanWithNonContextConstructors(Context context, int someParam) { + + } + + public SomeBeanWithNonContextConstructors(String someParam, Context context) { + + } + +}