From 179020f4ea848c8772e0f59f263efe14b531e51e Mon Sep 17 00:00:00 2001 From: Emerson Oliveira Date: Tue, 9 Apr 2013 16:42:03 -0300 Subject: [PATCH] Adição de testes com anotação @Name --- impl/core/src/test/java/br/gov/frameworkdemoiselle/configuration/field/named/AbstractEmptyNamedFieldConfig.java | 49 +++++++++++++++++++++++++++++++++++++++++++++++++ impl/core/src/test/java/br/gov/frameworkdemoiselle/configuration/field/named/AbstractNamedFieldConfig.java | 6 +++--- impl/core/src/test/java/br/gov/frameworkdemoiselle/configuration/field/named/ConfigurationNamedFieldTest.java | 40 ++++++++++++++++++++++++++++++++++------ impl/core/src/test/java/br/gov/frameworkdemoiselle/configuration/field/named/PropertyEmptyNamed.java | 8 ++++++++ impl/core/src/test/java/br/gov/frameworkdemoiselle/configuration/field/named/XMLEmptyNamed.java | 8 ++++++++ 5 files changed, 102 insertions(+), 9 deletions(-) create mode 100644 impl/core/src/test/java/br/gov/frameworkdemoiselle/configuration/field/named/AbstractEmptyNamedFieldConfig.java create mode 100644 impl/core/src/test/java/br/gov/frameworkdemoiselle/configuration/field/named/PropertyEmptyNamed.java create mode 100644 impl/core/src/test/java/br/gov/frameworkdemoiselle/configuration/field/named/XMLEmptyNamed.java diff --git a/impl/core/src/test/java/br/gov/frameworkdemoiselle/configuration/field/named/AbstractEmptyNamedFieldConfig.java b/impl/core/src/test/java/br/gov/frameworkdemoiselle/configuration/field/named/AbstractEmptyNamedFieldConfig.java new file mode 100644 index 0000000..c72bf09 --- /dev/null +++ b/impl/core/src/test/java/br/gov/frameworkdemoiselle/configuration/field/named/AbstractEmptyNamedFieldConfig.java @@ -0,0 +1,49 @@ +/* + * Demoiselle Framework + * Copyright (C) 2010 SERPRO + * ---------------------------------------------------------------------------- + * This file is part of Demoiselle Framework. + * + * Demoiselle Framework is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License version 3 + * as published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License version 3 + * along with this program; if not, see + * or write to the Free Software Foundation, Inc., 51 Franklin Street, + * Fifth Floor, Boston, MA 02110-1301, USA. + * ---------------------------------------------------------------------------- + * Este arquivo é parte do Framework Demoiselle. + * + * O Framework Demoiselle é um software livre; você pode redistribuí-lo e/ou + * modificá-lo dentro dos termos da GNU LGPL versão 3 como publicada pela Fundação + * do Software Livre (FSF). + * + * Este programa é distribuído na esperança que possa ser útil, mas SEM NENHUMA + * GARANTIA; sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou + * APLICAÇÃO EM PARTICULAR. Veja a Licença Pública Geral GNU/LGPL em português + * para maiores detalhes. + * + * Você deve ter recebido uma cópia da GNU LGPL versão 3, sob o título + * "LICENCA.txt", junto com esse programa. Se não, acesse + * ou escreva para a Fundação do Software Livre (FSF) Inc., + * 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA. + */ +package br.gov.frameworkdemoiselle.configuration.field.named; + +import br.gov.frameworkdemoiselle.annotation.Name; + +public abstract class AbstractEmptyNamedFieldConfig { + + @Name("") + private int noNameAttribute; + + public int getNoNameAttribute() { + return noNameAttribute; + } +} diff --git a/impl/core/src/test/java/br/gov/frameworkdemoiselle/configuration/field/named/AbstractNamedFieldConfig.java b/impl/core/src/test/java/br/gov/frameworkdemoiselle/configuration/field/named/AbstractNamedFieldConfig.java index bc60c85..dc69758 100644 --- a/impl/core/src/test/java/br/gov/frameworkdemoiselle/configuration/field/named/AbstractNamedFieldConfig.java +++ b/impl/core/src/test/java/br/gov/frameworkdemoiselle/configuration/field/named/AbstractNamedFieldConfig.java @@ -49,15 +49,15 @@ public abstract class AbstractNamedFieldConfig { @Name("attribute.without.file") private int namedWithoutFileAttribute; - public int intUniqueNameAttribute() { + public int getUniqueNameAttribute() { return uniqueNameAttribute; } - public int intNotPresentAttribute() { + public int getNotPresentAttribute() { return notPresentAttribute; } - public int intNamedWithoutFileAttribute() { + public int getNamedWithoutFileAttribute() { return namedWithoutFileAttribute; } } diff --git a/impl/core/src/test/java/br/gov/frameworkdemoiselle/configuration/field/named/ConfigurationNamedFieldTest.java b/impl/core/src/test/java/br/gov/frameworkdemoiselle/configuration/field/named/ConfigurationNamedFieldTest.java index dc36c89..f8640ae 100644 --- a/impl/core/src/test/java/br/gov/frameworkdemoiselle/configuration/field/named/ConfigurationNamedFieldTest.java +++ b/impl/core/src/test/java/br/gov/frameworkdemoiselle/configuration/field/named/ConfigurationNamedFieldTest.java @@ -37,11 +37,14 @@ package br.gov.frameworkdemoiselle.configuration.field.named; import static junit.framework.Assert.assertEquals; +import static junit.framework.Assert.fail; import java.io.File; import javax.inject.Inject; +import junit.framework.Assert; + import org.jboss.arquillian.container.test.api.Deployment; import org.jboss.arquillian.junit.Arquillian; import org.jboss.shrinkwrap.api.asset.FileAsset; @@ -50,6 +53,7 @@ import org.junit.Test; import org.junit.runner.RunWith; import br.gov.frameworkdemoiselle.configuration.AbstractConfigurationTest; +import br.gov.frameworkdemoiselle.configuration.ConfigurationException; @RunWith(Arquillian.class) public class ConfigurationNamedFieldTest extends AbstractConfigurationTest { @@ -60,6 +64,12 @@ public class ConfigurationNamedFieldTest extends AbstractConfigurationTest { @Inject private XMLNamed xmlNamed; + @Inject + private PropertyEmptyNamed propertyEmptyNamed; + + @Inject + private XMLEmptyNamed xmlEmptyNamed; + @Deployment public static JavaArchive createDeployment() { JavaArchive deployment = createConfigurationDeployment(); @@ -76,19 +86,37 @@ public class ConfigurationNamedFieldTest extends AbstractConfigurationTest { @Test public void loadNamedConfigFromPropertyWithName() { - assertEquals(1, propertyNamed.intUniqueNameAttribute()); - assertEquals(1, xmlNamed.intUniqueNameAttribute()); + assertEquals(1, propertyNamed.getUniqueNameAttribute()); + assertEquals(1, xmlNamed.getUniqueNameAttribute()); } @Test public void loadNamedConfigFromNonexistentProperty() { - assertEquals(0, propertyNamed.intNotPresentAttribute()); - assertEquals(0, xmlNamed.intNotPresentAttribute()); + assertEquals(0, propertyNamed.getNotPresentAttribute()); + assertEquals(0, xmlNamed.getNotPresentAttribute()); } @Test public void loadNamedConfigFromPropertyWithoutField() { - assertEquals(0, propertyNamed.intNamedWithoutFileAttribute()); - assertEquals(0, xmlNamed.intNamedWithoutFileAttribute()); + assertEquals(0, propertyNamed.getNamedWithoutFileAttribute()); + assertEquals(0, xmlNamed.getNamedWithoutFileAttribute()); + } + + @Test + public void loadEmptyNameConfig() { + try { + xmlEmptyNamed.getNoNameAttribute(); + fail(); + } catch (ConfigurationException cause) { + assertEquals(IllegalArgumentException.class, cause.getCause().getClass()); + } + + try { + propertyEmptyNamed.getNoNameAttribute(); + fail(); + } catch (ConfigurationException cause) { + assertEquals(IllegalArgumentException.class, cause.getCause().getClass()); + } + } } diff --git a/impl/core/src/test/java/br/gov/frameworkdemoiselle/configuration/field/named/PropertyEmptyNamed.java b/impl/core/src/test/java/br/gov/frameworkdemoiselle/configuration/field/named/PropertyEmptyNamed.java new file mode 100644 index 0000000..f71bd77 --- /dev/null +++ b/impl/core/src/test/java/br/gov/frameworkdemoiselle/configuration/field/named/PropertyEmptyNamed.java @@ -0,0 +1,8 @@ +package br.gov.frameworkdemoiselle.configuration.field.named; + +import static br.gov.frameworkdemoiselle.configuration.ConfigType.PROPERTIES; +import br.gov.frameworkdemoiselle.configuration.Configuration; + +@Configuration(type = PROPERTIES) +public class PropertyEmptyNamed extends AbstractEmptyNamedFieldConfig { +} diff --git a/impl/core/src/test/java/br/gov/frameworkdemoiselle/configuration/field/named/XMLEmptyNamed.java b/impl/core/src/test/java/br/gov/frameworkdemoiselle/configuration/field/named/XMLEmptyNamed.java new file mode 100644 index 0000000..297175b --- /dev/null +++ b/impl/core/src/test/java/br/gov/frameworkdemoiselle/configuration/field/named/XMLEmptyNamed.java @@ -0,0 +1,8 @@ +package br.gov.frameworkdemoiselle.configuration.field.named; + +import static br.gov.frameworkdemoiselle.configuration.ConfigType.XML; +import br.gov.frameworkdemoiselle.configuration.Configuration; + +@Configuration(type = XML) +public class XMLEmptyNamed extends AbstractEmptyNamedFieldConfig { +} -- libgit2 0.21.2