diff --git a/.classpath b/.classpath index 94f2fe7..bbf752f 100644 --- a/.classpath +++ b/.classpath @@ -17,7 +17,17 @@ - + + + + + + + + + + + diff --git a/src/module-info.java b/src/module-info.java index dad64d6..b6caaf5 100644 --- a/src/module-info.java +++ b/src/module-info.java @@ -11,9 +11,9 @@ open module org.atriasoft.exml { exports org.atriasoft.exml.exception; exports org.atriasoft.exml.builder; exports org.atriasoft.exml.parser; - exports org.atriasoft.exml.annotation; requires transitive org.atriasoft.etk; + requires transitive org.atriasoft.aknot; requires transitive io.scenarium.logger; requires java.base; diff --git a/src/org/atriasoft/exml/Exml.java b/src/org/atriasoft/exml/Exml.java index c721151..7f0d116 100644 --- a/src/org/atriasoft/exml/Exml.java +++ b/src/org/atriasoft/exml/Exml.java @@ -12,8 +12,8 @@ import java.nio.charset.StandardCharsets; import java.nio.file.Files; import java.nio.file.Path; +import org.atriasoft.aknot.model.InterfaceFactoryAccess; import org.atriasoft.etk.Uri; -import org.atriasoft.exml.annotation.XmlFactory.InterfaceXmlFactoryAccess; import org.atriasoft.exml.builder.Builder; import org.atriasoft.exml.builder.BuilderGeneric; import org.atriasoft.exml.builder.BuilderIntrospection; @@ -134,7 +134,7 @@ public class Exml { } } - public static Object[] parse(final String data, final InterfaceXmlFactoryAccess widgetXmlFactory) throws ExmlException, ExmlParserErrorMulti { + public static Object[] parse(final String data, final InterfaceFactoryAccess widgetXmlFactory) throws ExmlException, ExmlParserErrorMulti { Builder builder; try { builder = new BuilderIntrospection(widgetXmlFactory); diff --git a/src/org/atriasoft/exml/annotation/ExmlAnnotation.java b/src/org/atriasoft/exml/annotation/ExmlAnnotation.java deleted file mode 100644 index edc2a72..0000000 --- a/src/org/atriasoft/exml/annotation/ExmlAnnotation.java +++ /dev/null @@ -1,19 +0,0 @@ -package org.atriasoft.exml.annotation; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -/** - * Meta-annotation (annotations used on other annotations) - * used for marking all annotations that are - * part of Exml package. Can be used for recognizing all - * Exml annotations generically, and in future also for - * passing other generic annotation configuration. - */ -@Target(ElementType.ANNOTATION_TYPE) -@Retention(RetentionPolicy.RUNTIME) -public @interface ExmlAnnotation { - // for now, a pure tag annotation, no parameters -} \ No newline at end of file diff --git a/src/org/atriasoft/exml/annotation/XmlAttribute.java b/src/org/atriasoft/exml/annotation/XmlAttribute.java deleted file mode 100644 index 5e7d654..0000000 --- a/src/org/atriasoft/exml/annotation/XmlAttribute.java +++ /dev/null @@ -1,20 +0,0 @@ -package org.atriasoft.exml.annotation; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -/** - * Marker annotation that set the Xml element seen as a property. - */ -@Target({ ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER }) -@Retention(RetentionPolicy.RUNTIME) -@ExmlAnnotation -public @interface XmlAttribute { - /** - * Set at true to set the element managed as a property of the Xml node - * @return property management. - */ - boolean value() default true; -} \ No newline at end of file diff --git a/src/org/atriasoft/exml/annotation/XmlCaseSensitive.java b/src/org/atriasoft/exml/annotation/XmlCaseSensitive.java deleted file mode 100644 index 243041f..0000000 --- a/src/org/atriasoft/exml/annotation/XmlCaseSensitive.java +++ /dev/null @@ -1,21 +0,0 @@ -package org.atriasoft.exml.annotation; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -/** - * Marker annotation that to set the element is case sensitive or not. - * - */ -@Target({ ElementType.FIELD, ElementType.TYPE, ElementType.METHOD, ElementType.PARAMETER }) -@Retention(RetentionPolicy.RUNTIME) -@ExmlAnnotation -public @interface XmlCaseSensitive { - /** - * Set if the element is is case sensitive. - * @return true if case sensitive - */ - boolean value() default true; -} \ No newline at end of file diff --git a/src/org/atriasoft/exml/annotation/XmlDefaultAttibute.java b/src/org/atriasoft/exml/annotation/XmlDefaultAttibute.java deleted file mode 100644 index c4ba1b5..0000000 --- a/src/org/atriasoft/exml/annotation/XmlDefaultAttibute.java +++ /dev/null @@ -1,20 +0,0 @@ -package org.atriasoft.exml.annotation; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -/** - * Marker annotation that permit to set the default parsing as attributes. - */ -@Target(ElementType.TYPE) -@Retention(RetentionPolicy.RUNTIME) -@ExmlAnnotation -public @interface XmlDefaultAttibute { - /** - * Set this to false to select the attribute as default. - * @return true select default attribute, false select default element. - */ - boolean value() default true; -} \ No newline at end of file diff --git a/src/org/atriasoft/exml/annotation/XmlDefaultCaseSensitive.java b/src/org/atriasoft/exml/annotation/XmlDefaultCaseSensitive.java deleted file mode 100644 index ca31cf1..0000000 --- a/src/org/atriasoft/exml/annotation/XmlDefaultCaseSensitive.java +++ /dev/null @@ -1,20 +0,0 @@ -package org.atriasoft.exml.annotation; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -/** - * Marker annotation that permit to select if the parsing is case sensitive or not. - */ -@Target(ElementType.TYPE) -@Retention(RetentionPolicy.RUNTIME) -@ExmlAnnotation -public @interface XmlDefaultCaseSensitive { - /** - * Set this at true to set all the element are case sensitive. - * @return true if the element are by default case_sensitive. - */ - boolean value() default true; -} \ No newline at end of file diff --git a/src/org/atriasoft/exml/annotation/XmlDefaultManaged.java b/src/org/atriasoft/exml/annotation/XmlDefaultManaged.java deleted file mode 100644 index 3147521..0000000 --- a/src/org/atriasoft/exml/annotation/XmlDefaultManaged.java +++ /dev/null @@ -1,21 +0,0 @@ -package org.atriasoft.exml.annotation; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -/** - * Marker annotation that set the element are not managed by default. Need to add @XmlManaged to be enable. - * - */ -@Target(ElementType.TYPE) -@Retention(RetentionPolicy.RUNTIME) -@ExmlAnnotation -public @interface XmlDefaultManaged { - /** - * Set this at false to remove all the field and the function from Xml introspection - * @return true if the element are by default managed. - */ - boolean value() default true; -} \ No newline at end of file diff --git a/src/org/atriasoft/exml/annotation/XmlDefaultNullValue.java b/src/org/atriasoft/exml/annotation/XmlDefaultNullValue.java deleted file mode 100644 index 0443b0f..0000000 --- a/src/org/atriasoft/exml/annotation/XmlDefaultNullValue.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.atriasoft.exml.annotation; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -@Target(ElementType.TYPE) -@Retention(RetentionPolicy.RUNTIME) -@ExmlAnnotation -public @interface XmlDefaultNullValue { - /** - * Set the default value at true in the constructor if needed (set at 0 for basic type int, long ...). - * @return true if the element are by default at null. - */ - boolean value() default true; - -} diff --git a/src/org/atriasoft/exml/annotation/XmlDefaultOptional.java b/src/org/atriasoft/exml/annotation/XmlDefaultOptional.java deleted file mode 100644 index 52f3be0..0000000 --- a/src/org/atriasoft/exml/annotation/XmlDefaultOptional.java +++ /dev/null @@ -1,21 +0,0 @@ -package org.atriasoft.exml.annotation; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -/** - * Marker annotation that set the element not found are ignored. - * - */ -@Target(ElementType.TYPE) -@Retention(RetentionPolicy.RUNTIME) -@ExmlAnnotation -public @interface XmlDefaultOptional { - /** - * Set this at true to set all the element optional. - * @return true if the element are by default optional. - */ - boolean value() default false; -} \ No newline at end of file diff --git a/src/org/atriasoft/exml/annotation/XmlFactory.java b/src/org/atriasoft/exml/annotation/XmlFactory.java deleted file mode 100644 index e44183e..0000000 --- a/src/org/atriasoft/exml/annotation/XmlFactory.java +++ /dev/null @@ -1,40 +0,0 @@ -package org.atriasoft.exml.annotation; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; -import java.util.Map; - -/** - * Marker annotation that permit to set the default parsing as attributes. - */ -@Target(ElementType.METHOD) -@Retention(RetentionPolicy.RUNTIME) -@ExmlAnnotation -public @interface XmlFactory { - public interface InterfaceXmlFactoryAccess { - /** - * Find the class type with the specific name. - * @param name Name of the node to find. - * @return Value of the class interface to create or null. - */ - Class findClass(String name); - - /** - * Retrieve the name of the node in xml for the specific Object. - * @param object The object that we need to find the type name. - * @return The xml string to inject (or null). - */ - String generateName(Object object); - - Map> getConversionMap(); - } - - /** - * Set this to false to select the attribute as default. - * @return true select default attribute, false select default element. - */ - Class value(); - -} diff --git a/src/org/atriasoft/exml/annotation/XmlIgnoreUnknow.java b/src/org/atriasoft/exml/annotation/XmlIgnoreUnknow.java deleted file mode 100644 index e2fb52d..0000000 --- a/src/org/atriasoft/exml/annotation/XmlIgnoreUnknow.java +++ /dev/null @@ -1,20 +0,0 @@ -package org.atriasoft.exml.annotation; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -/** - * Marker annotation that permit to set the default parsing as attributes. - */ -@Target(ElementType.TYPE) -@Retention(RetentionPolicy.RUNTIME) -@ExmlAnnotation -public @interface XmlIgnoreUnknow { - /** - * Set the element ignore unknown Nodes. - * @return true does not display unknown node. - */ - boolean value() default true; -} \ No newline at end of file diff --git a/src/org/atriasoft/exml/annotation/XmlList.java b/src/org/atriasoft/exml/annotation/XmlList.java deleted file mode 100644 index 7cd186e..0000000 --- a/src/org/atriasoft/exml/annotation/XmlList.java +++ /dev/null @@ -1,29 +0,0 @@ -package org.atriasoft.exml.annotation; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -/** - * Marker annotation that can be used to define a group list of element: - * {@code - * - * ... - * ... - * ... - * - * } - * @apiNote To change the group name @see XmlName - */ -@Target({ ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER }) -@Retention(RetentionPolicy.RUNTIME) -@ExmlAnnotation -public @interface XmlList { - - /** - * Element names node - * @return The name of the elements - */ - String value(); -} \ No newline at end of file diff --git a/src/org/atriasoft/exml/annotation/XmlManaged.java b/src/org/atriasoft/exml/annotation/XmlManaged.java deleted file mode 100644 index 8b3a8e0..0000000 --- a/src/org/atriasoft/exml/annotation/XmlManaged.java +++ /dev/null @@ -1,21 +0,0 @@ -package org.atriasoft.exml.annotation; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -/** - * Marker annotation that force the xml Parser to manage this element (used when the class is mark as @XmldefaultNotManaged). - * - */ -@Target({ ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER}) -@Retention(RetentionPolicy.RUNTIME) -@ExmlAnnotation -public @interface XmlManaged { - /** - * Set this at false to remove this function or this field form the XML parsing system - * @return true if the element is managed. - */ - boolean value() default true; -} \ No newline at end of file diff --git a/src/org/atriasoft/exml/annotation/XmlName.java b/src/org/atriasoft/exml/annotation/XmlName.java deleted file mode 100644 index 941c6d4..0000000 --- a/src/org/atriasoft/exml/annotation/XmlName.java +++ /dev/null @@ -1,24 +0,0 @@ -package org.atriasoft.exml.annotation; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -/** - * Marker annotation that can be used to define an other name of the attribute or the Element name. - * - */ -@Target({ ElementType.FIELD, ElementType.METHOD, ElementType.CONSTRUCTOR, ElementType.PARAMETER }) -@Retention(RetentionPolicy.RUNTIME) -@ExmlAnnotation -public @interface XmlName { - - /** - * Names of the property of the Element name - * @note The first name if the default generated in serialization. - * @return The list the the possible names - * @apiNote this is incompatible with XmlModel - */ - String[] value(); -} \ No newline at end of file diff --git a/src/org/atriasoft/exml/annotation/XmlOptional.java b/src/org/atriasoft/exml/annotation/XmlOptional.java deleted file mode 100644 index b73e24b..0000000 --- a/src/org/atriasoft/exml/annotation/XmlOptional.java +++ /dev/null @@ -1,21 +0,0 @@ -package org.atriasoft.exml.annotation; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -/** - * Marker annotation that to ignore the element if not present in the XML, the default case the parser throw a missing error. - * - */ -@Target({ ElementType.FIELD, ElementType.METHOD, ElementType.PARAMETER }) -@Retention(RetentionPolicy.RUNTIME) -@ExmlAnnotation -public @interface XmlOptional { - /** - * Set if the element is optional or not. If optional, the parser does not throw error if the element is not declared. - * @return thru if optional - */ - boolean value() default true; -} \ No newline at end of file diff --git a/src/org/atriasoft/exml/annotation/XmlText.java b/src/org/atriasoft/exml/annotation/XmlText.java deleted file mode 100644 index 11fd004..0000000 --- a/src/org/atriasoft/exml/annotation/XmlText.java +++ /dev/null @@ -1,20 +0,0 @@ -package org.atriasoft.exml.annotation; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -/** - * Marker annotation that set the Xml element seen as a property. - */ -@Target({ ElementType.FIELD, ElementType.METHOD }) -@Retention(RetentionPolicy.RUNTIME) -@ExmlAnnotation -public @interface XmlText { - /** - * Set at true to set the element used as text data as a property of the Xml node - * @return property management. - */ - boolean value() default true; -} \ No newline at end of file diff --git a/src/org/atriasoft/exml/builder/BuilderIntrospection.java b/src/org/atriasoft/exml/builder/BuilderIntrospection.java index 20864c9..54e7e45 100644 --- a/src/org/atriasoft/exml/builder/BuilderIntrospection.java +++ b/src/org/atriasoft/exml/builder/BuilderIntrospection.java @@ -3,8 +3,8 @@ package org.atriasoft.exml.builder; import java.util.ArrayList; import java.util.List; +import org.atriasoft.aknot.model.InterfaceFactoryAccess; import org.atriasoft.eStringSerialize.StringSerializer; -import org.atriasoft.exml.annotation.XmlFactory.InterfaceXmlFactoryAccess; import org.atriasoft.exml.exception.ExmlAttributeDoesNotExist; import org.atriasoft.exml.exception.ExmlBuilderException; import org.atriasoft.exml.exception.ExmlException; @@ -16,9 +16,9 @@ public class BuilderIntrospection implements Builder { // The root class (need to keep it if we use 2 time the builder, the root class is no more accessible). final Class rootClassType; final String rootNodeName; - final InterfaceXmlFactoryAccess factory; + final InterfaceFactoryAccess factory; - public BuilderIntrospection(final InterfaceXmlFactoryAccess factory) throws ExmlException { + public BuilderIntrospection(final InterfaceFactoryAccess factory) throws ExmlException { this.factory = factory; this.rootNodeName = null; this.rootClassType = null; diff --git a/src/org/atriasoft/exml/builder/IntrospectionModelComplex.java b/src/org/atriasoft/exml/builder/IntrospectionModelComplex.java index 6f4bf56..b73f666 100644 --- a/src/org/atriasoft/exml/builder/IntrospectionModelComplex.java +++ b/src/org/atriasoft/exml/builder/IntrospectionModelComplex.java @@ -13,14 +13,14 @@ import java.util.Collections; import java.util.List; import java.util.Map; import java.util.Map.Entry; -import java.util.stream.Collectors; +import org.atriasoft.aknot.reflect.ReflectClass; +import org.atriasoft.aknot.reflect.ReflectTools; import org.atriasoft.eStringSerialize.StringSerializer; import org.atriasoft.etk.util.ArraysTools; import org.atriasoft.exml.exception.ExmlBuilderException; import org.atriasoft.exml.internal.Log; import org.atriasoft.exml.parser.Tools; -import org.atriasoft.exml.reflect.ReflectTools; record ConstructorModel( String[] values, @@ -195,7 +195,7 @@ public class IntrospectionModelComplex extends IntrospectionModel { Log.verbose(tmpPrint.toString()); } final List recordAllPossibleValues = new ArrayList<>(); - final List recordAllPossibleValuesFiltered = new ArrayList<>(); + if (this.isRecord) { for (final ConstructorModel elem : this.constructors) { for (int iii = 0; iii < elem.values().length; iii++) { @@ -286,77 +286,9 @@ public class IntrospectionModelComplex extends IntrospectionModel { } Log.verbose(" - " + elem.toGenericString()); } - final Method[] methodsTmp = this.classType.getMethods(); - // filter getX setX isX - final List methods = List.of(methodsTmp).stream().filter(o -> { - if (o.getName().contentEquals("getClass")) { - return false; - } - // we does not manage private function - if (!Modifier.isPublic(o.getModifiers())) { - return false; - } - if (Modifier.isStatic(o.getModifiers())) { - if (o.getName().contentEquals("valueOf") && o.getParameterCount() == 1 && o.getParameters()[0].getType() == String.class) { - return true; - } - return false; - } - if (o.getName().equals("toString")) { - if (o.getParameterCount() != 0 || o.getReturnType() != String.class) { - return false; - } - return true; - } - if (this.isRecord) { - if (recordAllPossibleValues.contains(o.getName())) { - // This list is the real list of record members - recordAllPossibleValuesFiltered.add(o.getName()); - return true; - } - } else { - if (o.getName().startsWith("get")) { - if (o.getParameterCount() != 0 || o.getReturnType() == void.class || o.getReturnType() == Boolean.class || o.getReturnType() == boolean.class) { - return false; - } - // check name format - if (o.getName().length() == 3) { - return false; - } - if (o.getName().charAt(3) >= 'A' && o.getName().charAt(3) <= 'Z') { - return true; - } - return false; - } - if (o.getName().startsWith("set")) { - if (o.getReturnType() != void.class || o.getParameterCount() != 1) { - return false; - } - // check name format - if (o.getName().length() == 3) { - return false; - } - if (o.getName().charAt(3) >= 'A' && o.getName().charAt(3) <= 'Z') { - return true; - } - return false; - } - if (o.getName().startsWith("is")) { - if ((o.getReturnType() != Boolean.class && o.getReturnType() != boolean.class) || o.getParameterCount() != 0) { - return false; - } - // check name format - if (o.getName().length() == 2) { - return false; - } - if (o.getName().charAt(2) >= 'A' && o.getName().charAt(2) <= 'Z') { - return true; - } - return false; - } - } - return false; - }).collect(Collectors.toList()); + + final List methods = ReflectClass.getFilterGenericFucntion(this.classType, recordAllPossibleValues, true, true, true); + Log.verbose(" Methods: (" + methods.size() + ")"); for (final Method elem : methods) { Log.verbose(" - " + elem.toGenericString()); @@ -369,40 +301,11 @@ public class IntrospectionModelComplex extends IntrospectionModel { // for records: // - xxx(); - List methodsGet; - List methodsSet; - List methodsIs; - if (!Enum.class.isAssignableFrom(classType)) { - if (this.isRecord) { - methodsGet = methods.stream().filter(o -> recordAllPossibleValues.contains(o.getName())).collect(Collectors.toList()); - methodsSet = new ArrayList<>(); - methodsIs = new ArrayList<>(); - } else { - methodsGet = methods.stream().filter(o -> o.getName().startsWith("get")).collect(Collectors.toList()); - methodsSet = methods.stream().filter(o -> o.getName().startsWith("set")).collect(Collectors.toList()); - methodsIs = methods.stream().filter(o -> o.getName().startsWith("is")).collect(Collectors.toList()); - } - } else { - methodsGet = new ArrayList<>(); - methodsSet = new ArrayList<>(); - methodsIs = new ArrayList<>(); - } - final List valueOfString = methods.stream().filter(o -> o.getName().startsWith("valueOf")).collect(Collectors.toList()); - if (valueOfString.size() == 1) { - this.valueof = valueOfString.get(0); - } else { - // some specific model: - - this.valueof = null; - } - final List tostringMethod = methods.stream().filter(o -> o.getName().startsWith("toString")).collect(Collectors.toList()); - if (tostringMethod.size() == 1) { - this.tostring = tostringMethod.get(0); - } else { - // some specific model: - - this.tostring = null; - } + final List methodsGet = ReflectClass.extractGetMethod(classType, methods, recordAllPossibleValues); + final List methodsSet = ReflectClass.extractSetMethod(classType, methods); + final List methodsIs = ReflectClass.extractIsMethod(classType, methods); + this.valueof = ReflectClass.extractValueOf(methods); + this.tostring = ReflectClass.extractToString(methods); // associate methods by pair. for (final Method method : methodsGet) { final String name = Tools.decapitalizeFirst(this.isRecord ? method.getName() : method.getName().substring(3)); diff --git a/src/org/atriasoft/exml/builder/IntrospectionProperty.java b/src/org/atriasoft/exml/builder/IntrospectionProperty.java index b05643e..9a75c87 100644 --- a/src/org/atriasoft/exml/builder/IntrospectionProperty.java +++ b/src/org/atriasoft/exml/builder/IntrospectionProperty.java @@ -6,8 +6,8 @@ import java.util.Arrays; import java.util.List; import java.util.Map.Entry; +import org.atriasoft.aknot.model.InterfaceFactoryAccess; import org.atriasoft.eStringSerialize.StringSerializer; -import org.atriasoft.exml.annotation.XmlFactory.InterfaceXmlFactoryAccess; import org.atriasoft.exml.exception.ExmlBuilderException; import org.atriasoft.exml.internal.Log; @@ -29,7 +29,7 @@ public final class IntrospectionProperty { private String listName = null; private boolean canBeSetByConstructor = false; private Class factory = null; - private InterfaceXmlFactoryAccess factoryCreated = null; + private InterfaceFactoryAccess factoryCreated = null; private final Class type; private final Class subType; // can get the property, if null not gettable ... ==> TODO need to remove this property ??? @@ -92,7 +92,7 @@ public final class IntrospectionProperty { } public Class getCompatible(final String name) { - final InterfaceXmlFactoryAccess factoryGenerator = getFactory(); + final InterfaceFactoryAccess factoryGenerator = getFactory(); if (factoryGenerator != null) { if (this.caseSensitive) { for (final Entry> elem : factoryGenerator.getConversionMap().entrySet()) { @@ -129,10 +129,10 @@ public final class IntrospectionProperty { return null; } - public InterfaceXmlFactoryAccess getFactory() { + public InterfaceFactoryAccess getFactory() { if (this.factoryCreated == null && this.factory != null) { try { - this.factoryCreated = (InterfaceXmlFactoryAccess) this.factory.getConstructor().newInstance(); + this.factoryCreated = (InterfaceFactoryAccess) this.factory.getConstructor().newInstance(); } catch (InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException | NoSuchMethodException | SecurityException e) { // TODO Auto-generated catch block e.printStackTrace(); @@ -207,7 +207,7 @@ public final class IntrospectionProperty { */ public boolean isCompatible(final String name) { Log.verbose("Check compatible : '{}' in {}", name, Arrays.toString(this.names)); - final InterfaceXmlFactoryAccess factoryGenerator = getFactory(); + final InterfaceFactoryAccess factoryGenerator = getFactory(); if (factoryGenerator != null) { Log.verbose(" ===> Detect factory !!!!"); if (this.caseSensitive) { diff --git a/src/org/atriasoft/exml/reflect/ReflectTools.java b/src/org/atriasoft/exml/reflect/ReflectTools.java deleted file mode 100644 index e107c77..0000000 --- a/src/org/atriasoft/exml/reflect/ReflectTools.java +++ /dev/null @@ -1,510 +0,0 @@ -package org.atriasoft.exml.reflect; - -import java.lang.annotation.Annotation; -import java.lang.reflect.Constructor; -import java.lang.reflect.Field; -import java.lang.reflect.Method; -import java.lang.reflect.Parameter; -import java.lang.reflect.ParameterizedType; -import java.lang.reflect.Type; -import java.util.List; - -import org.atriasoft.exml.annotation.XmlAttribute; -import org.atriasoft.exml.annotation.XmlCaseSensitive; -import org.atriasoft.exml.annotation.XmlDefaultAttibute; -import org.atriasoft.exml.annotation.XmlDefaultCaseSensitive; -import org.atriasoft.exml.annotation.XmlDefaultManaged; -import org.atriasoft.exml.annotation.XmlDefaultNullValue; -import org.atriasoft.exml.annotation.XmlDefaultOptional; -import org.atriasoft.exml.annotation.XmlFactory; -import org.atriasoft.exml.annotation.XmlIgnoreUnknow; -import org.atriasoft.exml.annotation.XmlList; -import org.atriasoft.exml.annotation.XmlManaged; -import org.atriasoft.exml.annotation.XmlName; -import org.atriasoft.exml.annotation.XmlOptional; -import org.atriasoft.exml.annotation.XmlText; -import org.atriasoft.exml.exception.ExmlBuilderException; -import org.atriasoft.exml.internal.Log; - -public class ReflectTools { - public static Class getFactory(final Field element) throws ExmlBuilderException { - final Annotation[] annotation = element.getDeclaredAnnotationsByType(XmlFactory.class); - if (annotation.length == 0) { - return null; - } - if (annotation.length > 1) { - throw new ExmlBuilderException("Must not have more than 1 element @XmlFactory on " + element.getClass().getCanonicalName()); - } - return ((XmlFactory) annotation[0]).value(); - } - - public static Class getFactory(final Method element) throws ExmlBuilderException { - final Annotation[] annotation = element.getDeclaredAnnotationsByType(XmlFactory.class); - if (annotation.length == 0) { - return null; - } - if (annotation.length > 1) { - throw new ExmlBuilderException("Must not have more than 1 element @XmlFactory on " + element.getClass().getCanonicalName()); - } - return ((XmlFactory) annotation[0]).value(); - } - - public static Boolean getIsAttribute(final Constructor constructor, final Parameter element, final Boolean parentValue) throws ExmlBuilderException { - final Annotation[] annotation = element.getDeclaredAnnotationsByType(XmlAttribute.class); - if (annotation.length == 0) { - return parentValue; - } - if (annotation.length > 1) { - throw new ExmlBuilderException("Must not have more than 1 element @XmlAttribute on " + constructor.getClass().getCanonicalName()); - } - return ((XmlAttribute) annotation[0]).value(); - } - - public static Boolean getIsAttribute(final Field element, final Boolean parentValue) throws ExmlBuilderException { - final Annotation[] annotation = element.getDeclaredAnnotationsByType(XmlAttribute.class); - if (annotation.length == 0) { - return parentValue; - } - if (annotation.length > 1) { - throw new ExmlBuilderException("Must not have more than 1 element @XmlAttribute on " + element.getClass().getCanonicalName()); - } - return ((XmlAttribute) annotation[0]).value(); - } - - public static Boolean getIsAttribute(final Method element, final Boolean parentValue) throws ExmlBuilderException { - final Annotation[] annotation = element.getDeclaredAnnotationsByType(XmlAttribute.class); - if (annotation.length == 0) { - return parentValue; - } - if (annotation.length > 1) { - throw new ExmlBuilderException("Must not have more than 1 element @XmlAttribute on " + element.getClass().getCanonicalName()); - } - return ((XmlAttribute) annotation[0]).value(); - } - - public static Boolean getIsCaseSensitive(final Constructor constructor, final Parameter element, final Boolean parentValue) throws ExmlBuilderException { - final Annotation[] annotation = element.getDeclaredAnnotationsByType(XmlCaseSensitive.class); - if (annotation.length == 0) { - return parentValue; - } - if (annotation.length > 1) { - throw new ExmlBuilderException("Must not have more than 1 element @XmlCaseSensitive on " + constructor.getClass().getCanonicalName()); - } - return ((XmlCaseSensitive) annotation[0]).value(); - } - - public static Boolean getIsCaseSensitive(final Field element, final Boolean defaultValue) throws ExmlBuilderException { - final Annotation[] annotation = element.getDeclaredAnnotationsByType(XmlCaseSensitive.class); - if (annotation.length == 0) { - return defaultValue; - } - if (annotation.length > 1) { - throw new ExmlBuilderException("Must not have more than 1 element @XmlCaseSensitive on " + element.getClass().getCanonicalName()); - } - return ((XmlCaseSensitive) annotation[0]).value(); - } - - public static Boolean getIsCaseSensitive(final Method element, final Boolean defaultValue) throws ExmlBuilderException { - final Annotation[] annotation = element.getDeclaredAnnotationsByType(XmlCaseSensitive.class); - if (annotation.length == 0) { - return defaultValue; - } - if (annotation.length > 1) { - throw new ExmlBuilderException("Must not have more than 1 element @XmlCaseSensitive on " + element.getClass().getCanonicalName()); - } - return ((XmlCaseSensitive) annotation[0]).value(); - } - - public static Boolean getIsDefaultAttribute(final Class classType, final Boolean defaultValue) throws ExmlBuilderException { - final Annotation[] annotation = classType.getDeclaredAnnotationsByType(XmlDefaultAttibute.class); - if (annotation.length == 0) { - return defaultValue; - } - if (annotation.length > 1) { - throw new ExmlBuilderException("Must not have more than 1 element @XmlDefaultAttibute on " + classType.getClass().getCanonicalName()); - } - return ((XmlDefaultAttibute) annotation[0]).value(); - } - - public static Boolean getIsDefaultCaseSensitive(final Class classType, final Boolean defaultValue) throws ExmlBuilderException { - final Annotation[] annotation = classType.getDeclaredAnnotationsByType(XmlDefaultCaseSensitive.class); - if (annotation.length == 0) { - return defaultValue; - } - if (annotation.length > 1) { - throw new ExmlBuilderException("Must not have more than 1 element @XmlDefaultCaseSensitive on " + classType.getClass().getCanonicalName()); - } - return ((XmlDefaultCaseSensitive) annotation[0]).value(); - } - - public static Boolean getIsDefaultManaged(final Class classType, final Boolean defaultValue) throws ExmlBuilderException { - final Annotation[] annotation = classType.getDeclaredAnnotationsByType(XmlDefaultManaged.class); - if (annotation.length == 0) { - return defaultValue; - } - if (annotation.length > 1) { - throw new ExmlBuilderException("Must not have more than 1 element @XmlDefaultManaged on " + classType.getClass().getCanonicalName()); - } - return ((XmlDefaultManaged) annotation[0]).value(); - } - - public static Boolean getIsDefaultNullValue(final Class classType, final Boolean defaultValue) throws ExmlBuilderException { - final Annotation[] annotation = classType.getDeclaredAnnotationsByType(XmlDefaultNullValue.class); - if (annotation.length == 0) { - return defaultValue; - } - if (annotation.length > 1) { - throw new ExmlBuilderException("Must not have more than 1 element @XmlDefaultNullValue on " + classType.getClass().getCanonicalName()); - } - return ((XmlDefaultNullValue) annotation[0]).value(); - } - - public static Boolean getIsDefaultOptional(final Class classType, final Boolean defaultValue) throws ExmlBuilderException { - final Annotation[] annotation = classType.getDeclaredAnnotationsByType(XmlDefaultOptional.class); - if (annotation.length == 0) { - return defaultValue; - } - if (annotation.length > 1) { - throw new ExmlBuilderException("Must not have more than 1 element @XmlDefaultOptional on " + classType.getClass().getCanonicalName()); - } - return ((XmlDefaultOptional) annotation[0]).value(); - } - - public static Boolean getIsIgnoreUnknown(final Class classType, final Boolean defaultValue) throws ExmlBuilderException { - final Annotation[] annotation = classType.getDeclaredAnnotationsByType(XmlIgnoreUnknow.class); - if (annotation.length == 0) { - return defaultValue; - } - if (annotation.length > 1) { - throw new ExmlBuilderException("Must not have more than 1 element @XmlIgnoreUnknow on " + classType.getClass().getCanonicalName()); - } - return ((XmlIgnoreUnknow) annotation[0]).value(); - } - - public static Boolean getIsManaged(final Constructor constructor, final Parameter element, final Boolean parentValue) throws ExmlBuilderException { - final Annotation[] annotation = element.getDeclaredAnnotationsByType(XmlManaged.class); - if (annotation.length == 0) { - return parentValue; - } - if (annotation.length > 1) { - throw new ExmlBuilderException("Must not have more than 1 element @XmlManaged on " + constructor.getClass().getCanonicalName()); - } - return ((XmlManaged) annotation[0]).value(); - } - - public static Boolean getIsManaged(final Field element, final Boolean parentValue) throws ExmlBuilderException { - final Annotation[] annotation = element.getDeclaredAnnotationsByType(XmlManaged.class); - if (annotation.length == 0) { - return parentValue; - } - if (annotation.length > 1) { - throw new ExmlBuilderException("Must not have more than 1 element @ on " + element.getClass().getCanonicalName()); - } - return ((XmlManaged) annotation[0]).value(); - } - - public static Boolean getIsManaged(final Method element, final Boolean parentValue) throws ExmlBuilderException { - final Annotation[] annotation = element.getDeclaredAnnotationsByType(XmlManaged.class); - if (annotation.length == 0) { - return parentValue; - } - if (annotation.length > 1) { - throw new ExmlBuilderException("Must not have more than 1 element @XmlManaged on " + element.getClass().getCanonicalName()); - } - return ((XmlManaged) annotation[0]).value(); - } - - public static Boolean getIsOptional(final Constructor constructor, final Parameter element, final Boolean parentValue) throws ExmlBuilderException { - final Annotation[] annotation = element.getDeclaredAnnotationsByType(XmlOptional.class); - if (annotation.length == 0) { - return parentValue; - } - if (annotation.length > 1) { - throw new ExmlBuilderException("Must not have more than 1 element @XmlOptional on " + constructor.getClass().getCanonicalName()); - } - return ((XmlOptional) annotation[0]).value(); - } - - public static Boolean getIsOptional(final Field element, final Boolean parentValue) throws Exception { - final Annotation[] annotation = element.getDeclaredAnnotationsByType(XmlOptional.class); - if (annotation.length == 0) { - return parentValue; - } - if (annotation.length > 1) { - throw new Exception("Must not have more than 1 element @XmlOptional on " + element.getClass().getCanonicalName()); - } - return ((XmlOptional) annotation[0]).value(); - } - - public static Boolean getIsOptional(final Method element, final Boolean parentValue) throws Exception { - final Annotation[] annotation = element.getDeclaredAnnotationsByType(XmlOptional.class); - if (annotation.length == 0) { - return parentValue; - } - if (annotation.length > 1) { - throw new Exception("Must not have more than 1 element @XmlOptional on " + element.getClass().getCanonicalName()); - } - return ((XmlOptional) annotation[0]).value(); - } - - public static Boolean getIsText(final Constructor constructor, final Parameter element, final Boolean parentValue) throws ExmlBuilderException { - final Annotation[] annotation = element.getDeclaredAnnotationsByType(XmlText.class); - if (annotation.length == 0) { - return parentValue; - } - if (annotation.length > 1) { - throw new ExmlBuilderException("Must not have more than 1 element @XmlText on " + constructor.getClass().getCanonicalName()); - } - return ((XmlText) annotation[0]).value(); - } - - public static Boolean getIsText(final Field element, final Boolean parentValue) throws ExmlBuilderException { - final Annotation[] annotation = element.getDeclaredAnnotationsByType(XmlText.class); - if (annotation.length == 0) { - return parentValue; - } - if (annotation.length > 1) { - throw new ExmlBuilderException("Must not have more than 1 element @XmlText on " + element.getClass().getCanonicalName()); - } - return ((XmlText) annotation[0]).value(); - } - - public static Boolean getIsText(final Method element, final Boolean parentValue) throws ExmlBuilderException { - final Annotation[] annotation = element.getDeclaredAnnotationsByType(XmlText.class); - if (annotation.length == 0) { - return parentValue; - } - if (annotation.length > 1) { - throw new ExmlBuilderException("Must not have more than 1 element @XmlText on " + element.getClass().getCanonicalName()); - } - return ((XmlText) annotation[0]).value(); - } - - public static String getListName(final Field element, final String defaultValue) throws Exception { - final Annotation[] annotation = element.getDeclaredAnnotationsByType(XmlList.class); - if (annotation.length == 0) { - return defaultValue; - } - if (annotation.length > 1) { - throw new Exception("Must not have more than 1 element @XmlList on " + element.getClass().getCanonicalName()); - } - final String tmp = ((XmlList) annotation[0]).value(); - if (tmp == null) { - throw new Exception("Set null value in decorator @XmlList is not availlable on: " + element.toGenericString()); - } - return tmp; - } - - public static String getListName(final Method element, final String defaultValue) throws Exception { - final Annotation[] annotation = element.getDeclaredAnnotationsByType(XmlList.class); - if (annotation.length == 0) { - return defaultValue; - } - if (annotation.length > 1) { - throw new Exception("Must not have more than 1 element @XmlList on " + element.getClass().getCanonicalName()); - } - final String tmp = ((XmlList) annotation[0]).value(); - if (tmp == null) { - throw new Exception("Set null value in decorator @XmlList is not availlable on: " + element.toGenericString()); - } - return tmp; - } - - public static String[] getNames(final Constructor constructor, final Parameter element, final String defaultValue) throws Exception { - final Annotation[] annotation = element.getDeclaredAnnotationsByType(XmlName.class); - if (annotation.length == 0) { - if (defaultValue == null) { - return null; - } - return new String[] { defaultValue }; - } - if (annotation.length > 1) { - throw new Exception("Must not have more than 1 element @XmlName on " + constructor.getClass().getCanonicalName()); - } - final String[] tmp = ((XmlName) annotation[0]).value(); - if (tmp == null) { - throw new Exception("Set null value in decorator @XmlName is not availlable on: " + constructor.toGenericString()); - } - if (tmp.length == 0) { - throw new Exception("Set empty list value in decorator @XmlName is not availlable on: " + constructor.toGenericString()); - } - for (final String elem : tmp) { - if (elem == null) { - throw new Exception("Set null String in list of value in decorator @XmlName is not availlable on: " + constructor.toGenericString()); - } - if (elem.isEmpty()) { - throw new Exception("Set empty String in list of value in decorator @XmlName is not availlable on: " + constructor.toGenericString()); - } - } - return tmp; - } - - public static String[] getNames(final Constructor element, final String defaultValue) throws Exception { - final Annotation[] annotation = element.getDeclaredAnnotationsByType(XmlName.class); - if (annotation.length == 0) { - if (defaultValue == null) { - return null; - } - return new String[] { defaultValue }; - } - if (annotation.length > 1) { - throw new Exception("Must not have more than 1 element @XmlName on " + element.getClass().getCanonicalName()); - } - final String[] tmp = ((XmlName) annotation[0]).value(); - if (tmp == null) { - throw new Exception("Set null value in decorator @XmlName is not availlable on: " + element.toGenericString()); - } - if (tmp.length == 0) { - throw new Exception("Set empty list value in decorator @XmlName is not availlable on: " + element.toGenericString()); - } - for (final String elem : tmp) { - if (elem == null) { - throw new Exception("Set null String in list of value in decorator @XmlName is not availlable on: " + element.toGenericString()); - } - if (elem.isEmpty()) { - throw new Exception("Set empty String in list of value in decorator @XmlName is not availlable on: " + element.toGenericString()); - } - } - return tmp; - } - - public static String[] getNames(final Field element, final String defaultValue) throws Exception { - final Annotation[] annotation = element.getDeclaredAnnotationsByType(XmlName.class); - if (annotation.length == 0) { - if (defaultValue == null) { - return null; - } - return new String[] { defaultValue }; - } - if (annotation.length > 1) { - throw new Exception("Must not have more than 1 element @XmlName on " + element.getClass().getCanonicalName()); - } - final String[] tmp = ((XmlName) annotation[0]).value(); - if (tmp == null) { - throw new Exception("Set null value in decorator @XmlName is not availlable on: " + element.toGenericString()); - } - if (tmp.length == 0) { - throw new Exception("Set empty list value in decorator @XmlName is not availlable on: " + element.toGenericString()); - } - for (final String elem : tmp) { - if (elem == null) { - throw new Exception("Set null String in list of value in decorator @XmlName is not availlable on: " + element.toGenericString()); - } - if (elem.isEmpty()) { - throw new Exception("Set empty String in list of value in decorator @XmlName is not availlable on: " + element.toGenericString()); - } - } - return tmp; - } - - public static String[] getNames(final Method element, final String defaultValue) throws Exception { - final Annotation[] annotation = element.getDeclaredAnnotationsByType(XmlName.class); - if (annotation.length == 0) { - if (defaultValue == null) { - return null; - } - return new String[] { defaultValue }; - } - if (annotation.length > 1) { - throw new Exception("Must not have more than 1 element @XmlName on " + element.getClass().getCanonicalName()); - } - final String[] tmp = ((XmlName) annotation[0]).value(); - if (tmp == null) { - throw new Exception("Set null value in decorator @XmlName is not availlable on: " + element.toGenericString()); - } - if (tmp.length == 0) { - throw new Exception("Set empty list value in decorator @XmlName is not availlable on: " + element.toGenericString()); - } - for (final String elem : tmp) { - if (elem == null) { - throw new Exception("Set null String in list of value in decorator @XmlName is not availlable on: " + element.toGenericString()); - } - if (elem.isEmpty()) { - throw new Exception("Set empty String in list of value in decorator @XmlName is not availlable on: " + element.toGenericString()); - } - } - return tmp; - } - - public static Class[] getTypeField(final Field fieldDescription) { - final Class type = fieldDescription.getType(); - Class subType = null; - final Type empppe = fieldDescription.getGenericType(); - if (empppe instanceof final ParameterizedType plopppppp) { - final Type[] realType = plopppppp.getActualTypeArguments(); - if (realType.length > 0) { - try { - subType = Class.forName(realType[0].getTypeName()); - } catch (final ClassNotFoundException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - } - return new Class[] { type, subType }; - } - - public static Class[] getTypeParameterfunction(final Constructor elem, final int paramId) throws ClassNotFoundException { - Class type = null; - Class subType = null; - - type = elem.getParameters()[paramId].getType(); - if (List.class.isAssignableFrom(type)) { - Class internalModelClass = null; - final Type[] empppe = elem.getGenericParameterTypes(); - if (empppe.length > paramId) { - if (empppe[paramId] instanceof final ParameterizedType plopppppp) { - final Type[] realType = plopppppp.getActualTypeArguments(); - //Log.info("ppplllppp: " + realType.length); - if (realType.length > 0) { - Log.verbose(" -->> " + realType[0]); - internalModelClass = Class.forName(realType[0].getTypeName()); - } - } - } - subType = internalModelClass; - } - return new Class[] { type, subType }; - } - - public static Class[] getTypeParameterfunction(final Method setter) throws Exception { - Class type = null; - Class subType = null; - - type = setter.getParameters()[0].getType(); - if (List.class.isAssignableFrom(type)) { - Class internalModelClass = null; - final Type[] empppe = setter.getGenericParameterTypes(); - if (empppe.length > 0) { - if (empppe[0] instanceof final ParameterizedType plopppppp) { - final Type[] realType = plopppppp.getActualTypeArguments(); - if (realType.length > 0) { - Log.verbose(" -->> " + realType[0]); - internalModelClass = Class.forName(realType[0].getTypeName()); - } - } - } - subType = internalModelClass; - } - return new Class[] { type, subType }; - } - - public static Class[] getTypeReturnFunction(/*@NotNull*/ final Method getter) throws Exception { - Class type = null; - Class subType = null; - type = getter.getReturnType(); - if (!Enum.class.isAssignableFrom(type)) { - final Type empppe = getter.getGenericReturnType(); - if (empppe instanceof final ParameterizedType plopppppp) { - final Type[] realType = plopppppp.getActualTypeArguments(); - if (realType.length > 0) { - subType = Class.forName(realType[0].getTypeName()); - } - } - } - return new Class[] { type, subType }; - } - - private ReflectTools() {} - -} diff --git a/test/src/test/atriasoft/exml/ExmlTestIntrospectionBoolean.java b/test/src/test/atriasoft/exml/ExmlTestIntrospectionBoolean.java index 0dc570b..973f4f1 100644 --- a/test/src/test/atriasoft/exml/ExmlTestIntrospectionBoolean.java +++ b/test/src/test/atriasoft/exml/ExmlTestIntrospectionBoolean.java @@ -7,61 +7,245 @@ package test.atriasoft.exml; import java.util.List; +import org.atriasoft.aknot.annotation.AknotList; +import org.atriasoft.aknot.annotation.AknotDefaultAttribute; import org.atriasoft.exml.Exml; -import org.atriasoft.exml.annotation.XmlDefaultAttibute; -import org.atriasoft.exml.annotation.XmlList; - import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; public class ExmlTestIntrospectionBoolean { - static final String NODE_NAME = "elem"; - @BeforeAll - public static void beforeClass() { - Log.warning("================================================================"); + @AknotDefaultAttribute + public class TestArrayBoolean { + public Boolean[] values; } - - @XmlDefaultAttibute + + @AknotDefaultAttribute + public class TestArrayBooleanFunc { + private Boolean[] values; + + public Boolean[] getValues() { + return this.values; + } + + public void setValues(final Boolean[] values) { + this.values = values; + } + + } + + public class TestArrayNodeBoolean { + public Boolean[] values; + } + + public class TestArrayNodeBooleanFunc { + private Boolean[] values; + + public Boolean[] getValues() { + return this.values; + } + + public void setValues(final Boolean[] values) { + this.values = values; + } + + } + + public class TestArrayNodeBooleanStructured { + @AknotList(value = "elem") + public Boolean[] values; + } + + @AknotDefaultAttribute public class TestBoolean { public Boolean valueA; public Boolean valueB; public Boolean valueNull; } - @Test - public void testModelBoolean() { - TestBoolean elem = new TestBoolean(); - elem.valueA = false; - elem.valueB = true; - elem.valueNull = null; + + @AknotDefaultAttribute + public class TestBooleanFunc { + private Boolean valueA; + private Boolean valueB; + private Boolean valueNull; - StringBuilder builder = new StringBuilder(); + public Boolean isValueA() { + return this.valueA; + } + + public Boolean isValueB() { + return this.valueB; + } + + public Boolean isValueNull() { + return this.valueNull; + } + + public void setValueA(final Boolean valueA) { + this.valueA = valueA; + } + + public void setValueB(final Boolean valueB) { + this.valueB = valueB; + } + + public void setValueNull(final Boolean valueNull) { + this.valueNull = valueNull; + } + } + + @AknotDefaultAttribute + public class TestListBoolean { + public List values; + } + + @AknotDefaultAttribute + public class TestListBooleanFunc { + private List values; + + public List getValues() { + return this.values; + } + + public void setValues(final List values) { + this.values = values; + } + } + + public class TestListNodeBoolean { + public List values; + } + + // Note this is set in static to test an other part of code... + public static class TestListNodeBooleanFunc { + private List values; + + public List getValues() { + return this.values; + } + + public void setValues(final List values) { + this.values = values; + } + } + + public class TestListNodeBooleanStructured { + @AknotList(value = "elem") + public List values; + } + + public class TestNodeBoolean { + public Boolean valueA; + public Boolean valueB; + public Boolean valueNull; + } + + public class TestNodeBooleanFunc { + private Boolean valueA; + private Boolean valueB; + private Boolean valueNull; + + public Boolean isValueA() { + return this.valueA; + } + + public Boolean isValueB() { + return this.valueB; + } + + public Boolean isValueNull() { + return this.valueNull; + } + + public void setValueA(final Boolean valueA) { + this.valueA = valueA; + } + + public void setValueB(final Boolean valueB) { + this.valueB = valueB; + } + + public void setValueNull(final Boolean valueNull) { + this.valueNull = valueNull; + } + } + + static final String NODE_NAME = "elem"; + + @BeforeAll + public static void beforeClass() { + Log.warning("================================================================"); + } + + @Test + public void testArrayNodeBooleanStructured() { + final TestArrayNodeBooleanStructured elem = new TestArrayNodeBooleanStructured(); + elem.values = new Boolean[] { false, false, true, false, true }; + + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionBoolean.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("", dataTest); - - final TestBoolean root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestBoolean.class, ExmlTestIntrospectionBoolean.NODE_NAME)); - Assertions.assertEquals(false, root.valueA); - Assertions.assertEquals(true, root.valueB); - Assertions.assertEquals(null, root.valueNull); - } - - @XmlDefaultAttibute - public class TestArrayBoolean { - public Boolean[] values; - } - @Test - public void testModelArrayBoolean() { - TestArrayBoolean elem = new TestArrayBoolean(); - elem.values = new Boolean[] {false, false, true, false, true}; + Assertions.assertEquals(""" + + + false + false + true + false + true + + """, dataTest); - StringBuilder builder = new StringBuilder(); + final TestArrayNodeBooleanStructured root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeBooleanStructured.class, ExmlTestIntrospectionBoolean.NODE_NAME)); + Assertions.assertEquals(5, root.values.length); + Assertions.assertEquals(false, root.values[0]); + Assertions.assertEquals(false, root.values[1]); + Assertions.assertEquals(true, root.values[2]); + Assertions.assertEquals(false, root.values[3]); + Assertions.assertEquals(true, root.values[4]); + } + + @Test + public void testListNodeBooleanStructured() { + final TestListNodeBooleanStructured elem = new TestListNodeBooleanStructured(); + elem.values = List.of(false, false, true, false, true); + + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionBoolean.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + + false + false + true + false + true + + """, dataTest); + + final TestListNodeBooleanStructured root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListNodeBooleanStructured.class, ExmlTestIntrospectionBoolean.NODE_NAME)); + Assertions.assertEquals(5, root.values.size()); + Assertions.assertEquals(false, root.values.get(0)); + Assertions.assertEquals(false, root.values.get(1)); + Assertions.assertEquals(true, root.values.get(2)); + Assertions.assertEquals(false, root.values.get(3)); + Assertions.assertEquals(true, root.values.get(4)); + } + + @Test + public void testModelArrayBoolean() { + final TestArrayBoolean elem = new TestArrayBoolean(); + elem.values = new Boolean[] { false, false, true, false, true }; + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionBoolean.NODE_NAME, builder)); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); Assertions.assertEquals("", dataTest); - + final TestArrayBoolean root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayBoolean.class, ExmlTestIntrospectionBoolean.NODE_NAME)); Assertions.assertEquals(5, root.values.length); Assertions.assertEquals(false, root.values[0]); @@ -71,99 +255,17 @@ public class ExmlTestIntrospectionBoolean { Assertions.assertEquals(true, root.values[4]); } - @XmlDefaultAttibute - public class TestListBoolean { - public List values; - } @Test - public void testModelListBoolean() { - TestListBoolean elem = new TestListBoolean(); - elem.values = List.of(false, false, true, false, true); + public void testModelArrayBooleanFunc() { + final TestArrayBooleanFunc elem = new TestArrayBooleanFunc(); + elem.setValues(new Boolean[] { false, false, true, false, true }); - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionBoolean.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); Assertions.assertEquals("", dataTest); - - final TestListBoolean root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListBoolean.class, ExmlTestIntrospectionBoolean.NODE_NAME)); - Assertions.assertEquals(5, root.values.size()); - Assertions.assertEquals(false, root.values.get(0)); - Assertions.assertEquals(false, root.values.get(1)); - Assertions.assertEquals(true, root.values.get(2)); - Assertions.assertEquals(false, root.values.get(3)); - Assertions.assertEquals(true, root.values.get(4)); - } - - - @XmlDefaultAttibute - public class TestBooleanFunc { - private Boolean valueA; - private Boolean valueB; - private Boolean valueNull; - public Boolean isValueA() { - return this.valueA; - } - public void setValueA(final Boolean valueA) { - this.valueA = valueA; - } - public Boolean isValueB() { - return this.valueB; - } - public void setValueB(final Boolean valueB) { - this.valueB = valueB; - } - public Boolean isValueNull() { - return this.valueNull; - } - public void setValueNull(final Boolean valueNull) { - this.valueNull = valueNull; - } - } - - @Test - public void testModelBooleanFunc() { - TestBooleanFunc elem = new TestBooleanFunc(); - elem.setValueA(false); - elem.setValueB(true); - elem.setValueNull(null); - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionBoolean.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("", dataTest); - - final TestBooleanFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestBooleanFunc.class, ExmlTestIntrospectionBoolean.NODE_NAME)); - Assertions.assertEquals(false, root.isValueA()); - Assertions.assertEquals(true, root.isValueB()); - Assertions.assertEquals(null, root.isValueNull()); - } - - @XmlDefaultAttibute - public class TestArrayBooleanFunc { - private Boolean[] values; - - public Boolean[] getValues() { - return this.values; - } - - public void setValues(final Boolean[] values) { - this.values = values; - } - - } - @Test - public void testModelArrayBooleanFunc() { - TestArrayBooleanFunc elem = new TestArrayBooleanFunc(); - elem.setValues(new Boolean[] {false, false, true, false, true}); - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionBoolean.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("", dataTest); - final TestArrayBooleanFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayBooleanFunc.class, ExmlTestIntrospectionBoolean.NODE_NAME)); Assertions.assertEquals(5, root.getValues().length); Assertions.assertEquals(false, root.getValues()[0]); @@ -173,91 +275,24 @@ public class ExmlTestIntrospectionBoolean { Assertions.assertEquals(true, root.getValues()[4]); } - @XmlDefaultAttibute - public class TestListBooleanFunc { - private List values; - - public List getValues() { - return this.values; - } - - public void setValues(final List values) { - this.values = values; - } - } @Test - public void testModelListBooleanFunc() { - TestListBooleanFunc elem = new TestListBooleanFunc(); - elem.setValues(List.of(false, false, true, false, true)); + public void testModelArrayNodeBoolean() { + final TestArrayNodeBoolean elem = new TestArrayNodeBoolean(); + elem.values = new Boolean[] { false, false, true, false, true }; - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionBoolean.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("", dataTest); - - final TestListBooleanFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListBooleanFunc.class, ExmlTestIntrospectionBoolean.NODE_NAME)); - Assertions.assertEquals(5, root.getValues().size()); - Assertions.assertEquals(false, root.getValues().get(0)); - Assertions.assertEquals(false, root.getValues().get(1)); - Assertions.assertEquals(true, root.getValues().get(2)); - Assertions.assertEquals(false, root.getValues().get(3)); - Assertions.assertEquals(true, root.getValues().get(4)); - } - - - - - - - - public class TestNodeBoolean { - public Boolean valueA; - public Boolean valueB; - public Boolean valueNull; - } - @Test - public void testModelNodeBoolean() { - TestNodeBoolean elem = new TestNodeBoolean(); - elem.valueA = false; - elem.valueB = true; - elem.valueNull = null; + Assertions.assertEquals(""" + + false + false + true + false + true + """, dataTest); - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionBoolean.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " false\n" - + " true\n" - + "", dataTest); - - final TestNodeBoolean root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeBoolean.class, ExmlTestIntrospectionBoolean.NODE_NAME)); - Assertions.assertEquals(false, root.valueA); - Assertions.assertEquals(true, root.valueB); - Assertions.assertEquals(null, root.valueNull); - } - - public class TestArrayNodeBoolean { - public Boolean[] values; - } - @Test - public void testModelArrayNodeBoolean() { - TestArrayNodeBoolean elem = new TestArrayNodeBoolean(); - elem.values = new Boolean[] {false, false, true, false, true}; - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionBoolean.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " false\n" - + " false\n" - + " true\n" - + " false\n" - + " true\n" - + "", dataTest); - final TestArrayNodeBoolean root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeBoolean.class, ExmlTestIntrospectionBoolean.NODE_NAME)); Assertions.assertEquals(5, root.values.length); Assertions.assertEquals(false, root.values[0]); @@ -267,111 +302,24 @@ public class ExmlTestIntrospectionBoolean { Assertions.assertEquals(true, root.values[4]); } - public class TestListNodeBoolean { - public List values; - } @Test - public void testModelListNodeBoolean() { - TestListNodeBoolean elem = new TestListNodeBoolean(); - elem.values = List.of(false, false, true, false, true); + public void testModelArrayNodeBooleanFunc() { + final TestArrayNodeBooleanFunc elem = new TestArrayNodeBooleanFunc(); + elem.setValues(new Boolean[] { false, false, true, false, true }); - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionBoolean.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " false\n" - + " false\n" - + " true\n" - + " false\n" - + " true\n" - + "", dataTest); - - final TestListNodeBoolean root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListNodeBoolean.class, ExmlTestIntrospectionBoolean.NODE_NAME)); - Assertions.assertEquals(5, root.values.size()); - Assertions.assertEquals(false, root.values.get(0)); - Assertions.assertEquals(false, root.values.get(1)); - Assertions.assertEquals(true, root.values.get(2)); - Assertions.assertEquals(false, root.values.get(3)); - Assertions.assertEquals(true, root.values.get(4)); - } - - - public class TestNodeBooleanFunc { - private Boolean valueA; - private Boolean valueB; - private Boolean valueNull; - public Boolean isValueA() { - return this.valueA; - } - public void setValueA(final Boolean valueA) { - this.valueA = valueA; - } - public Boolean isValueB() { - return this.valueB; - } - public void setValueB(final Boolean valueB) { - this.valueB = valueB; - } - public Boolean isValueNull() { - return this.valueNull; - } - public void setValueNull(final Boolean valueNull) { - this.valueNull = valueNull; - } - } - - @Test - public void testModelNodeBooleanFunc() { - TestNodeBooleanFunc elem = new TestNodeBooleanFunc(); - elem.setValueA(false); - elem.setValueB(true); - elem.setValueNull(null); + Assertions.assertEquals(""" + + false + false + true + false + true + """, dataTest); - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionBoolean.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " false\n" - + " true\n" - + "", dataTest); - - final TestNodeBooleanFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeBooleanFunc.class, ExmlTestIntrospectionBoolean.NODE_NAME)); - Assertions.assertEquals(false, root.isValueA()); - Assertions.assertEquals(true, root.isValueB()); - Assertions.assertEquals(null, root.isValueNull()); - } - - public class TestArrayNodeBooleanFunc { - private Boolean[] values; - - public Boolean[] getValues() { - return this.values; - } - - public void setValues(final Boolean[] values) { - this.values = values; - } - - } - @Test - public void testModelArrayNodeBooleanFunc() { - TestArrayNodeBooleanFunc elem = new TestArrayNodeBooleanFunc(); - elem.setValues(new Boolean[] {false, false, true, false, true}); - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionBoolean.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " false\n" - + " false\n" - + " true\n" - + " false\n" - + " true\n" - + "", dataTest); - final TestArrayNodeBooleanFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeBooleanFunc.class, ExmlTestIntrospectionBoolean.NODE_NAME)); Assertions.assertEquals(5, root.getValues().length); Assertions.assertEquals(false, root.getValues()[0]); @@ -381,35 +329,129 @@ public class ExmlTestIntrospectionBoolean { Assertions.assertEquals(true, root.getValues()[4]); } - // Note this is set in static to test an other part of code... - public static class TestListNodeBooleanFunc { - private List values; - - public List getValues() { - return this.values; - } - - public void setValues(final List values) { - this.values = values; - } - } @Test - public void testModelListNodeBooleanFunc() { - TestListNodeBooleanFunc elem = new TestListNodeBooleanFunc(); + public void testModelBoolean() { + final TestBoolean elem = new TestBoolean(); + elem.valueA = false; + elem.valueB = true; + elem.valueNull = null; + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionBoolean.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals("", dataTest); + + final TestBoolean root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestBoolean.class, ExmlTestIntrospectionBoolean.NODE_NAME)); + Assertions.assertEquals(false, root.valueA); + Assertions.assertEquals(true, root.valueB); + Assertions.assertEquals(null, root.valueNull); + } + + @Test + public void testModelBooleanFunc() { + final TestBooleanFunc elem = new TestBooleanFunc(); + elem.setValueA(false); + elem.setValueB(true); + elem.setValueNull(null); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionBoolean.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals("", dataTest); + + final TestBooleanFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestBooleanFunc.class, ExmlTestIntrospectionBoolean.NODE_NAME)); + Assertions.assertEquals(false, root.isValueA()); + Assertions.assertEquals(true, root.isValueB()); + Assertions.assertEquals(null, root.isValueNull()); + } + + @Test + public void testModelListBoolean() { + final TestListBoolean elem = new TestListBoolean(); + elem.values = List.of(false, false, true, false, true); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionBoolean.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals("", dataTest); + + final TestListBoolean root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListBoolean.class, ExmlTestIntrospectionBoolean.NODE_NAME)); + Assertions.assertEquals(5, root.values.size()); + Assertions.assertEquals(false, root.values.get(0)); + Assertions.assertEquals(false, root.values.get(1)); + Assertions.assertEquals(true, root.values.get(2)); + Assertions.assertEquals(false, root.values.get(3)); + Assertions.assertEquals(true, root.values.get(4)); + } + + @Test + public void testModelListBooleanFunc() { + final TestListBooleanFunc elem = new TestListBooleanFunc(); elem.setValues(List.of(false, false, true, false, true)); - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionBoolean.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " false\n" - + " false\n" - + " true\n" - + " false\n" - + " true\n" - + "", dataTest); - + Assertions.assertEquals("", dataTest); + + final TestListBooleanFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListBooleanFunc.class, ExmlTestIntrospectionBoolean.NODE_NAME)); + Assertions.assertEquals(5, root.getValues().size()); + Assertions.assertEquals(false, root.getValues().get(0)); + Assertions.assertEquals(false, root.getValues().get(1)); + Assertions.assertEquals(true, root.getValues().get(2)); + Assertions.assertEquals(false, root.getValues().get(3)); + Assertions.assertEquals(true, root.getValues().get(4)); + } + + @Test + public void testModelListNodeBoolean() { + final TestListNodeBoolean elem = new TestListNodeBoolean(); + elem.values = List.of(false, false, true, false, true); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionBoolean.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + false + false + true + false + true + """, dataTest); + + final TestListNodeBoolean root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListNodeBoolean.class, ExmlTestIntrospectionBoolean.NODE_NAME)); + Assertions.assertEquals(5, root.values.size()); + Assertions.assertEquals(false, root.values.get(0)); + Assertions.assertEquals(false, root.values.get(1)); + Assertions.assertEquals(true, root.values.get(2)); + Assertions.assertEquals(false, root.values.get(3)); + Assertions.assertEquals(true, root.values.get(4)); + } + + @Test + public void testModelListNodeBooleanFunc() { + final TestListNodeBooleanFunc elem = new TestListNodeBooleanFunc(); + elem.setValues(List.of(false, false, true, false, true)); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionBoolean.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + false + false + true + false + true + """, dataTest); + final TestListNodeBooleanFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListNodeBooleanFunc.class, ExmlTestIntrospectionBoolean.NODE_NAME)); Assertions.assertEquals(5, root.getValues().size()); Assertions.assertEquals(false, root.getValues().get(0)); @@ -419,71 +461,49 @@ public class ExmlTestIntrospectionBoolean { Assertions.assertEquals(true, root.getValues().get(4)); } - - - - - public class TestListNodeBooleanStructured { - @XmlList(value="elem") - public List values; - } @Test - public void testListNodeBooleanStructured() { - TestListNodeBooleanStructured elem = new TestListNodeBooleanStructured(); - elem.values = List.of(false, false, true, false, true); + public void testModelNodeBoolean() { + final TestNodeBoolean elem = new TestNodeBoolean(); + elem.valueA = false; + elem.valueB = true; + elem.valueNull = null; - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionBoolean.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " \n" - + " false\n" - + " false\n" - + " true\n" - + " false\n" - + " true\n" - + " \n" - + "", dataTest); - - final TestListNodeBooleanStructured root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListNodeBooleanStructured.class, ExmlTestIntrospectionBoolean.NODE_NAME)); - Assertions.assertEquals(5, root.values.size()); - Assertions.assertEquals(false, root.values.get(0)); - Assertions.assertEquals(false, root.values.get(1)); - Assertions.assertEquals(true, root.values.get(2)); - Assertions.assertEquals(false, root.values.get(3)); - Assertions.assertEquals(true, root.values.get(4)); - } - public class TestArrayNodeBooleanStructured { - @XmlList(value="elem") - public Boolean[] values; + Assertions.assertEquals(""" + + false + true + """, dataTest); + + final TestNodeBoolean root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeBoolean.class, ExmlTestIntrospectionBoolean.NODE_NAME)); + Assertions.assertEquals(false, root.valueA); + Assertions.assertEquals(true, root.valueB); + Assertions.assertEquals(null, root.valueNull); } + @Test - public void testArrayNodeBooleanStructured() { - TestArrayNodeBooleanStructured elem = new TestArrayNodeBooleanStructured(); - elem.values = new Boolean[] {false, false, true, false, true}; + public void testModelNodeBooleanFunc() { + final TestNodeBooleanFunc elem = new TestNodeBooleanFunc(); + elem.setValueA(false); + elem.setValueB(true); + elem.setValueNull(null); - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionBoolean.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " \n" - + " false\n" - + " false\n" - + " true\n" - + " false\n" - + " true\n" - + " \n" - + "", dataTest); - - final TestArrayNodeBooleanStructured root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeBooleanStructured.class, ExmlTestIntrospectionBoolean.NODE_NAME)); - Assertions.assertEquals(5, root.values.length); - Assertions.assertEquals(false, root.values[0]); - Assertions.assertEquals(false, root.values[1]); - Assertions.assertEquals(true, root.values[2]); - Assertions.assertEquals(false, root.values[3]); - Assertions.assertEquals(true, root.values[4]); + Assertions.assertEquals(""" + + false + true + """, dataTest); + + final TestNodeBooleanFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeBooleanFunc.class, ExmlTestIntrospectionBoolean.NODE_NAME)); + Assertions.assertEquals(false, root.isValueA()); + Assertions.assertEquals(true, root.isValueB()); + Assertions.assertEquals(null, root.isValueNull()); } } - diff --git a/test/src/test/atriasoft/exml/ExmlTestIntrospectionBooleanNative.java b/test/src/test/atriasoft/exml/ExmlTestIntrospectionBooleanNative.java index 595387e..e240c6a 100644 --- a/test/src/test/atriasoft/exml/ExmlTestIntrospectionBooleanNative.java +++ b/test/src/test/atriasoft/exml/ExmlTestIntrospectionBooleanNative.java @@ -5,60 +5,138 @@ */ package test.atriasoft.exml; +import org.atriasoft.aknot.annotation.AknotList; +import org.atriasoft.aknot.annotation.AknotDefaultAttribute; import org.atriasoft.exml.Exml; -import org.atriasoft.exml.annotation.XmlDefaultAttibute; -import org.atriasoft.exml.annotation.XmlList; - import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; - public class ExmlTestIntrospectionBooleanNative { + @AknotDefaultAttribute + public class TestArrayBooleanFunc { + private boolean[] values; + + public boolean[] getValues() { + return this.values; + } + + public void setValues(final boolean[] values) { + this.values = values; + } + + } + + @AknotDefaultAttribute + public class TestArrayBooleanNative { + public boolean[] values; + } + + public class TestArrayNodeBooleanFunc { + private boolean[] values; + + public boolean[] getValues() { + return this.values; + } + + public void setValues(final boolean[] values) { + this.values = values; + } + + } + + public class TestArrayNodeBooleanNative { + public boolean[] values; + } + + public class TestArrayNodeBooleanNativeStructured { + @AknotList(value = "elem") + public boolean[] values; + } + + @AknotDefaultAttribute + public class TestBooleanFunc { + private boolean valueA; + private boolean valueB; + + public boolean isValueA() { + return this.valueA; + } + + public boolean isValueB() { + return this.valueB; + } + + public void setValueA(final boolean valueA) { + this.valueA = valueA; + } + + public void setValueB(final boolean valueB) { + this.valueB = valueB; + } + } + + @AknotDefaultAttribute + public class TestBooleanNative { + public boolean valueA; + public boolean valueB; + } + + public class TestNodeBooleanFunc { + private boolean valueA; + private boolean valueB; + + public boolean isValueA() { + return this.valueA; + } + + public boolean isValueB() { + return this.valueB; + } + + public void setValueA(final boolean valueA) { + this.valueA = valueA; + } + + public void setValueB(final boolean valueB) { + this.valueB = valueB; + } + } + + public class TestNodeBooleanNative { + public boolean valueA; + public boolean valueB; + } + public static final String NODE_NAME = "elem"; + @BeforeAll public static void beforeClass() { Log.verbose("----------------------------------------------------------------"); } - @XmlDefaultAttibute - public class TestBooleanNative { - public boolean valueA; - public boolean valueB; - } @Test - public void testModelBooleanNative() { - TestBooleanNative elem = new TestBooleanNative(); - elem.valueA = false; - elem.valueB = true; + public void testArrayNodeBooleanNativeStructured() { + final TestArrayNodeBooleanNativeStructured elem = new TestArrayNodeBooleanNativeStructured(); + elem.values = new boolean[] { false, false, true, false, true }; - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionBooleanNative.NODE_NAME, builder)); - String dataTest = builder.toString(); + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionBoolean.NODE_NAME, builder)); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("", dataTest); - - final TestBooleanNative root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestBooleanNative.class, ExmlTestIntrospectionBooleanNative.NODE_NAME)); - Assertions.assertEquals(false, root.valueA); - Assertions.assertEquals(true, root.valueB); - } - - @XmlDefaultAttibute - public class TestArrayBooleanNative { - public boolean[] values; - } - @Test - public void testModelArrayBooleanNative() { - TestArrayBooleanNative elem = new TestArrayBooleanNative(); - elem.values = new boolean[] {false, false, true, false, true}; + Assertions.assertEquals(""" + + + false + false + true + false + true + + """, dataTest); - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionBooleanNative.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("", dataTest); - - final TestArrayBooleanNative root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayBooleanNative.class, ExmlTestIntrospectionBooleanNative.NODE_NAME)); + final TestArrayNodeBooleanNativeStructured root = Assertions + .assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeBooleanNativeStructured.class, ExmlTestIntrospectionBoolean.NODE_NAME)); Assertions.assertEquals(5, root.values.length); Assertions.assertEquals(false, root.values[0]); Assertions.assertEquals(false, root.values[1]); @@ -66,66 +144,18 @@ public class ExmlTestIntrospectionBooleanNative { Assertions.assertEquals(false, root.values[3]); Assertions.assertEquals(true, root.values[4]); } - - @XmlDefaultAttibute - public class TestBooleanFunc { - private boolean valueA; - private boolean valueB; - public boolean isValueA() { - return this.valueA; - } - public void setValueA(final boolean valueA) { - this.valueA = valueA; - } - public boolean isValueB() { - return this.valueB; - } - public void setValueB(final boolean valueB) { - this.valueB = valueB; - } - } @Test - public void testModelBooleanFunc() { - TestBooleanFunc elem = new TestBooleanFunc(); - elem.setValueA(false); - elem.setValueB(true); + public void testModelArrayBooleanFunc() { + final TestArrayBooleanFunc elem = new TestArrayBooleanFunc(); + elem.setValues(new boolean[] { false, false, true, false, true }); - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionBooleanNative.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("", dataTest); - - final TestBooleanFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestBooleanFunc.class, ExmlTestIntrospectionBooleanNative.NODE_NAME)); - Assertions.assertEquals(false, root.isValueA()); - Assertions.assertEquals(true, root.isValueB()); - } - - @XmlDefaultAttibute - public class TestArrayBooleanFunc { - private boolean[] values; - - public boolean[] getValues() { - return this.values; - } - - public void setValues(final boolean[] values) { - this.values = values; - } - - } - @Test - public void testModelArrayBooleanFunc() { - TestArrayBooleanFunc elem = new TestArrayBooleanFunc(); - elem.setValues(new boolean[] {false, false, true, false, true}); - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionBooleanNative.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); Assertions.assertEquals("", dataTest); - + final TestArrayBooleanFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayBooleanFunc.class, ExmlTestIntrospectionBooleanNative.NODE_NAME)); Assertions.assertEquals(5, root.getValues().length); Assertions.assertEquals(false, root.getValues()[0]); @@ -135,125 +165,44 @@ public class ExmlTestIntrospectionBooleanNative { Assertions.assertEquals(true, root.getValues()[4]); } - public class TestNodeBooleanNative { - public boolean valueA; - public boolean valueB; - } @Test - public void testModelNodeBooleanNative() { - TestNodeBooleanNative elem = new TestNodeBooleanNative(); - elem.valueA = false; - elem.valueB = true; + public void testModelArrayBooleanNative() { + final TestArrayBooleanNative elem = new TestArrayBooleanNative(); + elem.values = new boolean[] { false, false, true, false, true }; - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionBooleanNative.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " false\n" - + " true\n" - + "", dataTest); - - final TestNodeBooleanNative root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeBooleanNative.class, ExmlTestIntrospectionBooleanNative.NODE_NAME)); - Assertions.assertEquals(false, root.valueA); - Assertions.assertEquals(true, root.valueB); - } - - public class TestArrayNodeBooleanNative { - public boolean[] values; - } - @Test - public void testModelArrayNodeBooleanNative() { - TestArrayNodeBooleanNative elem = new TestArrayNodeBooleanNative(); - elem.values = new boolean[] {false, false, true, false, true}; + Assertions.assertEquals("", dataTest); - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionBooleanNative.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " false\n" - + " false\n" - + " true\n" - + " false\n" - + " true\n" - + "", dataTest); - - final TestArrayNodeBooleanNative root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeBooleanNative.class, ExmlTestIntrospectionBooleanNative.NODE_NAME)); + final TestArrayBooleanNative root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayBooleanNative.class, ExmlTestIntrospectionBooleanNative.NODE_NAME)); Assertions.assertEquals(5, root.values.length); Assertions.assertEquals(false, root.values[0]); Assertions.assertEquals(false, root.values[1]); Assertions.assertEquals(true, root.values[2]); Assertions.assertEquals(false, root.values[3]); Assertions.assertEquals(true, root.values[4]); - } - - public class TestNodeBooleanFunc { - private boolean valueA; - private boolean valueB; - public boolean isValueA() { - return this.valueA; - } - public void setValueA(final boolean valueA) { - this.valueA = valueA; - } - public boolean isValueB() { - return this.valueB; - } - public void setValueB(final boolean valueB) { - this.valueB = valueB; - } } @Test - public void testModelNodeBooleanFunc() { - TestNodeBooleanFunc elem = new TestNodeBooleanFunc(); - elem.setValueA(false); - elem.setValueB(true); + public void testModelArrayNodeBooleanFunc() { + final TestArrayNodeBooleanFunc elem = new TestArrayNodeBooleanFunc(); + elem.setValues(new boolean[] { false, false, true, false, true }); - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionBooleanNative.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " false\n" - + " true\n" - + "", dataTest); - - final TestNodeBooleanFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeBooleanFunc.class, ExmlTestIntrospectionBooleanNative.NODE_NAME)); - Assertions.assertEquals(false, root.isValueA()); - Assertions.assertEquals(true, root.isValueB()); - } - - public class TestArrayNodeBooleanFunc { - private boolean[] values; - - public boolean[] getValues() { - return this.values; - } - - public void setValues(final boolean[] values) { - this.values = values; - } + Assertions.assertEquals(""" + + false + false + true + false + true + """, dataTest); - } - @Test - public void testModelArrayNodeBooleanFunc() { - TestArrayNodeBooleanFunc elem = new TestArrayNodeBooleanFunc(); - elem.setValues(new boolean[] {false, false, true, false, true}); - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionBooleanNative.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " false\n" - + " false\n" - + " true\n" - + " false\n" - + " true\n" - + "", dataTest); - final TestArrayNodeBooleanFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeBooleanFunc.class, ExmlTestIntrospectionBooleanNative.NODE_NAME)); Assertions.assertEquals(5, root.getValues().length); Assertions.assertEquals(false, root.getValues()[0]); @@ -262,31 +211,26 @@ public class ExmlTestIntrospectionBooleanNative { Assertions.assertEquals(false, root.getValues()[3]); Assertions.assertEquals(true, root.getValues()[4]); } - - public class TestArrayNodeBooleanNativeStructured { - @XmlList(value="elem") - public boolean[] values; - } + @Test - public void testArrayNodeBooleanNativeStructured() { - TestArrayNodeBooleanNativeStructured elem = new TestArrayNodeBooleanNativeStructured(); - elem.values = new boolean[] {false, false, true, false, true}; + public void testModelArrayNodeBooleanNative() { + final TestArrayNodeBooleanNative elem = new TestArrayNodeBooleanNative(); + elem.values = new boolean[] { false, false, true, false, true }; - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionBoolean.NODE_NAME, builder)); - String dataTest = builder.toString(); + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionBooleanNative.NODE_NAME, builder)); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " \n" - + " false\n" - + " false\n" - + " true\n" - + " false\n" - + " true\n" - + " \n" - + "", dataTest); - - final TestArrayNodeBooleanNativeStructured root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeBooleanNativeStructured.class, ExmlTestIntrospectionBoolean.NODE_NAME)); + Assertions.assertEquals(""" + + false + false + true + false + true + """, dataTest); + + final TestArrayNodeBooleanNative root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeBooleanNative.class, ExmlTestIntrospectionBooleanNative.NODE_NAME)); Assertions.assertEquals(5, root.values.length); Assertions.assertEquals(false, root.values[0]); Assertions.assertEquals(false, root.values[1]); @@ -295,5 +239,80 @@ public class ExmlTestIntrospectionBooleanNative { Assertions.assertEquals(true, root.values[4]); } + @Test + public void testModelBooleanFunc() { + final TestBooleanFunc elem = new TestBooleanFunc(); + elem.setValueA(false); + elem.setValueB(true); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionBooleanNative.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals("", dataTest); + + final TestBooleanFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestBooleanFunc.class, ExmlTestIntrospectionBooleanNative.NODE_NAME)); + Assertions.assertEquals(false, root.isValueA()); + Assertions.assertEquals(true, root.isValueB()); + } + + @Test + public void testModelBooleanNative() { + final TestBooleanNative elem = new TestBooleanNative(); + elem.valueA = false; + elem.valueB = true; + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionBooleanNative.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals("", dataTest); + + final TestBooleanNative root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestBooleanNative.class, ExmlTestIntrospectionBooleanNative.NODE_NAME)); + Assertions.assertEquals(false, root.valueA); + Assertions.assertEquals(true, root.valueB); + } + + @Test + public void testModelNodeBooleanFunc() { + final TestNodeBooleanFunc elem = new TestNodeBooleanFunc(); + elem.setValueA(false); + elem.setValueB(true); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionBooleanNative.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + false + true + """, dataTest); + + final TestNodeBooleanFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeBooleanFunc.class, ExmlTestIntrospectionBooleanNative.NODE_NAME)); + Assertions.assertEquals(false, root.isValueA()); + Assertions.assertEquals(true, root.isValueB()); + } + + @Test + public void testModelNodeBooleanNative() { + final TestNodeBooleanNative elem = new TestNodeBooleanNative(); + elem.valueA = false; + elem.valueB = true; + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionBooleanNative.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + false + true + """, dataTest); + + final TestNodeBooleanNative root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeBooleanNative.class, ExmlTestIntrospectionBooleanNative.NODE_NAME)); + Assertions.assertEquals(false, root.valueA); + Assertions.assertEquals(true, root.valueB); + } + } - diff --git a/test/src/test/atriasoft/exml/ExmlTestIntrospectionByte.java b/test/src/test/atriasoft/exml/ExmlTestIntrospectionByte.java index 8374662..62f8d18 100644 --- a/test/src/test/atriasoft/exml/ExmlTestIntrospectionByte.java +++ b/test/src/test/atriasoft/exml/ExmlTestIntrospectionByte.java @@ -7,550 +7,587 @@ package test.atriasoft.exml; import java.util.List; +import org.atriasoft.aknot.annotation.AknotList; +import org.atriasoft.aknot.annotation.AknotDefaultAttribute; import org.atriasoft.exml.Exml; -import org.atriasoft.exml.annotation.XmlDefaultAttibute; -import org.atriasoft.exml.annotation.XmlList; - import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; public class ExmlTestIntrospectionByte { - static final String NODE_NAME = "elem"; - @BeforeAll - public static void beforeClass() { - Log.warning("================================================================"); + @AknotDefaultAttribute + public class TestArrayByte { + public Byte[] values; } - - @XmlDefaultAttibute + + @AknotDefaultAttribute + public class TestArrayByteFunc { + private Byte[] values; + + public Byte[] getValues() { + return this.values; + } + + public void setValues(final Byte[] values) { + this.values = values; + } + + } + + public class TestArrayNodeByte { + public Byte[] values; + } + + public class TestArrayNodeByteFunc { + private Byte[] values; + + public Byte[] getValues() { + return this.values; + } + + public void setValues(final Byte[] values) { + this.values = values; + } + + } + + public class TestArrayNodeByteStructured { + @AknotList(value = "elem") + public Byte[] values; + } + + public class TestArrayNodeByteStructuredFunc { + private Byte[] values; + + @AknotList(value = "elem") + public Byte[] getValues() { + return this.values; + } + + public void setValues(final Byte[] values) { + this.values = values; + } + } + + @AknotDefaultAttribute public class TestByte { public Byte valueA; public Byte valueB; public Byte valueNull; } - @Test - public void testModelByte() { - TestByte elem = new TestByte(); - elem.valueA = (byte)12; - elem.valueB = (byte)-13; - elem.valueNull = null; - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionByte.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("", dataTest); - - final TestByte root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestByte.class, ExmlTestIntrospectionByte.NODE_NAME)); - Assertions.assertEquals((byte)12, root.valueA); - Assertions.assertEquals((byte)-13, root.valueB); - Assertions.assertEquals(null, root.valueNull); - } - - @XmlDefaultAttibute - public class TestArrayByte { - public Byte[] values; - } - @Test - public void testModelArrayByte() { - TestArrayByte elem = new TestArrayByte(); - elem.values = new Byte[] {12, -13, 33, 78, -127}; - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionByte.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("", dataTest); - - final TestArrayByte root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayByte.class, ExmlTestIntrospectionByte.NODE_NAME)); - Assertions.assertEquals(5, root.values.length); - Assertions.assertEquals((byte)12, root.values[0]); - Assertions.assertEquals((byte)-13, root.values[1]); - Assertions.assertEquals((byte)33, root.values[2]); - Assertions.assertEquals((byte)78, root.values[3]); - Assertions.assertEquals((byte)-127, root.values[4]); - } - @XmlDefaultAttibute - public class TestListByte { - public List values; - } - @Test - public void testModelListByte() { - TestListByte elem = new TestListByte(); - elem.values = List.of((byte)12, (byte)-13, (byte)33, (byte)78, (byte)-127); - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionByte.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("", dataTest); - - final TestListByte root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListByte.class, ExmlTestIntrospectionByte.NODE_NAME)); - Assertions.assertEquals(5, root.values.size()); - Assertions.assertEquals((byte)12, root.values.get(0)); - Assertions.assertEquals((byte)-13, root.values.get(1)); - Assertions.assertEquals((byte)33, root.values.get(2)); - Assertions.assertEquals((byte)78, root.values.get(3)); - Assertions.assertEquals((byte)-127, root.values.get(4)); - } - - - @XmlDefaultAttibute + @AknotDefaultAttribute public class TestByteFunc { private Byte valueA; private Byte valueB; private Byte valueNull; + public Byte getValueA() { return this.valueA; } - public void setValueA(final Byte valueA) { - this.valueA = valueA; - } + public Byte getValueB() { return this.valueB; } - public void setValueB(final Byte valueB) { - this.valueB = valueB; - } + public Byte getValueNull() { return this.valueNull; } + + public void setValueA(final Byte valueA) { + this.valueA = valueA; + } + + public void setValueB(final Byte valueB) { + this.valueB = valueB; + } + public void setValueNull(final Byte valueNull) { this.valueNull = valueNull; } } - @Test - public void testModelByteFunc() { - TestByteFunc elem = new TestByteFunc(); - elem.setValueA((byte)-55); - elem.setValueB((byte)57); - elem.setValueNull(null); - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionByte.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("", dataTest); - - final TestByteFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestByteFunc.class, ExmlTestIntrospectionByte.NODE_NAME)); - Assertions.assertEquals((byte)-55, root.getValueA()); - Assertions.assertEquals((byte)57, root.getValueB()); - Assertions.assertEquals(null, root.getValueNull()); - } - - @XmlDefaultAttibute - public class TestArrayByteFunc { - private Byte[] values; - - public Byte[] getValues() { - return this.values; - } - - public void setValues(final Byte[] values) { - this.values = values; - } - - } - @Test - public void testModelArrayByteFunc() { - TestArrayByteFunc elem = new TestArrayByteFunc(); - elem.setValues(new Byte[] {12, -13, 33, 78, -127}); - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionByte.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("", dataTest); - - final TestArrayByteFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayByteFunc.class, ExmlTestIntrospectionByte.NODE_NAME)); - Assertions.assertEquals(5, root.getValues().length); - Assertions.assertEquals((byte)12, root.getValues()[0]); - Assertions.assertEquals((byte)-13, root.getValues()[1]); - Assertions.assertEquals((byte)33, root.getValues()[2]); - Assertions.assertEquals((byte)78, root.getValues()[3]); - Assertions.assertEquals((byte)-127, root.getValues()[4]); + @AknotDefaultAttribute + public class TestListByte { + public List values; } - @XmlDefaultAttibute + @AknotDefaultAttribute public class TestListByteFunc { private List values; - + public List getValues() { return this.values; } - + public void setValues(final List values) { this.values = values; } } - @Test - public void testModelListByteFunc() { - TestListByteFunc elem = new TestListByteFunc(); - elem.setValues(List.of((byte)12, (byte)-13, (byte)33, (byte)78, (byte)-127)); - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionByte.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("", dataTest); - - final TestListByteFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListByteFunc.class, ExmlTestIntrospectionByte.NODE_NAME)); - Assertions.assertEquals(5, root.getValues().size()); - Assertions.assertEquals((byte)12, root.getValues().get(0)); - Assertions.assertEquals((byte)-13, root.getValues().get(1)); - Assertions.assertEquals((byte)33, root.getValues().get(2)); - Assertions.assertEquals((byte)78, root.getValues().get(3)); - Assertions.assertEquals((byte)-127, root.getValues().get(4)); - } - - public class TestNodeByte { - public Byte valueA; - public Byte valueB; - public Byte valueNull; - } - @Test - public void testModelNodeByte() { - TestNodeByte elem = new TestNodeByte(); - elem.valueA = (byte)11; - elem.valueB = (byte)-120; - elem.valueNull = null; - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionByte.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 11\n" - + " -120\n" - + "", dataTest); - - final TestNodeByte root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeByte.class, ExmlTestIntrospectionByte.NODE_NAME)); - Assertions.assertEquals((byte)11, root.valueA); - Assertions.assertEquals((byte)-120, root.valueB); - Assertions.assertEquals(null, root.valueNull); - } - - public class TestArrayNodeByte { - public Byte[] values; - } - @Test - public void testModelArrayNodeByte() { - TestArrayNodeByte elem = new TestArrayNodeByte(); - elem.values = new Byte[] {12, -13, 33, 78, -127}; - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionByte.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 12\n" - + " -13\n" - + " 33\n" - + " 78\n" - + " -127\n" - + "", dataTest); - - final TestArrayNodeByte root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeByte.class, ExmlTestIntrospectionByte.NODE_NAME)); - Assertions.assertEquals(5, root.values.length); - Assertions.assertEquals((byte)12, root.values[0]); - Assertions.assertEquals((byte)-13, root.values[1]); - Assertions.assertEquals((byte)33, root.values[2]); - Assertions.assertEquals((byte)78, root.values[3]); - Assertions.assertEquals((byte)-127, root.values[4]); - } public class TestListNodeByte { public List values; } - @Test - public void testModelListNodeByte() { - TestListNodeByte elem = new TestListNodeByte(); - elem.values = List.of((byte)12, (byte)-13, (byte)33, (byte)78, (byte)-127); + + // Note this is set in static to test an other part of code... + public static class TestListNodeByteFunc { + private List values; - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionByte.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 12\n" - + " -13\n" - + " 33\n" - + " 78\n" - + " -127\n" - + "", dataTest); - - final TestListNodeByte root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListNodeByte.class, ExmlTestIntrospectionByte.NODE_NAME)); - Assertions.assertEquals(5, root.values.size()); - Assertions.assertEquals((byte)12, root.values.get(0)); - Assertions.assertEquals((byte)-13, root.values.get(1)); - Assertions.assertEquals((byte)33, root.values.get(2)); - Assertions.assertEquals((byte)78, root.values.get(3)); - Assertions.assertEquals((byte)-127, root.values.get(4)); + public List getValues() { + return this.values; + } + + public void setValues(final List values) { + this.values = values; + } + } + + public class TestListNodeByteStructured { + @AknotList(value = "elem") + public List values; + } + + public class TestListNodeByteStructuredFunc { + private List values; + + @AknotList(value = "elem") + public List getValues() { + return this.values; + } + + public void setValues(final List values) { + this.values = values; + } + } + + public class TestNodeByte { + public Byte valueA; + public Byte valueB; + public Byte valueNull; } - public class TestNodeByteFunc { private Byte valueA; private Byte valueB; private Byte valueNull; + public Byte getValueA() { return this.valueA; } - public void setValueA(final Byte valueA) { - this.valueA = valueA; - } + public Byte getValueB() { return this.valueB; } - public void setValueB(final Byte valueB) { - this.valueB = valueB; - } + public Byte getValueNull() { return this.valueNull; } + + public void setValueA(final Byte valueA) { + this.valueA = valueA; + } + + public void setValueB(final Byte valueB) { + this.valueB = valueB; + } + public void setValueNull(final Byte valueNull) { this.valueNull = valueNull; } } - @Test - public void testModelNodeByteFunc() { - TestNodeByteFunc elem = new TestNodeByteFunc(); - elem.setValueA((byte)54); - elem.setValueB((byte)-68); - elem.setValueNull(null); - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionByte.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 54\n" - + " -68\n" - + "", dataTest); - - final TestNodeByteFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeByteFunc.class, ExmlTestIntrospectionByte.NODE_NAME)); - Assertions.assertEquals((byte)54, root.getValueA()); - Assertions.assertEquals((byte)-68, root.getValueB()); - Assertions.assertEquals(null, root.getValueNull()); - } - - public class TestArrayNodeByteFunc { - private Byte[] values; - - public Byte[] getValues() { - return this.values; - } - - public void setValues(final Byte[] values) { - this.values = values; - } - - } - @Test - public void testModelArrayNodeByteFunc() { - TestArrayNodeByteFunc elem = new TestArrayNodeByteFunc(); - elem.setValues(new Byte[] {12, -13, 33, 78, -127}); - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionByte.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 12\n" - + " -13\n" - + " 33\n" - + " 78\n" - + " -127\n" - + "", dataTest); - - final TestArrayNodeByteFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeByteFunc.class, ExmlTestIntrospectionByte.NODE_NAME)); - Assertions.assertEquals(5, root.getValues().length); - Assertions.assertEquals((byte)12, root.getValues()[0]); - Assertions.assertEquals((byte)-13, root.getValues()[1]); - Assertions.assertEquals((byte)33, root.getValues()[2]); - Assertions.assertEquals((byte)78, root.getValues()[3]); - Assertions.assertEquals((byte)-127, root.getValues()[4]); + static final String NODE_NAME = "elem"; + + @BeforeAll + public static void beforeClass() { + Log.warning("================================================================"); } - // Note this is set in static to test an other part of code... - public static class TestListNodeByteFunc { - private List values; - - public List getValues() { - return this.values; - } - - public void setValues(final List values) { - this.values = values; - } - } @Test - public void testModelListNodeByteFunc() { - TestListNodeByteFunc elem = new TestListNodeByteFunc(); - elem.setValues(List.of((byte)12, (byte)-13, (byte)33, (byte)78, (byte)-127)); + public void testArrayNodeByteStructured() { + final TestArrayNodeByteStructured elem = new TestArrayNodeByteStructured(); + elem.values = new Byte[] { 12, -13, 33, 78, -127 }; - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionByte.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 12\n" - + " -13\n" - + " 33\n" - + " 78\n" - + " -127\n" - + "", dataTest); - - final TestListNodeByteFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListNodeByteFunc.class, ExmlTestIntrospectionByte.NODE_NAME)); - Assertions.assertEquals(5, root.getValues().size()); - Assertions.assertEquals((byte)12, root.getValues().get(0)); - Assertions.assertEquals((byte)-13, root.getValues().get(1)); - Assertions.assertEquals((byte)33, root.getValues().get(2)); - Assertions.assertEquals((byte)78, root.getValues().get(3)); - Assertions.assertEquals((byte)-127, root.getValues().get(4)); - } - - public class TestListNodeByteStructuredFunc { - private List values; - @XmlList(value="elem") - public List getValues() { - return this.values; - } - public void setValues(final List values) { - this.values = values; - } - } - @Test - public void testListNodeByteStructuredFunc() { - TestListNodeByteStructuredFunc elem = new TestListNodeByteStructuredFunc(); - elem.setValues(List.of((byte)12, (byte)-13, (byte)33, (byte)78, (byte)-127)); + Assertions.assertEquals(""" + + + 12 + -13 + 33 + 78 + -127 + + """, dataTest); - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionByte.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " \n" - + " 12\n" - + " -13\n" - + " 33\n" - + " 78\n" - + " -127\n" - + " \n" - + "", dataTest); - - final TestListNodeByteStructuredFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListNodeByteStructuredFunc.class, ExmlTestIntrospectionByte.NODE_NAME)); - Assertions.assertEquals(5, root.getValues().size()); - Assertions.assertEquals((byte)12, root.getValues().get(0)); - Assertions.assertEquals((byte)-13, root.getValues().get(1)); - Assertions.assertEquals((byte)33, root.getValues().get(2)); - Assertions.assertEquals((byte)78, root.getValues().get(3)); - Assertions.assertEquals((byte)-127, root.getValues().get(4)); - } - public class TestArrayNodeByteStructuredFunc { - private Byte[] values; - @XmlList(value="elem") - public Byte[] getValues() { - return this.values; - } - public void setValues(final Byte[] values) { - this.values = values; - } - } - @Test - public void testArrayNodeByteStructuredFunc() { - TestArrayNodeByteStructuredFunc elem = new TestArrayNodeByteStructuredFunc(); - elem.setValues(new Byte[] {12, -13, 33, 78, -127}); - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionByte.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " \n" - + " 12\n" - + " -13\n" - + " 33\n" - + " 78\n" - + " -127\n" - + " \n" - + "", dataTest); - - final TestArrayNodeByteStructuredFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeByteStructuredFunc.class, ExmlTestIntrospectionByte.NODE_NAME)); - Assertions.assertEquals(5, root.getValues().length); - Assertions.assertEquals((byte)12, root.getValues()[0]); - Assertions.assertEquals((byte)-13, root.getValues()[1]); - Assertions.assertEquals((byte)33, root.getValues()[2]); - Assertions.assertEquals((byte)78, root.getValues()[3]); - Assertions.assertEquals((byte)-127, root.getValues()[4]); - } - - - - public class TestListNodeByteStructured { - @XmlList(value="elem") - public List values; - } - @Test - public void testListNodeByteStructured() { - TestListNodeByteStructured elem = new TestListNodeByteStructured(); - elem.values = List.of((byte)12, (byte)-13, (byte)33, (byte)78, (byte)-127); - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionByte.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " \n" - + " 12\n" - + " -13\n" - + " 33\n" - + " 78\n" - + " -127\n" - + " \n" - + "", dataTest); - - final TestListNodeByteStructured root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListNodeByteStructured.class, ExmlTestIntrospectionByte.NODE_NAME)); - Assertions.assertEquals(5, root.values.size()); - Assertions.assertEquals((byte)12, root.values.get(0)); - Assertions.assertEquals((byte)-13, root.values.get(1)); - Assertions.assertEquals((byte)33, root.values.get(2)); - Assertions.assertEquals((byte)78, root.values.get(3)); - Assertions.assertEquals((byte)-127, root.values.get(4)); - } - public class TestArrayNodeByteStructured { - @XmlList(value="elem") - public Byte[] values; - } - @Test - public void testArrayNodeByteStructured() { - TestArrayNodeByteStructured elem = new TestArrayNodeByteStructured(); - elem.values = new Byte[] {12, -13, 33, 78, -127}; - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionByte.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " \n" - + " 12\n" - + " -13\n" - + " 33\n" - + " 78\n" - + " -127\n" - + " \n" - + "", dataTest); - final TestArrayNodeByteStructured root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeByteStructured.class, ExmlTestIntrospectionByte.NODE_NAME)); Assertions.assertEquals(5, root.values.length); - Assertions.assertEquals((byte)12, root.values[0]); - Assertions.assertEquals((byte)-13, root.values[1]); - Assertions.assertEquals((byte)33, root.values[2]); - Assertions.assertEquals((byte)78, root.values[3]); - Assertions.assertEquals((byte)-127, root.values[4]); + Assertions.assertEquals((byte) 12, root.values[0]); + Assertions.assertEquals((byte) -13, root.values[1]); + Assertions.assertEquals((byte) 33, root.values[2]); + Assertions.assertEquals((byte) 78, root.values[3]); + Assertions.assertEquals((byte) -127, root.values[4]); + } + + @Test + public void testArrayNodeByteStructuredFunc() { + final TestArrayNodeByteStructuredFunc elem = new TestArrayNodeByteStructuredFunc(); + elem.setValues(new Byte[] { 12, -13, 33, 78, -127 }); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionByte.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + + 12 + -13 + 33 + 78 + -127 + + """, dataTest); + + final TestArrayNodeByteStructuredFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeByteStructuredFunc.class, ExmlTestIntrospectionByte.NODE_NAME)); + Assertions.assertEquals(5, root.getValues().length); + Assertions.assertEquals((byte) 12, root.getValues()[0]); + Assertions.assertEquals((byte) -13, root.getValues()[1]); + Assertions.assertEquals((byte) 33, root.getValues()[2]); + Assertions.assertEquals((byte) 78, root.getValues()[3]); + Assertions.assertEquals((byte) -127, root.getValues()[4]); + } + + @Test + public void testListNodeByteStructured() { + final TestListNodeByteStructured elem = new TestListNodeByteStructured(); + elem.values = List.of((byte) 12, (byte) -13, (byte) 33, (byte) 78, (byte) -127); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionByte.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + + 12 + -13 + 33 + 78 + -127 + + """, dataTest); + + final TestListNodeByteStructured root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListNodeByteStructured.class, ExmlTestIntrospectionByte.NODE_NAME)); + Assertions.assertEquals(5, root.values.size()); + Assertions.assertEquals((byte) 12, root.values.get(0)); + Assertions.assertEquals((byte) -13, root.values.get(1)); + Assertions.assertEquals((byte) 33, root.values.get(2)); + Assertions.assertEquals((byte) 78, root.values.get(3)); + Assertions.assertEquals((byte) -127, root.values.get(4)); + } + + @Test + public void testListNodeByteStructuredFunc() { + final TestListNodeByteStructuredFunc elem = new TestListNodeByteStructuredFunc(); + elem.setValues(List.of((byte) 12, (byte) -13, (byte) 33, (byte) 78, (byte) -127)); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionByte.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + + 12 + -13 + 33 + 78 + -127 + + """, dataTest); + + final TestListNodeByteStructuredFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListNodeByteStructuredFunc.class, ExmlTestIntrospectionByte.NODE_NAME)); + Assertions.assertEquals(5, root.getValues().size()); + Assertions.assertEquals((byte) 12, root.getValues().get(0)); + Assertions.assertEquals((byte) -13, root.getValues().get(1)); + Assertions.assertEquals((byte) 33, root.getValues().get(2)); + Assertions.assertEquals((byte) 78, root.getValues().get(3)); + Assertions.assertEquals((byte) -127, root.getValues().get(4)); + } + + @Test + public void testModelArrayByte() { + final TestArrayByte elem = new TestArrayByte(); + elem.values = new Byte[] { 12, -13, 33, 78, -127 }; + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionByte.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals("", dataTest); + + final TestArrayByte root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayByte.class, ExmlTestIntrospectionByte.NODE_NAME)); + Assertions.assertEquals(5, root.values.length); + Assertions.assertEquals((byte) 12, root.values[0]); + Assertions.assertEquals((byte) -13, root.values[1]); + Assertions.assertEquals((byte) 33, root.values[2]); + Assertions.assertEquals((byte) 78, root.values[3]); + Assertions.assertEquals((byte) -127, root.values[4]); + } + + @Test + public void testModelArrayByteFunc() { + final TestArrayByteFunc elem = new TestArrayByteFunc(); + elem.setValues(new Byte[] { 12, -13, 33, 78, -127 }); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionByte.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals("", dataTest); + + final TestArrayByteFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayByteFunc.class, ExmlTestIntrospectionByte.NODE_NAME)); + Assertions.assertEquals(5, root.getValues().length); + Assertions.assertEquals((byte) 12, root.getValues()[0]); + Assertions.assertEquals((byte) -13, root.getValues()[1]); + Assertions.assertEquals((byte) 33, root.getValues()[2]); + Assertions.assertEquals((byte) 78, root.getValues()[3]); + Assertions.assertEquals((byte) -127, root.getValues()[4]); + } + + @Test + public void testModelArrayNodeByte() { + final TestArrayNodeByte elem = new TestArrayNodeByte(); + elem.values = new Byte[] { 12, -13, 33, 78, -127 }; + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionByte.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + 12 + -13 + 33 + 78 + -127 + """, dataTest); + + final TestArrayNodeByte root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeByte.class, ExmlTestIntrospectionByte.NODE_NAME)); + Assertions.assertEquals(5, root.values.length); + Assertions.assertEquals((byte) 12, root.values[0]); + Assertions.assertEquals((byte) -13, root.values[1]); + Assertions.assertEquals((byte) 33, root.values[2]); + Assertions.assertEquals((byte) 78, root.values[3]); + Assertions.assertEquals((byte) -127, root.values[4]); + } + + @Test + public void testModelArrayNodeByteFunc() { + final TestArrayNodeByteFunc elem = new TestArrayNodeByteFunc(); + elem.setValues(new Byte[] { 12, -13, 33, 78, -127 }); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionByte.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + 12 + -13 + 33 + 78 + -127 + """, dataTest); + + final TestArrayNodeByteFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeByteFunc.class, ExmlTestIntrospectionByte.NODE_NAME)); + Assertions.assertEquals(5, root.getValues().length); + Assertions.assertEquals((byte) 12, root.getValues()[0]); + Assertions.assertEquals((byte) -13, root.getValues()[1]); + Assertions.assertEquals((byte) 33, root.getValues()[2]); + Assertions.assertEquals((byte) 78, root.getValues()[3]); + Assertions.assertEquals((byte) -127, root.getValues()[4]); + } + + @Test + public void testModelByte() { + final TestByte elem = new TestByte(); + elem.valueA = (byte) 12; + elem.valueB = (byte) -13; + elem.valueNull = null; + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionByte.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals("", dataTest); + + final TestByte root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestByte.class, ExmlTestIntrospectionByte.NODE_NAME)); + Assertions.assertEquals((byte) 12, root.valueA); + Assertions.assertEquals((byte) -13, root.valueB); + Assertions.assertEquals(null, root.valueNull); + } + + @Test + public void testModelByteFunc() { + final TestByteFunc elem = new TestByteFunc(); + elem.setValueA((byte) -55); + elem.setValueB((byte) 57); + elem.setValueNull(null); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionByte.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals("", dataTest); + + final TestByteFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestByteFunc.class, ExmlTestIntrospectionByte.NODE_NAME)); + Assertions.assertEquals((byte) -55, root.getValueA()); + Assertions.assertEquals((byte) 57, root.getValueB()); + Assertions.assertEquals(null, root.getValueNull()); + } + + @Test + public void testModelListByte() { + final TestListByte elem = new TestListByte(); + elem.values = List.of((byte) 12, (byte) -13, (byte) 33, (byte) 78, (byte) -127); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionByte.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals("", dataTest); + + final TestListByte root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListByte.class, ExmlTestIntrospectionByte.NODE_NAME)); + Assertions.assertEquals(5, root.values.size()); + Assertions.assertEquals((byte) 12, root.values.get(0)); + Assertions.assertEquals((byte) -13, root.values.get(1)); + Assertions.assertEquals((byte) 33, root.values.get(2)); + Assertions.assertEquals((byte) 78, root.values.get(3)); + Assertions.assertEquals((byte) -127, root.values.get(4)); + } + + @Test + public void testModelListByteFunc() { + final TestListByteFunc elem = new TestListByteFunc(); + elem.setValues(List.of((byte) 12, (byte) -13, (byte) 33, (byte) 78, (byte) -127)); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionByte.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals("", dataTest); + + final TestListByteFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListByteFunc.class, ExmlTestIntrospectionByte.NODE_NAME)); + Assertions.assertEquals(5, root.getValues().size()); + Assertions.assertEquals((byte) 12, root.getValues().get(0)); + Assertions.assertEquals((byte) -13, root.getValues().get(1)); + Assertions.assertEquals((byte) 33, root.getValues().get(2)); + Assertions.assertEquals((byte) 78, root.getValues().get(3)); + Assertions.assertEquals((byte) -127, root.getValues().get(4)); + } + + @Test + public void testModelListNodeByte() { + final TestListNodeByte elem = new TestListNodeByte(); + elem.values = List.of((byte) 12, (byte) -13, (byte) 33, (byte) 78, (byte) -127); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionByte.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + 12 + -13 + 33 + 78 + -127 + """, dataTest); + + final TestListNodeByte root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListNodeByte.class, ExmlTestIntrospectionByte.NODE_NAME)); + Assertions.assertEquals(5, root.values.size()); + Assertions.assertEquals((byte) 12, root.values.get(0)); + Assertions.assertEquals((byte) -13, root.values.get(1)); + Assertions.assertEquals((byte) 33, root.values.get(2)); + Assertions.assertEquals((byte) 78, root.values.get(3)); + Assertions.assertEquals((byte) -127, root.values.get(4)); + } + + @Test + public void testModelListNodeByteFunc() { + final TestListNodeByteFunc elem = new TestListNodeByteFunc(); + elem.setValues(List.of((byte) 12, (byte) -13, (byte) 33, (byte) 78, (byte) -127)); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionByte.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + 12 + -13 + 33 + 78 + -127 + """, dataTest); + + final TestListNodeByteFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListNodeByteFunc.class, ExmlTestIntrospectionByte.NODE_NAME)); + Assertions.assertEquals(5, root.getValues().size()); + Assertions.assertEquals((byte) 12, root.getValues().get(0)); + Assertions.assertEquals((byte) -13, root.getValues().get(1)); + Assertions.assertEquals((byte) 33, root.getValues().get(2)); + Assertions.assertEquals((byte) 78, root.getValues().get(3)); + Assertions.assertEquals((byte) -127, root.getValues().get(4)); + } + + @Test + public void testModelNodeByte() { + final TestNodeByte elem = new TestNodeByte(); + elem.valueA = (byte) 11; + elem.valueB = (byte) -120; + elem.valueNull = null; + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionByte.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + 11 + -120 + """, dataTest); + + final TestNodeByte root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeByte.class, ExmlTestIntrospectionByte.NODE_NAME)); + Assertions.assertEquals((byte) 11, root.valueA); + Assertions.assertEquals((byte) -120, root.valueB); + Assertions.assertEquals(null, root.valueNull); + } + + @Test + public void testModelNodeByteFunc() { + final TestNodeByteFunc elem = new TestNodeByteFunc(); + elem.setValueA((byte) 54); + elem.setValueB((byte) -68); + elem.setValueNull(null); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionByte.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + 54 + -68 + """, dataTest); + + final TestNodeByteFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeByteFunc.class, ExmlTestIntrospectionByte.NODE_NAME)); + Assertions.assertEquals((byte) 54, root.getValueA()); + Assertions.assertEquals((byte) -68, root.getValueB()); + Assertions.assertEquals(null, root.getValueNull()); } } - diff --git a/test/src/test/atriasoft/exml/ExmlTestIntrospectionByteNative.java b/test/src/test/atriasoft/exml/ExmlTestIntrospectionByteNative.java index fde9e7c..47ac51e 100644 --- a/test/src/test/atriasoft/exml/ExmlTestIntrospectionByteNative.java +++ b/test/src/test/atriasoft/exml/ExmlTestIntrospectionByteNative.java @@ -5,334 +5,355 @@ */ package test.atriasoft.exml; +import org.atriasoft.aknot.annotation.AknotList; +import org.atriasoft.aknot.annotation.AknotDefaultAttribute; import org.atriasoft.exml.Exml; -import org.atriasoft.exml.annotation.XmlDefaultAttibute; -import org.atriasoft.exml.annotation.XmlList; - import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; public class ExmlTestIntrospectionByteNative { - static final String NODE_NAME = "elem"; - @BeforeAll - public static void beforeClass() { - Log.warning("================================================================"); + @AknotDefaultAttribute + public class TestArrayByteFunc { + private byte[] values; + + public byte[] getValues() { + return this.values; + } + + public void setValues(final byte[] values) { + this.values = values; + } + } - - @XmlDefaultAttibute + + @AknotDefaultAttribute + public class TestArrayByteNative { + public byte[] values; + } + + public class TestArrayNodeByteFunc { + private byte[] values; + + public byte[] getValues() { + return this.values; + } + + public void setValues(final byte[] values) { + this.values = values; + } + + } + + public class TestArrayNodeByteNative { + public byte[] values; + } + + public class TestArrayNodeByteNativeStructured { + @AknotList(value = "elem") + public byte[] values; + } + + public class TestArrayNodeByteNativeStructuredFunc { + private byte[] values; + + @AknotList(value = "elem") + public byte[] getValues() { + return this.values; + } + + public void setValues(final byte[] values) { + this.values = values; + } + } + + @AknotDefaultAttribute + public class TestbyteFunc { + private byte valueA; + private byte valueB; + + public byte getValueA() { + return this.valueA; + } + + public byte getValueB() { + return this.valueB; + } + + public void setValueA(final byte valueA) { + this.valueA = valueA; + } + + public void setValueB(final byte valueB) { + this.valueB = valueB; + } + } + + @AknotDefaultAttribute public class TestByteNative { public byte valueA; public byte valueB; } - @Test - public void testModelByteNative() { - TestByteNative elem = new TestByteNative(); - elem.valueA = (byte)12; - elem.valueB = (byte)-13; - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionByte.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("", dataTest); - - final TestByteNative root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestByteNative.class, ExmlTestIntrospectionByte.NODE_NAME)); - Assertions.assertEquals((byte)12, root.valueA); - Assertions.assertEquals((byte)-13, root.valueB); - } - - @XmlDefaultAttibute - public class TestArrayByteNative { - public byte[] values; - } - @Test - public void testModelArrayByteNative() { - TestArrayByteNative elem = new TestArrayByteNative(); - elem.values = new byte[] {12, -13, 33, 78, -127}; - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionByte.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("", dataTest); - - final TestArrayByteNative root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayByteNative.class, ExmlTestIntrospectionByte.NODE_NAME)); - Assertions.assertEquals(5, root.values.length); - Assertions.assertEquals((byte)12, root.values[0]); - Assertions.assertEquals((byte)-13, root.values[1]); - Assertions.assertEquals((byte)33, root.values[2]); - Assertions.assertEquals((byte)78, root.values[3]); - Assertions.assertEquals((byte)-127, root.values[4]); - } - - @XmlDefaultAttibute - public class TestbyteFunc { + + public class TestNodebyteFunc { private byte valueA; private byte valueB; + public byte getValueA() { return this.valueA; } - public void setValueA(final byte valueA) { - this.valueA = valueA; - } + public byte getValueB() { return this.valueB; } + + public void setValueA(final byte valueA) { + this.valueA = valueA; + } + public void setValueB(final byte valueB) { this.valueB = valueB; } } - @Test - public void testModelByteFunc() { - TestbyteFunc elem = new TestbyteFunc(); - elem.setValueA((byte)-55); - elem.setValueB((byte)57); - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionByte.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("", dataTest); - - final TestbyteFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestbyteFunc.class, ExmlTestIntrospectionByte.NODE_NAME)); - Assertions.assertEquals((byte)-55, root.getValueA()); - Assertions.assertEquals((byte)57, root.getValueB()); - } - - @XmlDefaultAttibute - public class TestArrayByteFunc { - private byte[] values; - - public byte[] getValues() { - return this.values; - } - - public void setValues(final byte[] values) { - this.values = values; - } - - } - @Test - public void testModelArrayByteFunc() { - TestArrayByteFunc elem = new TestArrayByteFunc(); - elem.setValues(new byte[] {12, -13, 33, 78, -127}); - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionByte.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("", dataTest); - - final TestArrayByteFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayByteFunc.class, ExmlTestIntrospectionByte.NODE_NAME)); - Assertions.assertEquals(5, root.getValues().length); - Assertions.assertEquals((byte)12, root.getValues()[0]); - Assertions.assertEquals((byte)-13, root.getValues()[1]); - Assertions.assertEquals((byte)33, root.getValues()[2]); - Assertions.assertEquals((byte)78, root.getValues()[3]); - Assertions.assertEquals((byte)-127, root.getValues()[4]); - } - public class TestNodeByteNative { public byte valueA; public byte valueB; } - @Test - public void testModelNodeByteNative() { - TestNodeByteNative elem = new TestNodeByteNative(); - elem.valueA = (byte)11; - elem.valueB = (byte)-120; - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionByte.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 11\n" - + " -120\n" - + "", dataTest); - - final TestNodeByteNative root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeByteNative.class, ExmlTestIntrospectionByte.NODE_NAME)); - Assertions.assertEquals((byte)11, root.valueA); - Assertions.assertEquals((byte)-120, root.valueB); - } - - public class TestArrayNodeByteNative { - public byte[] values; - } - @Test - public void testModelArrayNodebyteNative() { - TestArrayNodeByteNative elem = new TestArrayNodeByteNative(); - elem.values = new byte[] {12, -13, 33, 78, -127}; - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionByte.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 12\n" - + " -13\n" - + " 33\n" - + " 78\n" - + " -127\n" - + "", dataTest); - - final TestArrayNodeByteNative root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeByteNative.class, ExmlTestIntrospectionByte.NODE_NAME)); - Assertions.assertEquals(5, root.values.length); - Assertions.assertEquals((byte)12, root.values[0]); - Assertions.assertEquals((byte)-13, root.values[1]); - Assertions.assertEquals((byte)33, root.values[2]); - Assertions.assertEquals((byte)78, root.values[3]); - Assertions.assertEquals((byte)-127, root.values[4]); - } - - public class TestNodebyteFunc { - private byte valueA; - private byte valueB; - public byte getValueA() { - return this.valueA; - } - public void setValueA(final byte valueA) { - this.valueA = valueA; - } - public byte getValueB() { - return this.valueB; - } - public void setValueB(final byte valueB) { - this.valueB = valueB; - } + + static final String NODE_NAME = "elem"; + + @BeforeAll + public static void beforeClass() { + Log.warning("================================================================"); } @Test - public void testModelNodeByteFunc() { - TestNodebyteFunc elem = new TestNodebyteFunc(); - elem.setValueA((byte)54); - elem.setValueB((byte)-68); + public void testArrayNodeByteNativeStructured() { + final TestArrayNodeByteNativeStructured elem = new TestArrayNodeByteNativeStructured(); + elem.values = new byte[] { 12, -13, 33, 78, -127 }; - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionByte.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 54\n" - + " -68\n" - + "", dataTest); - - final TestNodebyteFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodebyteFunc.class, ExmlTestIntrospectionByte.NODE_NAME)); - Assertions.assertEquals((byte)54, root.getValueA()); - Assertions.assertEquals((byte)-68, root.getValueB()); - } - - public class TestArrayNodeByteFunc { - private byte[] values; - - public byte[] getValues() { - return this.values; - } - - public void setValues(final byte[] values) { - this.values = values; - } + Assertions.assertEquals(""" + + + 12 + -13 + 33 + 78 + -127 + + """, dataTest); - } - @Test - public void testModelArrayNodeByteFunc() { - TestArrayNodeByteFunc elem = new TestArrayNodeByteFunc(); - elem.setValues(new byte[] {12, -13, 33, 78, -127}); - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionByte.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 12\n" - + " -13\n" - + " 33\n" - + " 78\n" - + " -127\n" - + "", dataTest); - - final TestArrayNodeByteFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeByteFunc.class, ExmlTestIntrospectionByte.NODE_NAME)); - Assertions.assertEquals(5, root.getValues().length); - Assertions.assertEquals((byte)12, root.getValues()[0]); - Assertions.assertEquals((byte)-13, root.getValues()[1]); - Assertions.assertEquals((byte)33, root.getValues()[2]); - Assertions.assertEquals((byte)78, root.getValues()[3]); - Assertions.assertEquals((byte)-127, root.getValues()[4]); - } - - public class TestArrayNodeByteNativeStructuredFunc { - private byte[] values; - @XmlList(value="elem") - public byte[] getValues() { - return this.values; - } - public void setValues(final byte[] values) { - this.values = values; - } - } - @Test - public void testArrayNodeByteNativeStructuredFunc() { - TestArrayNodeByteNativeStructuredFunc elem = new TestArrayNodeByteNativeStructuredFunc(); - elem.setValues(new byte[] {12, -13, 33, 78, -127}); - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionByte.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " \n" - + " 12\n" - + " -13\n" - + " 33\n" - + " 78\n" - + " -127\n" - + " \n" - + "", dataTest); - - final TestArrayNodeByteNativeStructuredFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeByteNativeStructuredFunc.class, ExmlTestIntrospectionByte.NODE_NAME)); - Assertions.assertEquals(5, root.getValues().length); - Assertions.assertEquals((byte)12, root.getValues()[0]); - Assertions.assertEquals((byte)-13, root.getValues()[1]); - Assertions.assertEquals((byte)33, root.getValues()[2]); - Assertions.assertEquals((byte)78, root.getValues()[3]); - Assertions.assertEquals((byte)-127, root.getValues()[4]); - } - - - - - public class TestArrayNodeByteNativeStructured { - @XmlList(value="elem") - public byte[] values; - } - @Test - public void testArrayNodeByteNativeStructured() { - TestArrayNodeByteNativeStructured elem = new TestArrayNodeByteNativeStructured(); - elem.values = new byte[] {12, -13, 33, 78, -127}; - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionByte.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " \n" - + " 12\n" - + " -13\n" - + " 33\n" - + " 78\n" - + " -127\n" - + " \n" - + "", dataTest); - final TestArrayNodeByteNativeStructured root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeByteNativeStructured.class, ExmlTestIntrospectionByte.NODE_NAME)); Assertions.assertEquals(5, root.values.length); - Assertions.assertEquals((byte)12, root.values[0]); - Assertions.assertEquals((byte)-13, root.values[1]); - Assertions.assertEquals((byte)33, root.values[2]); - Assertions.assertEquals((byte)78, root.values[3]); - Assertions.assertEquals((byte)-127, root.values[4]); + Assertions.assertEquals((byte) 12, root.values[0]); + Assertions.assertEquals((byte) -13, root.values[1]); + Assertions.assertEquals((byte) 33, root.values[2]); + Assertions.assertEquals((byte) 78, root.values[3]); + Assertions.assertEquals((byte) -127, root.values[4]); + } + + @Test + public void testArrayNodeByteNativeStructuredFunc() { + final TestArrayNodeByteNativeStructuredFunc elem = new TestArrayNodeByteNativeStructuredFunc(); + elem.setValues(new byte[] { 12, -13, 33, 78, -127 }); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionByte.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + + 12 + -13 + 33 + 78 + -127 + + """, dataTest); + + final TestArrayNodeByteNativeStructuredFunc root = Assertions + .assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeByteNativeStructuredFunc.class, ExmlTestIntrospectionByte.NODE_NAME)); + Assertions.assertEquals(5, root.getValues().length); + Assertions.assertEquals((byte) 12, root.getValues()[0]); + Assertions.assertEquals((byte) -13, root.getValues()[1]); + Assertions.assertEquals((byte) 33, root.getValues()[2]); + Assertions.assertEquals((byte) 78, root.getValues()[3]); + Assertions.assertEquals((byte) -127, root.getValues()[4]); + } + + @Test + public void testModelArrayByteFunc() { + final TestArrayByteFunc elem = new TestArrayByteFunc(); + elem.setValues(new byte[] { 12, -13, 33, 78, -127 }); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionByte.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals("", dataTest); + + final TestArrayByteFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayByteFunc.class, ExmlTestIntrospectionByte.NODE_NAME)); + Assertions.assertEquals(5, root.getValues().length); + Assertions.assertEquals((byte) 12, root.getValues()[0]); + Assertions.assertEquals((byte) -13, root.getValues()[1]); + Assertions.assertEquals((byte) 33, root.getValues()[2]); + Assertions.assertEquals((byte) 78, root.getValues()[3]); + Assertions.assertEquals((byte) -127, root.getValues()[4]); + } + + @Test + public void testModelArrayByteNative() { + final TestArrayByteNative elem = new TestArrayByteNative(); + elem.values = new byte[] { 12, -13, 33, 78, -127 }; + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionByte.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals("", dataTest); + + final TestArrayByteNative root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayByteNative.class, ExmlTestIntrospectionByte.NODE_NAME)); + Assertions.assertEquals(5, root.values.length); + Assertions.assertEquals((byte) 12, root.values[0]); + Assertions.assertEquals((byte) -13, root.values[1]); + Assertions.assertEquals((byte) 33, root.values[2]); + Assertions.assertEquals((byte) 78, root.values[3]); + Assertions.assertEquals((byte) -127, root.values[4]); + } + + @Test + public void testModelArrayNodeByteFunc() { + final TestArrayNodeByteFunc elem = new TestArrayNodeByteFunc(); + elem.setValues(new byte[] { 12, -13, 33, 78, -127 }); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionByte.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + 12 + -13 + 33 + 78 + -127 + """, dataTest); + + final TestArrayNodeByteFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeByteFunc.class, ExmlTestIntrospectionByte.NODE_NAME)); + Assertions.assertEquals(5, root.getValues().length); + Assertions.assertEquals((byte) 12, root.getValues()[0]); + Assertions.assertEquals((byte) -13, root.getValues()[1]); + Assertions.assertEquals((byte) 33, root.getValues()[2]); + Assertions.assertEquals((byte) 78, root.getValues()[3]); + Assertions.assertEquals((byte) -127, root.getValues()[4]); + } + + @Test + public void testModelArrayNodebyteNative() { + final TestArrayNodeByteNative elem = new TestArrayNodeByteNative(); + elem.values = new byte[] { 12, -13, 33, 78, -127 }; + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionByte.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + 12 + -13 + 33 + 78 + -127 + """, dataTest); + + final TestArrayNodeByteNative root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeByteNative.class, ExmlTestIntrospectionByte.NODE_NAME)); + Assertions.assertEquals(5, root.values.length); + Assertions.assertEquals((byte) 12, root.values[0]); + Assertions.assertEquals((byte) -13, root.values[1]); + Assertions.assertEquals((byte) 33, root.values[2]); + Assertions.assertEquals((byte) 78, root.values[3]); + Assertions.assertEquals((byte) -127, root.values[4]); + } + + @Test + public void testModelByteFunc() { + final TestbyteFunc elem = new TestbyteFunc(); + elem.setValueA((byte) -55); + elem.setValueB((byte) 57); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionByte.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals("", dataTest); + + final TestbyteFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestbyteFunc.class, ExmlTestIntrospectionByte.NODE_NAME)); + Assertions.assertEquals((byte) -55, root.getValueA()); + Assertions.assertEquals((byte) 57, root.getValueB()); + } + + @Test + public void testModelByteNative() { + final TestByteNative elem = new TestByteNative(); + elem.valueA = (byte) 12; + elem.valueB = (byte) -13; + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionByte.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals("", dataTest); + + final TestByteNative root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestByteNative.class, ExmlTestIntrospectionByte.NODE_NAME)); + Assertions.assertEquals((byte) 12, root.valueA); + Assertions.assertEquals((byte) -13, root.valueB); + } + + @Test + public void testModelNodeByteFunc() { + final TestNodebyteFunc elem = new TestNodebyteFunc(); + elem.setValueA((byte) 54); + elem.setValueB((byte) -68); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionByte.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + 54 + -68 + """, dataTest); + + final TestNodebyteFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodebyteFunc.class, ExmlTestIntrospectionByte.NODE_NAME)); + Assertions.assertEquals((byte) 54, root.getValueA()); + Assertions.assertEquals((byte) -68, root.getValueB()); + } + + @Test + public void testModelNodeByteNative() { + final TestNodeByteNative elem = new TestNodeByteNative(); + elem.valueA = (byte) 11; + elem.valueB = (byte) -120; + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionByte.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + 11 + -120 + """, dataTest); + + final TestNodeByteNative root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeByteNative.class, ExmlTestIntrospectionByte.NODE_NAME)); + Assertions.assertEquals((byte) 11, root.valueA); + Assertions.assertEquals((byte) -120, root.valueB); } } - diff --git a/test/src/test/atriasoft/exml/ExmlTestIntrospectionDecoratorAttribute.java b/test/src/test/atriasoft/exml/ExmlTestIntrospectionDecoratorAttribute.java index 5fa34d8..5e6180a 100644 --- a/test/src/test/atriasoft/exml/ExmlTestIntrospectionDecoratorAttribute.java +++ b/test/src/test/atriasoft/exml/ExmlTestIntrospectionDecoratorAttribute.java @@ -5,35 +5,24 @@ */ package test.atriasoft.exml; - +import org.atriasoft.aknot.annotation.AknotName; +import org.atriasoft.aknot.annotation.AknotAttribute; +import org.atriasoft.aknot.annotation.AknotDefaultAttribute; import org.atriasoft.exml.Exml; -import org.atriasoft.exml.annotation.XmlAttribute; -import org.atriasoft.exml.annotation.XmlDefaultAttibute; -import org.atriasoft.exml.annotation.XmlName; - import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; public class ExmlTestIntrospectionDecoratorAttribute { - static final String NODE_NAME = "elem"; - @BeforeAll - public static void beforeClass() { - Log.warning("================================================================"); - } - // ************************************************************ - // ** Attribute - // ************************************************************ - - @XmlDefaultAttibute + @AknotDefaultAttribute public class TestNodeObject { - + public int valueA; - @XmlAttribute + @AknotAttribute public int valueB; - @XmlAttribute(true) + @AknotAttribute(true) public int valueC; - @XmlAttribute(false) + @AknotAttribute(false) public int valueD; private int valueE; @@ -44,13 +33,12 @@ public class ExmlTestIntrospectionDecoratorAttribute { private int valueJ; private int valueK; - public final int finalValueM; - @XmlAttribute + @AknotAttribute public final int finalValueN; - @XmlAttribute(true) + @AknotAttribute(true) public final int finalValueO; - @XmlAttribute(false) + @AknotAttribute(false) public final int finalValueP; // special case for bijectivity with records @@ -64,13 +52,10 @@ public class ExmlTestIntrospectionDecoratorAttribute { private final int pFinalValueS; private final int pFinalValueT; - @XmlName({"finalValueM", "finalValueN", "finalValueO", "finalValueP", - "finalValueQ", "finalValueR", "finalValueS", "finalValueT", - "pFinalValueQ", "pFinalValueR", "pFinalValueS", "pFinalValueT"}) - public TestNodeObject( - final int finalValueM, final int finalValueN, final int finalValueO, final int finalValueP, - final int finalValueQ, @XmlAttribute final int finalValueR, @XmlAttribute(true) final int finalValueS, @XmlAttribute(false) final int finalValueT, - final int pFinalValueQ, final int pFinalValueR, final int pFinalValueS, final int pFinalValueT) { + @AknotName({ "finalValueM", "finalValueN", "finalValueO", "finalValueP", "finalValueQ", "finalValueR", "finalValueS", "finalValueT", "pFinalValueQ", "pFinalValueR", "pFinalValueS", + "pFinalValueT" }) + public TestNodeObject(final int finalValueM, final int finalValueN, final int finalValueO, final int finalValueP, final int finalValueQ, @AknotAttribute final int finalValueR, + @AknotAttribute(true) final int finalValueS, @AknotAttribute(false) final int finalValueT, final int pFinalValueQ, final int pFinalValueR, final int pFinalValueS, final int pFinalValueT) { this.finalValueM = finalValueM; this.finalValueN = finalValueN; this.finalValueO = finalValueO; @@ -85,78 +70,378 @@ public class ExmlTestIntrospectionDecoratorAttribute { this.pFinalValueT = pFinalValueT; } - public int getValueE() { - return this.valueE; - } - public void setValueE(final int valueE) { - this.valueE = valueE; - } - @XmlAttribute - public int getValueF() { - return this.valueF; - } - public void setValueF(final int valueF) { - this.valueF = valueF; - } - public int getValueG() { - return this.valueG; - } - @XmlAttribute - public void setValueG(final int valueG) { - this.valueG = valueG; - } - @XmlAttribute(true) - public int getValueH() { - return this.valueH; - } - public void setValueH(final int valueH) { - this.valueH = valueH; - } - public int getValueI() { - return this.valueI; - } - @XmlAttribute(true) - public void setValueI(final int valueI) { - this.valueI = valueI; - } - @XmlAttribute(false) - public int getValueJ() { - return this.valueJ; - } - public void setValueJ(final int valueJ) { - this.valueJ = valueJ; - } - public int getValueK() { - return this.valueK; - } - @XmlAttribute(false) - public void setValueK(final int valueK) { - this.valueK = valueK; - } - public int getPFinalValueQ() { return this.pFinalValueQ; } - @XmlAttribute + @AknotAttribute public int getPFinalValueR() { return this.pFinalValueR; } - - @XmlAttribute(true) + + @AknotAttribute(true) public int getPFinalValueS() { return this.pFinalValueS; } - - @XmlAttribute(false) + + @AknotAttribute(false) public int getPFinalValueT() { return this.pFinalValueT; } + public int getValueE() { + return this.valueE; + } + + @AknotAttribute + public int getValueF() { + return this.valueF; + } + + public int getValueG() { + return this.valueG; + } + + @AknotAttribute(true) + public int getValueH() { + return this.valueH; + } + + public int getValueI() { + return this.valueI; + } + + @AknotAttribute(false) + public int getValueJ() { + return this.valueJ; + } + + public int getValueK() { + return this.valueK; + } + + public void setValueE(final int valueE) { + this.valueE = valueE; + } + + public void setValueF(final int valueF) { + this.valueF = valueF; + } + + @AknotAttribute + public void setValueG(final int valueG) { + this.valueG = valueG; + } + + public void setValueH(final int valueH) { + this.valueH = valueH; + } + + @AknotAttribute(true) + public void setValueI(final int valueI) { + this.valueI = valueI; + } + + public void setValueJ(final int valueJ) { + this.valueJ = valueJ; + } + + @AknotAttribute(false) + public void setValueK(final int valueK) { + this.valueK = valueK; + } + } + + @AknotDefaultAttribute(false) + public class TestNodeObjectFalse { + public int valueA; + @AknotAttribute + public int valueB; + @AknotAttribute(true) + public int valueC; + @AknotAttribute(false) + public int valueD; + + private int valueE; + private int valueF; + private int valueG; + private int valueH; + private int valueI; + private int valueJ; + private int valueK; + + public final int finalValueM; + @AknotAttribute + public final int finalValueN; + @AknotAttribute(true) + public final int finalValueO; + @AknotAttribute(false) + public final int finalValueP; + + // special case for bijectivity with records + public final int finalValueQ; + public final int finalValueR; + public final int finalValueS; + public final int finalValueT; + + private final int pFinalValueQ; + private final int pFinalValueR; + private final int pFinalValueS; + private final int pFinalValueT; + + @AknotName({ "finalValueM", "finalValueN", "finalValueO", "finalValueP", "finalValueQ", "finalValueR", "finalValueS", "finalValueT", "pFinalValueQ", "pFinalValueR", "pFinalValueS", + "pFinalValueT" }) + public TestNodeObjectFalse(final int finalValueM, final int finalValueN, final int finalValueO, final int finalValueP, final int finalValueQ, @AknotAttribute final int finalValueR, + @AknotAttribute(true) final int finalValueS, @AknotAttribute(false) final int finalValueT, final int pFinalValueQ, final int pFinalValueR, final int pFinalValueS, final int pFinalValueT) { + this.finalValueM = finalValueM; + this.finalValueN = finalValueN; + this.finalValueO = finalValueO; + this.finalValueP = finalValueP; + this.finalValueQ = finalValueQ; + this.finalValueR = finalValueR; + this.finalValueS = finalValueS; + this.finalValueT = finalValueT; + this.pFinalValueQ = pFinalValueQ; + this.pFinalValueR = pFinalValueR; + this.pFinalValueS = pFinalValueS; + this.pFinalValueT = pFinalValueT; + } + + public int getPFinalValueQ() { + return this.pFinalValueQ; + } + + @AknotAttribute + public int getPFinalValueR() { + return this.pFinalValueR; + } + + @AknotAttribute(true) + public int getPFinalValueS() { + return this.pFinalValueS; + } + + @AknotAttribute(false) + public int getPFinalValueT() { + return this.pFinalValueT; + } + + public int getValueE() { + return this.valueE; + } + + @AknotAttribute + public int getValueF() { + return this.valueF; + } + + public int getValueG() { + return this.valueG; + } + + @AknotAttribute(true) + public int getValueH() { + return this.valueH; + } + + public int getValueI() { + return this.valueI; + } + + @AknotAttribute(false) + public int getValueJ() { + return this.valueJ; + } + + public int getValueK() { + return this.valueK; + } + + public void setValueE(final int valueE) { + this.valueE = valueE; + } + + public void setValueF(final int valueF) { + this.valueF = valueF; + } + + @AknotAttribute + public void setValueG(final int valueG) { + this.valueG = valueG; + } + + public void setValueH(final int valueH) { + this.valueH = valueH; + } + + @AknotAttribute(true) + public void setValueI(final int valueI) { + this.valueI = valueI; + } + + public void setValueJ(final int valueJ) { + this.valueJ = valueJ; + } + + @AknotAttribute(false) + public void setValueK(final int valueK) { + this.valueK = valueK; + } + + } + + @AknotDefaultAttribute(true) + public class TestNodeObjectTrue { + public int valueA; + @AknotAttribute + public int valueB; + @AknotAttribute(true) + public int valueC; + @AknotAttribute(false) + public int valueD; + + private int valueE; + private int valueF; + private int valueG; + private int valueH; + private int valueI; + private int valueJ; + private int valueK; + + public final int finalValueM; + @AknotAttribute + public final int finalValueN; + @AknotAttribute(true) + public final int finalValueO; + @AknotAttribute(false) + public final int finalValueP; + + // special case for bijectivity with records + public final int finalValueQ; + public final int finalValueR; + public final int finalValueS; + public final int finalValueT; + + private final int pFinalValueQ; + private final int pFinalValueR; + private final int pFinalValueS; + private final int pFinalValueT; + + @AknotName({ "finalValueM", "finalValueN", "finalValueO", "finalValueP", "finalValueQ", "finalValueR", "finalValueS", "finalValueT", "pFinalValueQ", "pFinalValueR", "pFinalValueS", + "pFinalValueT" }) + public TestNodeObjectTrue(final int finalValueM, final int finalValueN, final int finalValueO, final int finalValueP, final int finalValueQ, @AknotAttribute final int finalValueR, + @AknotAttribute(true) final int finalValueS, @AknotAttribute(false) final int finalValueT, final int pFinalValueQ, final int pFinalValueR, final int pFinalValueS, final int pFinalValueT) { + this.finalValueM = finalValueM; + this.finalValueN = finalValueN; + this.finalValueO = finalValueO; + this.finalValueP = finalValueP; + this.finalValueQ = finalValueQ; + this.finalValueR = finalValueR; + this.finalValueS = finalValueS; + this.finalValueT = finalValueT; + this.pFinalValueQ = pFinalValueQ; + this.pFinalValueR = pFinalValueR; + this.pFinalValueS = pFinalValueS; + this.pFinalValueT = pFinalValueT; + } + + public int getPFinalValueQ() { + return this.pFinalValueQ; + } + + @AknotAttribute + public int getPFinalValueR() { + return this.pFinalValueR; + } + + @AknotAttribute(true) + public int getPFinalValueS() { + return this.pFinalValueS; + } + + @AknotAttribute(false) + public int getPFinalValueT() { + return this.pFinalValueT; + } + + public int getValueE() { + return this.valueE; + } + + @AknotAttribute + public int getValueF() { + return this.valueF; + } + + public int getValueG() { + return this.valueG; + } + + @AknotAttribute(true) + public int getValueH() { + return this.valueH; + } + + public int getValueI() { + return this.valueI; + } + + @AknotAttribute(false) + public int getValueJ() { + return this.valueJ; + } + + public int getValueK() { + return this.valueK; + } + + public void setValueE(final int valueE) { + this.valueE = valueE; + } + + public void setValueF(final int valueF) { + this.valueF = valueF; + } + + @AknotAttribute + public void setValueG(final int valueG) { + this.valueG = valueG; + } + + public void setValueH(final int valueH) { + this.valueH = valueH; + } + + @AknotAttribute(true) + public void setValueI(final int valueI) { + this.valueI = valueI; + } + + public void setValueJ(final int valueJ) { + this.valueJ = valueJ; + } + + @AknotAttribute(false) + public void setValueK(final int valueK) { + this.valueK = valueK; + } + + } + + static final String NODE_NAME = "elem"; + + @BeforeAll + public static void beforeClass() { + Log.warning("================================================================"); + } + + // ************************************************************ + // ** Attribute + // ************************************************************ @Test - public void testDefaultAttribute() { - TestNodeObject elem = new TestNodeObject(321,654,987,159,267,264,1524,182445, -552, -965, -98885, -8754); + public void testDefaultAttribute() { + final TestNodeObject elem = new TestNodeObject(321, 654, 987, 159, 267, 264, 1524, 182445, -552, -965, -98885, -8754); elem.valueA = 55; elem.valueB = 78; elem.valueC = 51; @@ -169,19 +454,22 @@ public class ExmlTestIntrospectionDecoratorAttribute { elem.setValueJ(8247); elem.setValueK(885522); - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionObject.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + dataTest); - Assertions.assertEquals("\n" - + " 159\n" - + " 182445\n" - + " -8754\n" - + " 24\n" - + " 8247\n" - + " 885522\n" - + "", dataTest); - + Assertions.assertEquals( + """ + + 159 + 182445 + -8754 + 24 + 8247 + 885522 + """, + dataTest); + final TestNodeObject root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeObject.class, ExmlTestIntrospectionObject.NODE_NAME)); Assertions.assertEquals(55, root.valueA); Assertions.assertEquals(78, root.valueB); @@ -208,138 +496,9 @@ public class ExmlTestIntrospectionDecoratorAttribute { Assertions.assertEquals(-8754, root.getPFinalValueT()); } - @XmlDefaultAttibute(true) - public class TestNodeObjectTrue { - public int valueA; - @XmlAttribute - public int valueB; - @XmlAttribute(true) - public int valueC; - @XmlAttribute(false) - public int valueD; - - private int valueE; - private int valueF; - private int valueG; - private int valueH; - private int valueI; - private int valueJ; - private int valueK; - - - public final int finalValueM; - @XmlAttribute - public final int finalValueN; - @XmlAttribute(true) - public final int finalValueO; - @XmlAttribute(false) - public final int finalValueP; - - // special case for bijectivity with records - public final int finalValueQ; - public final int finalValueR; - public final int finalValueS; - public final int finalValueT; - - private final int pFinalValueQ; - private final int pFinalValueR; - private final int pFinalValueS; - private final int pFinalValueT; - - @XmlName({"finalValueM", "finalValueN", "finalValueO", "finalValueP", - "finalValueQ", "finalValueR", "finalValueS", "finalValueT", - "pFinalValueQ", "pFinalValueR", "pFinalValueS", "pFinalValueT"}) - public TestNodeObjectTrue( - final int finalValueM, final int finalValueN, final int finalValueO, final int finalValueP, - final int finalValueQ, @XmlAttribute final int finalValueR, @XmlAttribute(true) final int finalValueS, @XmlAttribute(false) final int finalValueT, - final int pFinalValueQ, final int pFinalValueR, final int pFinalValueS, final int pFinalValueT) { - this.finalValueM = finalValueM; - this.finalValueN = finalValueN; - this.finalValueO = finalValueO; - this.finalValueP = finalValueP; - this.finalValueQ = finalValueQ; - this.finalValueR = finalValueR; - this.finalValueS = finalValueS; - this.finalValueT = finalValueT; - this.pFinalValueQ = pFinalValueQ; - this.pFinalValueR = pFinalValueR; - this.pFinalValueS = pFinalValueS; - this.pFinalValueT = pFinalValueT; - } - - public int getValueE() { - return this.valueE; - } - public void setValueE(final int valueE) { - this.valueE = valueE; - } - @XmlAttribute - public int getValueF() { - return this.valueF; - } - public void setValueF(final int valueF) { - this.valueF = valueF; - } - public int getValueG() { - return this.valueG; - } - @XmlAttribute - public void setValueG(final int valueG) { - this.valueG = valueG; - } - @XmlAttribute(true) - public int getValueH() { - return this.valueH; - } - public void setValueH(final int valueH) { - this.valueH = valueH; - } - public int getValueI() { - return this.valueI; - } - @XmlAttribute(true) - public void setValueI(final int valueI) { - this.valueI = valueI; - } - @XmlAttribute(false) - public int getValueJ() { - return this.valueJ; - } - public void setValueJ(final int valueJ) { - this.valueJ = valueJ; - } - public int getValueK() { - return this.valueK; - } - @XmlAttribute(false) - public void setValueK(final int valueK) { - this.valueK = valueK; - } - - public int getPFinalValueQ() { - return this.pFinalValueQ; - } - - @XmlAttribute - public int getPFinalValueR() { - return this.pFinalValueR; - } - - @XmlAttribute(true) - public int getPFinalValueS() { - return this.pFinalValueS; - } - - @XmlAttribute(false) - public int getPFinalValueT() { - return this.pFinalValueT; - } - - - } @Test - public void testDefaultAttributeTrue() { - TestNodeObjectTrue elem = new TestNodeObjectTrue(321,654,987,159,267,264,1524,182445, -552, -965, -98885, -8754); + public void testDefaultAttributeFalse() { + final TestNodeObjectFalse elem = new TestNodeObjectFalse(321, 654, 987, 159, 267, 264, 1524, 182445, -552, -965, -98885, -8754); elem.valueA = 55; elem.valueB = 78; elem.valueC = 51; @@ -352,206 +511,27 @@ public class ExmlTestIntrospectionDecoratorAttribute { elem.setValueJ(8247); elem.setValueK(885522); - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionObject.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 159\n" - + " 182445\n" - + " -8754\n" - + " 24\n" - + " 8247\n" - + " 885522\n" - + "", dataTest); - - final TestNodeObjectTrue root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeObjectTrue.class, ExmlTestIntrospectionObject.NODE_NAME)); - Assertions.assertEquals(55, root.valueA); - Assertions.assertEquals(78, root.valueB); - Assertions.assertEquals(51, root.valueC); - Assertions.assertEquals(24, root.valueD); - Assertions.assertEquals(651, root.getValueE()); - Assertions.assertEquals(654, root.getValueF()); - Assertions.assertEquals(8552, root.getValueG()); - Assertions.assertEquals(9531, root.getValueH()); - Assertions.assertEquals(87465, root.getValueI()); - Assertions.assertEquals(8247, root.getValueJ()); - Assertions.assertEquals(885522, root.getValueK()); - Assertions.assertEquals(321, root.finalValueM); - Assertions.assertEquals(654, root.finalValueN); - Assertions.assertEquals(987, root.finalValueO); - Assertions.assertEquals(159, root.finalValueP); - Assertions.assertEquals(267, root.finalValueQ); - Assertions.assertEquals(264, root.finalValueR); - Assertions.assertEquals(1524, root.finalValueS); - Assertions.assertEquals(182445, root.finalValueT); - Assertions.assertEquals(-552, root.getPFinalValueQ()); - Assertions.assertEquals(-965, root.getPFinalValueR()); - Assertions.assertEquals(-98885, root.getPFinalValueS()); - Assertions.assertEquals(-8754, root.getPFinalValueT()); - } - - @XmlDefaultAttibute(false) - public class TestNodeObjectFalse { - public int valueA; - @XmlAttribute - public int valueB; - @XmlAttribute(true) - public int valueC; - @XmlAttribute(false) - public int valueD; + Assertions.assertEquals( + """ + + 321 + 159 + 267 + 182445 + -552 + -8754 + 55 + 24 + 651 + 8247 + 885522 + """, + dataTest); - private int valueE; - private int valueF; - private int valueG; - private int valueH; - private int valueI; - private int valueJ; - private int valueK; - - public final int finalValueM; - @XmlAttribute - public final int finalValueN; - @XmlAttribute(true) - public final int finalValueO; - @XmlAttribute(false) - public final int finalValueP; - - // special case for bijectivity with records - public final int finalValueQ; - public final int finalValueR; - public final int finalValueS; - public final int finalValueT; - - private final int pFinalValueQ; - private final int pFinalValueR; - private final int pFinalValueS; - private final int pFinalValueT; - - @XmlName({"finalValueM", "finalValueN", "finalValueO", "finalValueP", - "finalValueQ", "finalValueR", "finalValueS", "finalValueT", - "pFinalValueQ", "pFinalValueR", "pFinalValueS", "pFinalValueT"}) - public TestNodeObjectFalse( - final int finalValueM, final int finalValueN, final int finalValueO, final int finalValueP, - final int finalValueQ, @XmlAttribute final int finalValueR, @XmlAttribute(true) final int finalValueS, @XmlAttribute(false) final int finalValueT, - final int pFinalValueQ, final int pFinalValueR, final int pFinalValueS, final int pFinalValueT) { - this.finalValueM = finalValueM; - this.finalValueN = finalValueN; - this.finalValueO = finalValueO; - this.finalValueP = finalValueP; - this.finalValueQ = finalValueQ; - this.finalValueR = finalValueR; - this.finalValueS = finalValueS; - this.finalValueT = finalValueT; - this.pFinalValueQ = pFinalValueQ; - this.pFinalValueR = pFinalValueR; - this.pFinalValueS = pFinalValueS; - this.pFinalValueT = pFinalValueT; - } - - public int getValueE() { - return this.valueE; - } - public void setValueE(final int valueE) { - this.valueE = valueE; - } - @XmlAttribute - public int getValueF() { - return this.valueF; - } - public void setValueF(final int valueF) { - this.valueF = valueF; - } - public int getValueG() { - return this.valueG; - } - @XmlAttribute - public void setValueG(final int valueG) { - this.valueG = valueG; - } - @XmlAttribute(true) - public int getValueH() { - return this.valueH; - } - public void setValueH(final int valueH) { - this.valueH = valueH; - } - public int getValueI() { - return this.valueI; - } - @XmlAttribute(true) - public void setValueI(final int valueI) { - this.valueI = valueI; - } - @XmlAttribute(false) - public int getValueJ() { - return this.valueJ; - } - public void setValueJ(final int valueJ) { - this.valueJ = valueJ; - } - public int getValueK() { - return this.valueK; - } - @XmlAttribute(false) - public void setValueK(final int valueK) { - this.valueK = valueK; - } - - - public int getPFinalValueQ() { - return this.pFinalValueQ; - } - - @XmlAttribute - public int getPFinalValueR() { - return this.pFinalValueR; - } - - @XmlAttribute(true) - public int getPFinalValueS() { - return this.pFinalValueS; - } - - @XmlAttribute(false) - public int getPFinalValueT() { - return this.pFinalValueT; - } - - } - @Test - public void testDefaultAttributeFalse() { - TestNodeObjectFalse elem = new TestNodeObjectFalse(321,654,987,159,267,264,1524,182445, -552, -965, -98885, -8754); - elem.valueA = 55; - elem.valueB = 78; - elem.valueC = 51; - elem.valueD = 24; - elem.setValueE(651); - elem.setValueF(654); - elem.setValueG(8552); - elem.setValueH(9531); - elem.setValueI(87465); - elem.setValueJ(8247); - elem.setValueK(885522); - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionObject.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 321\n" - + " 159\n" - + " 267\n" - + " 182445\n" - + " -552\n" - + " -8754\n" - + " 55\n" - + " 24\n" - + " 651\n" - + " 8247\n" - + " 885522\n" - + "", dataTest); - final TestNodeObjectFalse root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeObjectFalse.class, ExmlTestIntrospectionObject.NODE_NAME)); Assertions.assertEquals(55, root.valueA); Assertions.assertEquals(78, root.valueB); @@ -578,5 +558,61 @@ public class ExmlTestIntrospectionDecoratorAttribute { Assertions.assertEquals(-8754, root.getPFinalValueT()); } + @Test + public void testDefaultAttributeTrue() { + final TestNodeObjectTrue elem = new TestNodeObjectTrue(321, 654, 987, 159, 267, 264, 1524, 182445, -552, -965, -98885, -8754); + elem.valueA = 55; + elem.valueB = 78; + elem.valueC = 51; + elem.valueD = 24; + elem.setValueE(651); + elem.setValueF(654); + elem.setValueG(8552); + elem.setValueH(9531); + elem.setValueI(87465); + elem.setValueJ(8247); + elem.setValueK(885522); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionObject.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals( + """ + + 159 + 182445 + -8754 + 24 + 8247 + 885522 + """, + dataTest); + + final TestNodeObjectTrue root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeObjectTrue.class, ExmlTestIntrospectionObject.NODE_NAME)); + Assertions.assertEquals(55, root.valueA); + Assertions.assertEquals(78, root.valueB); + Assertions.assertEquals(51, root.valueC); + Assertions.assertEquals(24, root.valueD); + Assertions.assertEquals(651, root.getValueE()); + Assertions.assertEquals(654, root.getValueF()); + Assertions.assertEquals(8552, root.getValueG()); + Assertions.assertEquals(9531, root.getValueH()); + Assertions.assertEquals(87465, root.getValueI()); + Assertions.assertEquals(8247, root.getValueJ()); + Assertions.assertEquals(885522, root.getValueK()); + Assertions.assertEquals(321, root.finalValueM); + Assertions.assertEquals(654, root.finalValueN); + Assertions.assertEquals(987, root.finalValueO); + Assertions.assertEquals(159, root.finalValueP); + Assertions.assertEquals(267, root.finalValueQ); + Assertions.assertEquals(264, root.finalValueR); + Assertions.assertEquals(1524, root.finalValueS); + Assertions.assertEquals(182445, root.finalValueT); + Assertions.assertEquals(-552, root.getPFinalValueQ()); + Assertions.assertEquals(-965, root.getPFinalValueR()); + Assertions.assertEquals(-98885, root.getPFinalValueS()); + Assertions.assertEquals(-8754, root.getPFinalValueT()); + } + } - diff --git a/test/src/test/atriasoft/exml/ExmlTestIntrospectionDecoratorCaseSensitive.java b/test/src/test/atriasoft/exml/ExmlTestIntrospectionDecoratorCaseSensitive.java index 8496346..c23ed4f 100644 --- a/test/src/test/atriasoft/exml/ExmlTestIntrospectionDecoratorCaseSensitive.java +++ b/test/src/test/atriasoft/exml/ExmlTestIntrospectionDecoratorCaseSensitive.java @@ -5,38 +5,28 @@ */ package test.atriasoft.exml; - +import org.atriasoft.aknot.annotation.AknotCaseSensitive; +import org.atriasoft.aknot.annotation.AknotDefaultCaseSensitive; +import org.atriasoft.aknot.annotation.AknotName; +import org.atriasoft.aknot.annotation.AknotDefaultAttribute; import org.atriasoft.exml.Exml; -import org.atriasoft.exml.annotation.XmlCaseSensitive; -import org.atriasoft.exml.annotation.XmlDefaultAttibute; -import org.atriasoft.exml.annotation.XmlDefaultCaseSensitive; -import org.atriasoft.exml.annotation.XmlName; import org.atriasoft.exml.exception.ExmlAttributeDoesNotExist; import org.atriasoft.exml.exception.ExmlNodeDoesNotExist; - import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; public class ExmlTestIntrospectionDecoratorCaseSensitive { - static final String NODE_NAME = "elem"; - @BeforeAll - public static void beforeClass() { - Log.warning("================================================================"); - } - // ************************************************************ - // ** CaseSensitive - // ************************************************************ - - @XmlDefaultCaseSensitive - public class TestNodeObject { - + @AknotDefaultCaseSensitive + @AknotDefaultAttribute + public class TestAttributeObject { + public int valueA; - @XmlCaseSensitive + @AknotCaseSensitive public int valueB; - @XmlCaseSensitive(true) + @AknotCaseSensitive(true) public int valueC; - @XmlCaseSensitive(false) + @AknotCaseSensitive(false) public int valueD; private int valueE; @@ -47,13 +37,12 @@ public class ExmlTestIntrospectionDecoratorCaseSensitive { private int valueJ; private int valueK; - public final int finalValueM; - @XmlCaseSensitive + @AknotCaseSensitive public final int finalValueN; - @XmlCaseSensitive(true) + @AknotCaseSensitive(true) public final int finalValueO; - @XmlCaseSensitive(false) + @AknotCaseSensitive(false) public final int finalValueP; // special case for bijectivity with records @@ -67,13 +56,11 @@ public class ExmlTestIntrospectionDecoratorCaseSensitive { private final int pFinalValueS; private final int pFinalValueT; - @XmlName({"finalValueM", "finalValueN", "finalValueO", "finalValueP", - "finalValueQ", "finalValueR", "finalValueS", "finalValueT", - "pFinalValueQ", "pFinalValueR", "pFinalValueS", "pFinalValueT"}) - public TestNodeObject( - final int finalValueM, final int finalValueN, final int finalValueO, final int finalValueP, - final int finalValueQ, @XmlCaseSensitive final int finalValueR, @XmlCaseSensitive(true) final int finalValueS, @XmlCaseSensitive(false) final int finalValueT, - final int pFinalValueQ, final int pFinalValueR, final int pFinalValueS, final int pFinalValueT) { + @AknotName({ "finalValueM", "finalValueN", "finalValueO", "finalValueP", "finalValueQ", "finalValueR", "finalValueS", "finalValueT", "pFinalValueQ", "pFinalValueR", "pFinalValueS", + "pFinalValueT" }) + public TestAttributeObject(final int finalValueM, final int finalValueN, final int finalValueO, final int finalValueP, final int finalValueQ, @AknotCaseSensitive final int finalValueR, + @AknotCaseSensitive(true) final int finalValueS, @AknotCaseSensitive(false) final int finalValueT, final int pFinalValueQ, final int pFinalValueR, final int pFinalValueS, + final int pFinalValueT) { this.finalValueM = finalValueM; this.finalValueN = finalValueN; this.finalValueO = finalValueO; @@ -88,78 +75,800 @@ public class ExmlTestIntrospectionDecoratorCaseSensitive { this.pFinalValueT = pFinalValueT; } - public int getValueE() { - return this.valueE; - } - public void setValueE(final int valueE) { - this.valueE = valueE; - } - @XmlCaseSensitive - public int getValueF() { - return this.valueF; - } - public void setValueF(final int valueF) { - this.valueF = valueF; - } - public int getValueG() { - return this.valueG; - } - @XmlCaseSensitive - public void setValueG(final int valueG) { - this.valueG = valueG; - } - @XmlCaseSensitive(true) - public int getValueH() { - return this.valueH; - } - public void setValueH(final int valueH) { - this.valueH = valueH; - } - public int getValueI() { - return this.valueI; - } - @XmlCaseSensitive(true) - public void setValueI(final int valueI) { - this.valueI = valueI; - } - @XmlCaseSensitive(false) - public int getValueJ() { - return this.valueJ; - } - public void setValueJ(final int valueJ) { - this.valueJ = valueJ; - } - public int getValueK() { - return this.valueK; - } - @XmlCaseSensitive(false) - public void setValueK(final int valueK) { - this.valueK = valueK; - } - public int getPFinalValueQ() { return this.pFinalValueQ; } - @XmlCaseSensitive + @AknotCaseSensitive public int getPFinalValueR() { return this.pFinalValueR; } - - @XmlCaseSensitive(true) + + @AknotCaseSensitive(true) public int getPFinalValueS() { return this.pFinalValueS; } - - @XmlCaseSensitive(false) + + @AknotCaseSensitive(false) public int getPFinalValueT() { return this.pFinalValueT; } + public int getValueE() { + return this.valueE; + } + + @AknotCaseSensitive + public int getValueF() { + return this.valueF; + } + + public int getValueG() { + return this.valueG; + } + + @AknotCaseSensitive(true) + public int getValueH() { + return this.valueH; + } + + public int getValueI() { + return this.valueI; + } + + @AknotCaseSensitive(false) + public int getValueJ() { + return this.valueJ; + } + + public int getValueK() { + return this.valueK; + } + + public void setValueE(final int valueE) { + this.valueE = valueE; + } + + public void setValueF(final int valueF) { + this.valueF = valueF; + } + + @AknotCaseSensitive + public void setValueG(final int valueG) { + this.valueG = valueG; + } + + public void setValueH(final int valueH) { + this.valueH = valueH; + } + + @AknotCaseSensitive(true) + public void setValueI(final int valueI) { + this.valueI = valueI; + } + + public void setValueJ(final int valueJ) { + this.valueJ = valueJ; + } + + @AknotCaseSensitive(false) + public void setValueK(final int valueK) { + this.valueK = valueK; + } + } + + @AknotDefaultCaseSensitive(false) + @AknotDefaultAttribute + public class TestAttributeObjectFalse { + public int valueA; + @AknotCaseSensitive + public int valueB; + @AknotCaseSensitive(true) + public int valueC; + @AknotCaseSensitive(false) + public int valueD; + + private int valueE; + private int valueF; + private int valueG; + private int valueH; + private int valueI; + private int valueJ; + private int valueK; + + public final int finalValueM; + @AknotCaseSensitive + public final int finalValueN; + @AknotCaseSensitive(true) + public final int finalValueO; + @AknotCaseSensitive(false) + public final int finalValueP; + + // special case for bijectivity with records + public final int finalValueQ; + public final int finalValueR; + public final int finalValueS; + public final int finalValueT; + + private final int pFinalValueQ; + private final int pFinalValueR; + private final int pFinalValueS; + private final int pFinalValueT; + + @AknotName({ "finalValueM", "finalValueN", "finalValueO", "finalValueP", "finalValueQ", "finalValueR", "finalValueS", "finalValueT", "pFinalValueQ", "pFinalValueR", "pFinalValueS", + "pFinalValueT" }) + public TestAttributeObjectFalse(final int finalValueM, final int finalValueN, final int finalValueO, final int finalValueP, final int finalValueQ, @AknotCaseSensitive final int finalValueR, + @AknotCaseSensitive(true) final int finalValueS, @AknotCaseSensitive(false) final int finalValueT, final int pFinalValueQ, final int pFinalValueR, final int pFinalValueS, + final int pFinalValueT) { + this.finalValueM = finalValueM; + this.finalValueN = finalValueN; + this.finalValueO = finalValueO; + this.finalValueP = finalValueP; + this.finalValueQ = finalValueQ; + this.finalValueR = finalValueR; + this.finalValueS = finalValueS; + this.finalValueT = finalValueT; + this.pFinalValueQ = pFinalValueQ; + this.pFinalValueR = pFinalValueR; + this.pFinalValueS = pFinalValueS; + this.pFinalValueT = pFinalValueT; + } + + public int getPFinalValueQ() { + return this.pFinalValueQ; + } + + @AknotCaseSensitive + public int getPFinalValueR() { + return this.pFinalValueR; + } + + @AknotCaseSensitive(true) + public int getPFinalValueS() { + return this.pFinalValueS; + } + + @AknotCaseSensitive(false) + public int getPFinalValueT() { + return this.pFinalValueT; + } + + public int getValueE() { + return this.valueE; + } + + @AknotCaseSensitive + public int getValueF() { + return this.valueF; + } + + public int getValueG() { + return this.valueG; + } + + @AknotCaseSensitive(true) + public int getValueH() { + return this.valueH; + } + + public int getValueI() { + return this.valueI; + } + + @AknotCaseSensitive(false) + public int getValueJ() { + return this.valueJ; + } + + public int getValueK() { + return this.valueK; + } + + public void setValueE(final int valueE) { + this.valueE = valueE; + } + + public void setValueF(final int valueF) { + this.valueF = valueF; + } + + @AknotCaseSensitive + public void setValueG(final int valueG) { + this.valueG = valueG; + } + + public void setValueH(final int valueH) { + this.valueH = valueH; + } + + @AknotCaseSensitive(true) + public void setValueI(final int valueI) { + this.valueI = valueI; + } + + public void setValueJ(final int valueJ) { + this.valueJ = valueJ; + } + + @AknotCaseSensitive(false) + public void setValueK(final int valueK) { + this.valueK = valueK; + } + + } + + @AknotDefaultCaseSensitive(true) + @AknotDefaultAttribute + public class TestAttributeObjectTrue { + public int valueA; + @AknotCaseSensitive + public int valueB; + @AknotCaseSensitive(true) + public int valueC; + @AknotCaseSensitive(false) + public int valueD; + + private int valueE; + private int valueF; + private int valueG; + private int valueH; + private int valueI; + private int valueJ; + private int valueK; + + public final int finalValueM; + @AknotCaseSensitive + public final int finalValueN; + @AknotCaseSensitive(true) + public final int finalValueO; + @AknotCaseSensitive(false) + public final int finalValueP; + + // special case for bijectivity with records + public final int finalValueQ; + public final int finalValueR; + public final int finalValueS; + public final int finalValueT; + + private final int pFinalValueQ; + private final int pFinalValueR; + private final int pFinalValueS; + private final int pFinalValueT; + + @AknotName({ "finalValueM", "finalValueN", "finalValueO", "finalValueP", "finalValueQ", "finalValueR", "finalValueS", "finalValueT", "pFinalValueQ", "pFinalValueR", "pFinalValueS", + "pFinalValueT" }) + public TestAttributeObjectTrue(final int finalValueM, final int finalValueN, final int finalValueO, final int finalValueP, final int finalValueQ, @AknotCaseSensitive final int finalValueR, + @AknotCaseSensitive(true) final int finalValueS, @AknotCaseSensitive(false) final int finalValueT, final int pFinalValueQ, final int pFinalValueR, final int pFinalValueS, + final int pFinalValueT) { + this.finalValueM = finalValueM; + this.finalValueN = finalValueN; + this.finalValueO = finalValueO; + this.finalValueP = finalValueP; + this.finalValueQ = finalValueQ; + this.finalValueR = finalValueR; + this.finalValueS = finalValueS; + this.finalValueT = finalValueT; + this.pFinalValueQ = pFinalValueQ; + this.pFinalValueR = pFinalValueR; + this.pFinalValueS = pFinalValueS; + this.pFinalValueT = pFinalValueT; + } + + public int getPFinalValueQ() { + return this.pFinalValueQ; + } + + @AknotCaseSensitive + public int getPFinalValueR() { + return this.pFinalValueR; + } + + @AknotCaseSensitive(true) + public int getPFinalValueS() { + return this.pFinalValueS; + } + + @AknotCaseSensitive(false) + public int getPFinalValueT() { + return this.pFinalValueT; + } + + public int getValueE() { + return this.valueE; + } + + @AknotCaseSensitive + public int getValueF() { + return this.valueF; + } + + public int getValueG() { + return this.valueG; + } + + @AknotCaseSensitive(true) + public int getValueH() { + return this.valueH; + } + + public int getValueI() { + return this.valueI; + } + + @AknotCaseSensitive(false) + public int getValueJ() { + return this.valueJ; + } + + public int getValueK() { + return this.valueK; + } + + public void setValueE(final int valueE) { + this.valueE = valueE; + } + + public void setValueF(final int valueF) { + this.valueF = valueF; + } + + @AknotCaseSensitive + public void setValueG(final int valueG) { + this.valueG = valueG; + } + + public void setValueH(final int valueH) { + this.valueH = valueH; + } + + @AknotCaseSensitive(true) + public void setValueI(final int valueI) { + this.valueI = valueI; + } + + public void setValueJ(final int valueJ) { + this.valueJ = valueJ; + } + + @AknotCaseSensitive(false) + public void setValueK(final int valueK) { + this.valueK = valueK; + } + + } + + @AknotDefaultCaseSensitive + public class TestNodeObject { + + public int valueA; + @AknotCaseSensitive + public int valueB; + @AknotCaseSensitive(true) + public int valueC; + @AknotCaseSensitive(false) + public int valueD; + + private int valueE; + private int valueF; + private int valueG; + private int valueH; + private int valueI; + private int valueJ; + private int valueK; + + public final int finalValueM; + @AknotCaseSensitive + public final int finalValueN; + @AknotCaseSensitive(true) + public final int finalValueO; + @AknotCaseSensitive(false) + public final int finalValueP; + + // special case for bijectivity with records + public final int finalValueQ; + public final int finalValueR; + public final int finalValueS; + public final int finalValueT; + + private final int pFinalValueQ; + private final int pFinalValueR; + private final int pFinalValueS; + private final int pFinalValueT; + + @AknotName({ "finalValueM", "finalValueN", "finalValueO", "finalValueP", "finalValueQ", "finalValueR", "finalValueS", "finalValueT", "pFinalValueQ", "pFinalValueR", "pFinalValueS", + "pFinalValueT" }) + public TestNodeObject(final int finalValueM, final int finalValueN, final int finalValueO, final int finalValueP, final int finalValueQ, @AknotCaseSensitive final int finalValueR, + @AknotCaseSensitive(true) final int finalValueS, @AknotCaseSensitive(false) final int finalValueT, final int pFinalValueQ, final int pFinalValueR, final int pFinalValueS, + final int pFinalValueT) { + this.finalValueM = finalValueM; + this.finalValueN = finalValueN; + this.finalValueO = finalValueO; + this.finalValueP = finalValueP; + this.finalValueQ = finalValueQ; + this.finalValueR = finalValueR; + this.finalValueS = finalValueS; + this.finalValueT = finalValueT; + this.pFinalValueQ = pFinalValueQ; + this.pFinalValueR = pFinalValueR; + this.pFinalValueS = pFinalValueS; + this.pFinalValueT = pFinalValueT; + } + + public int getPFinalValueQ() { + return this.pFinalValueQ; + } + + @AknotCaseSensitive + public int getPFinalValueR() { + return this.pFinalValueR; + } + + @AknotCaseSensitive(true) + public int getPFinalValueS() { + return this.pFinalValueS; + } + + @AknotCaseSensitive(false) + public int getPFinalValueT() { + return this.pFinalValueT; + } + + public int getValueE() { + return this.valueE; + } + + @AknotCaseSensitive + public int getValueF() { + return this.valueF; + } + + public int getValueG() { + return this.valueG; + } + + @AknotCaseSensitive(true) + public int getValueH() { + return this.valueH; + } + + public int getValueI() { + return this.valueI; + } + + @AknotCaseSensitive(false) + public int getValueJ() { + return this.valueJ; + } + + public int getValueK() { + return this.valueK; + } + + public void setValueE(final int valueE) { + this.valueE = valueE; + } + + public void setValueF(final int valueF) { + this.valueF = valueF; + } + + @AknotCaseSensitive + public void setValueG(final int valueG) { + this.valueG = valueG; + } + + public void setValueH(final int valueH) { + this.valueH = valueH; + } + + @AknotCaseSensitive(true) + public void setValueI(final int valueI) { + this.valueI = valueI; + } + + public void setValueJ(final int valueJ) { + this.valueJ = valueJ; + } + + @AknotCaseSensitive(false) + public void setValueK(final int valueK) { + this.valueK = valueK; + } + + } + + @AknotDefaultCaseSensitive(false) + public class TestNodeObjectFalse { + public int valueA; + @AknotCaseSensitive + public int valueB; + @AknotCaseSensitive(true) + public int valueC; + @AknotCaseSensitive(false) + public int valueD; + + private int valueE; + private int valueF; + private int valueG; + private int valueH; + private int valueI; + private int valueJ; + private int valueK; + + public final int finalValueM; + @AknotCaseSensitive + public final int finalValueN; + @AknotCaseSensitive(true) + public final int finalValueO; + @AknotCaseSensitive(false) + public final int finalValueP; + + // special case for bijectivity with records + public final int finalValueQ; + public final int finalValueR; + public final int finalValueS; + public final int finalValueT; + + private final int pFinalValueQ; + private final int pFinalValueR; + private final int pFinalValueS; + private final int pFinalValueT; + + @AknotName({ "finalValueM", "finalValueN", "finalValueO", "finalValueP", "finalValueQ", "finalValueR", "finalValueS", "finalValueT", "pFinalValueQ", "pFinalValueR", "pFinalValueS", + "pFinalValueT" }) + public TestNodeObjectFalse(final int finalValueM, final int finalValueN, final int finalValueO, final int finalValueP, final int finalValueQ, @AknotCaseSensitive final int finalValueR, + @AknotCaseSensitive(true) final int finalValueS, @AknotCaseSensitive(false) final int finalValueT, final int pFinalValueQ, final int pFinalValueR, final int pFinalValueS, + final int pFinalValueT) { + this.finalValueM = finalValueM; + this.finalValueN = finalValueN; + this.finalValueO = finalValueO; + this.finalValueP = finalValueP; + this.finalValueQ = finalValueQ; + this.finalValueR = finalValueR; + this.finalValueS = finalValueS; + this.finalValueT = finalValueT; + this.pFinalValueQ = pFinalValueQ; + this.pFinalValueR = pFinalValueR; + this.pFinalValueS = pFinalValueS; + this.pFinalValueT = pFinalValueT; + } + + public int getPFinalValueQ() { + return this.pFinalValueQ; + } + + @AknotCaseSensitive + public int getPFinalValueR() { + return this.pFinalValueR; + } + + @AknotCaseSensitive(true) + public int getPFinalValueS() { + return this.pFinalValueS; + } + + @AknotCaseSensitive(false) + public int getPFinalValueT() { + return this.pFinalValueT; + } + + public int getValueE() { + return this.valueE; + } + + @AknotCaseSensitive + public int getValueF() { + return this.valueF; + } + + public int getValueG() { + return this.valueG; + } + + @AknotCaseSensitive(true) + public int getValueH() { + return this.valueH; + } + + public int getValueI() { + return this.valueI; + } + + @AknotCaseSensitive(false) + public int getValueJ() { + return this.valueJ; + } + + public int getValueK() { + return this.valueK; + } + + public void setValueE(final int valueE) { + this.valueE = valueE; + } + + public void setValueF(final int valueF) { + this.valueF = valueF; + } + + @AknotCaseSensitive + public void setValueG(final int valueG) { + this.valueG = valueG; + } + + public void setValueH(final int valueH) { + this.valueH = valueH; + } + + @AknotCaseSensitive(true) + public void setValueI(final int valueI) { + this.valueI = valueI; + } + + public void setValueJ(final int valueJ) { + this.valueJ = valueJ; + } + + @AknotCaseSensitive(false) + public void setValueK(final int valueK) { + this.valueK = valueK; + } + + } + + @AknotDefaultCaseSensitive(true) + public class TestNodeObjectTrue { + public int valueA; + @AknotCaseSensitive + public int valueB; + @AknotCaseSensitive(true) + public int valueC; + @AknotCaseSensitive(false) + public int valueD; + + private int valueE; + private int valueF; + private int valueG; + private int valueH; + private int valueI; + private int valueJ; + private int valueK; + + public final int finalValueM; + @AknotCaseSensitive + public final int finalValueN; + @AknotCaseSensitive(true) + public final int finalValueO; + @AknotCaseSensitive(false) + public final int finalValueP; + + // special case for bijectivity with records + public final int finalValueQ; + public final int finalValueR; + public final int finalValueS; + public final int finalValueT; + + private final int pFinalValueQ; + private final int pFinalValueR; + private final int pFinalValueS; + private final int pFinalValueT; + + @AknotName({ "finalValueM", "finalValueN", "finalValueO", "finalValueP", "finalValueQ", "finalValueR", "finalValueS", "finalValueT", "pFinalValueQ", "pFinalValueR", "pFinalValueS", + "pFinalValueT" }) + public TestNodeObjectTrue(final int finalValueM, final int finalValueN, final int finalValueO, final int finalValueP, final int finalValueQ, @AknotCaseSensitive final int finalValueR, + @AknotCaseSensitive(true) final int finalValueS, @AknotCaseSensitive(false) final int finalValueT, final int pFinalValueQ, final int pFinalValueR, final int pFinalValueS, + final int pFinalValueT) { + this.finalValueM = finalValueM; + this.finalValueN = finalValueN; + this.finalValueO = finalValueO; + this.finalValueP = finalValueP; + this.finalValueQ = finalValueQ; + this.finalValueR = finalValueR; + this.finalValueS = finalValueS; + this.finalValueT = finalValueT; + this.pFinalValueQ = pFinalValueQ; + this.pFinalValueR = pFinalValueR; + this.pFinalValueS = pFinalValueS; + this.pFinalValueT = pFinalValueT; + } + + public int getPFinalValueQ() { + return this.pFinalValueQ; + } + + @AknotCaseSensitive + public int getPFinalValueR() { + return this.pFinalValueR; + } + + @AknotCaseSensitive(true) + public int getPFinalValueS() { + return this.pFinalValueS; + } + + @AknotCaseSensitive(false) + public int getPFinalValueT() { + return this.pFinalValueT; + } + + public int getValueE() { + return this.valueE; + } + + @AknotCaseSensitive + public int getValueF() { + return this.valueF; + } + + public int getValueG() { + return this.valueG; + } + + @AknotCaseSensitive(true) + public int getValueH() { + return this.valueH; + } + + public int getValueI() { + return this.valueI; + } + + @AknotCaseSensitive(false) + public int getValueJ() { + return this.valueJ; + } + + public int getValueK() { + return this.valueK; + } + + public void setValueE(final int valueE) { + this.valueE = valueE; + } + + public void setValueF(final int valueF) { + this.valueF = valueF; + } + + @AknotCaseSensitive + public void setValueG(final int valueG) { + this.valueG = valueG; + } + + public void setValueH(final int valueH) { + this.valueH = valueH; + } + + @AknotCaseSensitive(true) + public void setValueI(final int valueI) { + this.valueI = valueI; + } + + public void setValueJ(final int valueJ) { + this.valueJ = valueJ; + } + + @AknotCaseSensitive(false) + public void setValueK(final int valueK) { + this.valueK = valueK; + } + + } + + static final String NODE_NAME = "elem"; + + @BeforeAll + public static void beforeClass() { + Log.warning("================================================================"); + } + // ************************************************************ + // ** CaseSensitive + // ************************************************************ + @Test - public void testDefaultCaseSensitive() { - TestNodeObject elem = new TestNodeObject(321,654,987,159,267,264,1524,182445, -552, -965, -98885, -8754); + public void testDefaultCaseSensitive() { + final TestNodeObject elem = new TestNodeObject(321, 654, 987, 159, 267, 264, 1524, 182445, -552, -965, -98885, -8754); elem.valueA = 55; elem.valueB = 78; elem.valueC = 51; @@ -172,67 +881,26 @@ public class ExmlTestIntrospectionDecoratorCaseSensitive { elem.setValueJ(8247); elem.setValueK(885522); - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionObject.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + dataTest); - String[] testThatWork = { - "\n" - + " 321\n" - + " 654\n" - + " 987\n" - + " 159\n" - + " 267\n" - + " 264\n" - + " 1524\n" - + " 182445\n" - + " -552\n" - + " -965\n" - + " -98885\n" - + " -8754\n" - + " 55\n" - + " 78\n" - + " 51\n" - + " 24\n" - + " 651\n" - + " 654\n" - + " 8552\n" - + " 9531\n" - + " 87465\n" - + " 8247\n" - + " 885522\n" - + "", - "\n" - + " 321\n" - + " 654\n" - + " 987\n" - + " 159\n" - + " 267\n" - + " 264\n" - + " 1524\n" - + " 182445\n" - + " -552\n" - + " -965\n" - + " -98885\n" - + " -8754\n" - + " 55\n" - + " 78\n" - + " 51\n" - + " 24\n" - + " 651\n" - + " 654\n" - + " 8552\n" - + " 9531\n" - + " 87465\n" - + " 8247\n" - + " 885522\n" - + "" - }; - + final String[] testThatWork = { + "\n" + " 321\n" + " 654\n" + " 987\n" + " 159\n" + + " 267\n" + " 264\n" + " 1524\n" + " 182445\n" + + " -552\n" + " -965\n" + " -98885\n" + " -8754\n" + + " 55\n" + " 78\n" + " 51\n" + " 24\n" + " 651\n" + " 654\n" + + " 8552\n" + " 9531\n" + " 87465\n" + " 8247\n" + " 885522\n" + "", + "\n" + " 321\n" + " 654\n" + " 987\n" + " 159\n" + + " 267\n" + " 264\n" + " 1524\n" + " 182445\n" + + " -552\n" + " -965\n" + " -98885\n" + " -8754\n" + + " 55\n" + " 78\n" + " 51\n" + " 24\n" + " 651\n" + " 654\n" + + " 8552\n" + " 9531\n" + " 87465\n" + " 8247\n" + " 885522\n" + "" }; + Assertions.assertEquals(testThatWork[0], dataTest); - - for (int iii=0; iii Exml.parseOne(testThatWork[jjj], elem.getClass(), ExmlTestIntrospectionObject.NODE_NAME)); Assertions.assertEquals(55, root.valueA); @@ -259,198 +927,23 @@ public class ExmlTestIntrospectionDecoratorCaseSensitive { Assertions.assertEquals(-98885, root.getPFinalValueS()); Assertions.assertEquals(-8754, root.getPFinalValueT()); } - - String[] testThatNotWork = { - "\n" - + " 321\n" - + "", - "\n" - + " 654\n" - + "", - "\n" - + " 987\n" - + "", - "\n" - + " 267\n" - + "", - "\n" - + " 264\n" - + "", - "\n" - + " 1524\n" - + "", - "\n" - + " -552\n" - + "", - "\n" - + " -965\n" - + "", - "\n" - + " -98885\n" - + "", - "\n" - + " 55\n" - + "", - "\n" - + " 78\n" - + "", - "\n" - + " 51\n" - + "", - "\n" - + " 651\n" - + "", - "\n" - + " 654\n" - + "", - "\n" - + " 8552\n" - + "", - "\n" - + " 9531\n" - + "", - "\n" - + " 87465\n" - + "" - }; - for (int iii=0; iii\n" + " 321\n" + "", "\n" + " 654\n" + "", + "\n" + " 987\n" + "", "\n" + " 267\n" + "", + "\n" + " 264\n" + "", "\n" + " 1524\n" + "", + "\n" + " -552\n" + "", "\n" + " -965\n" + "", + "\n" + " -98885\n" + "", "\n" + " 55\n" + "", "\n" + " 78\n" + "", + "\n" + " 51\n" + "", "\n" + " 651\n" + "", "\n" + " 654\n" + "", + "\n" + " 8552\n" + "", "\n" + " 9531\n" + "", "\n" + " 87465\n" + "" }; + for (int iii = 0; iii < testThatNotWork.length; iii++) { final int jjj = iii; Assertions.assertThrows(ExmlNodeDoesNotExist.class, () -> Exml.parseOne(testThatNotWork[jjj], elem.getClass(), ExmlTestIntrospectionObject.NODE_NAME)); } } - @XmlDefaultCaseSensitive(true) - public class TestNodeObjectTrue { - public int valueA; - @XmlCaseSensitive - public int valueB; - @XmlCaseSensitive(true) - public int valueC; - @XmlCaseSensitive(false) - public int valueD; - - private int valueE; - private int valueF; - private int valueG; - private int valueH; - private int valueI; - private int valueJ; - private int valueK; - - - public final int finalValueM; - @XmlCaseSensitive - public final int finalValueN; - @XmlCaseSensitive(true) - public final int finalValueO; - @XmlCaseSensitive(false) - public final int finalValueP; - - // special case for bijectivity with records - public final int finalValueQ; - public final int finalValueR; - public final int finalValueS; - public final int finalValueT; - - private final int pFinalValueQ; - private final int pFinalValueR; - private final int pFinalValueS; - private final int pFinalValueT; - - @XmlName({"finalValueM", "finalValueN", "finalValueO", "finalValueP", - "finalValueQ", "finalValueR", "finalValueS", "finalValueT", - "pFinalValueQ", "pFinalValueR", "pFinalValueS", "pFinalValueT"}) - public TestNodeObjectTrue( - final int finalValueM, final int finalValueN, final int finalValueO, final int finalValueP, - final int finalValueQ, @XmlCaseSensitive final int finalValueR, @XmlCaseSensitive(true) final int finalValueS, @XmlCaseSensitive(false) final int finalValueT, - final int pFinalValueQ, final int pFinalValueR, final int pFinalValueS, final int pFinalValueT) { - this.finalValueM = finalValueM; - this.finalValueN = finalValueN; - this.finalValueO = finalValueO; - this.finalValueP = finalValueP; - this.finalValueQ = finalValueQ; - this.finalValueR = finalValueR; - this.finalValueS = finalValueS; - this.finalValueT = finalValueT; - this.pFinalValueQ = pFinalValueQ; - this.pFinalValueR = pFinalValueR; - this.pFinalValueS = pFinalValueS; - this.pFinalValueT = pFinalValueT; - } - - public int getValueE() { - return this.valueE; - } - public void setValueE(final int valueE) { - this.valueE = valueE; - } - @XmlCaseSensitive - public int getValueF() { - return this.valueF; - } - public void setValueF(final int valueF) { - this.valueF = valueF; - } - public int getValueG() { - return this.valueG; - } - @XmlCaseSensitive - public void setValueG(final int valueG) { - this.valueG = valueG; - } - @XmlCaseSensitive(true) - public int getValueH() { - return this.valueH; - } - public void setValueH(final int valueH) { - this.valueH = valueH; - } - public int getValueI() { - return this.valueI; - } - @XmlCaseSensitive(true) - public void setValueI(final int valueI) { - this.valueI = valueI; - } - @XmlCaseSensitive(false) - public int getValueJ() { - return this.valueJ; - } - public void setValueJ(final int valueJ) { - this.valueJ = valueJ; - } - public int getValueK() { - return this.valueK; - } - @XmlCaseSensitive(false) - public void setValueK(final int valueK) { - this.valueK = valueK; - } - - public int getPFinalValueQ() { - return this.pFinalValueQ; - } - - @XmlCaseSensitive - public int getPFinalValueR() { - return this.pFinalValueR; - } - - @XmlCaseSensitive(true) - public int getPFinalValueS() { - return this.pFinalValueS; - } - - @XmlCaseSensitive(false) - public int getPFinalValueT() { - return this.pFinalValueT; - } - - - } @Test - public void testDefaultCaseSensitiveTrue() { - TestNodeObjectTrue elem = new TestNodeObjectTrue(321,654,987,159,267,264,1524,182445, -552, -965, -98885, -8754); + public void testDefaultCaseSensitiveAttribute() { + final TestAttributeObject elem = new TestAttributeObject(321, 654, 987, 159, 267, 264, 1524, 182445, -552, -965, -98885, -8754); elem.valueA = 55; elem.valueB = 78; elem.valueC = 51; @@ -463,617 +956,18 @@ public class ExmlTestIntrospectionDecoratorCaseSensitive { elem.setValueJ(8247); elem.setValueK(885522); - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionObject.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - - String[] testThatWork = { - "\n" - + " 321\n" - + " 654\n" - + " 987\n" - + " 159\n" - + " 267\n" - + " 264\n" - + " 1524\n" - + " 182445\n" - + " -552\n" - + " -965\n" - + " -98885\n" - + " -8754\n" - + " 55\n" - + " 78\n" - + " 51\n" - + " 24\n" - + " 651\n" - + " 654\n" - + " 8552\n" - + " 9531\n" - + " 87465\n" - + " 8247\n" - + " 885522\n" - + "", - "\n" - + " 321\n" - + " 654\n" - + " 987\n" - + " 159\n" - + " 267\n" - + " 264\n" - + " 1524\n" - + " 182445\n" - + " -552\n" - + " -965\n" - + " -98885\n" - + " -8754\n" - + " 55\n" - + " 78\n" - + " 51\n" - + " 24\n" - + " 651\n" - + " 654\n" - + " 8552\n" - + " 9531\n" - + " 87465\n" - + " 8247\n" - + " 885522\n" - + "" - }; - - Assertions.assertEquals(testThatWork[0], dataTest); - - for (int iii=0; iii Exml.parseOne(testThatWork[jjj], elem.getClass(), ExmlTestIntrospectionObject.NODE_NAME)); - Assertions.assertEquals(55, root.valueA); - Assertions.assertEquals(78, root.valueB); - Assertions.assertEquals(51, root.valueC); - Assertions.assertEquals(24, root.valueD); - Assertions.assertEquals(651, root.getValueE()); - Assertions.assertEquals(654, root.getValueF()); - Assertions.assertEquals(8552, root.getValueG()); - Assertions.assertEquals(9531, root.getValueH()); - Assertions.assertEquals(87465, root.getValueI()); - Assertions.assertEquals(8247, root.getValueJ()); - Assertions.assertEquals(885522, root.getValueK()); - Assertions.assertEquals(321, root.finalValueM); - Assertions.assertEquals(654, root.finalValueN); - Assertions.assertEquals(987, root.finalValueO); - Assertions.assertEquals(159, root.finalValueP); - Assertions.assertEquals(267, root.finalValueQ); - Assertions.assertEquals(264, root.finalValueR); - Assertions.assertEquals(1524, root.finalValueS); - Assertions.assertEquals(182445, root.finalValueT); - Assertions.assertEquals(-552, root.getPFinalValueQ()); - Assertions.assertEquals(-965, root.getPFinalValueR()); - Assertions.assertEquals(-98885, root.getPFinalValueS()); - Assertions.assertEquals(-8754, root.getPFinalValueT()); - } - String[] testThatNotWork = { - "\n" - + " 321\n" - + "", - "\n" - + " 654\n" - + "", - "\n" - + " 987\n" - + "", - "\n" - + " 267\n" - + "", - "\n" - + " 264\n" - + "", - "\n" - + " 1524\n" - + "", - "\n" - + " -552\n" - + "", - "\n" - + " -965\n" - + "", - "\n" - + " -98885\n" - + "", - "\n" - + " 55\n" - + "", - "\n" - + " 78\n" - + "", - "\n" - + " 51\n" - + "", - "\n" - + " 651\n" - + "", - "\n" - + " 654\n" - + "", - "\n" - + " 8552\n" - + "", - "\n" - + " 9531\n" - + "", - "\n" - + " 87465\n" - + "" - }; - for (int iii=0; iii Exml.parseOne(testThatNotWork[jjj], elem.getClass(), ExmlTestIntrospectionObject.NODE_NAME)); - } - } - - @XmlDefaultCaseSensitive(false) - public class TestNodeObjectFalse { - public int valueA; - @XmlCaseSensitive - public int valueB; - @XmlCaseSensitive(true) - public int valueC; - @XmlCaseSensitive(false) - public int valueD; - - private int valueE; - private int valueF; - private int valueG; - private int valueH; - private int valueI; - private int valueJ; - private int valueK; - - public final int finalValueM; - @XmlCaseSensitive - public final int finalValueN; - @XmlCaseSensitive(true) - public final int finalValueO; - @XmlCaseSensitive(false) - public final int finalValueP; - - // special case for bijectivity with records - public final int finalValueQ; - public final int finalValueR; - public final int finalValueS; - public final int finalValueT; - - private final int pFinalValueQ; - private final int pFinalValueR; - private final int pFinalValueS; - private final int pFinalValueT; - - @XmlName({"finalValueM", "finalValueN", "finalValueO", "finalValueP", - "finalValueQ", "finalValueR", "finalValueS", "finalValueT", - "pFinalValueQ", "pFinalValueR", "pFinalValueS", "pFinalValueT"}) - public TestNodeObjectFalse( - final int finalValueM, final int finalValueN, final int finalValueO, final int finalValueP, - final int finalValueQ, @XmlCaseSensitive final int finalValueR, @XmlCaseSensitive(true) final int finalValueS, @XmlCaseSensitive(false) final int finalValueT, - final int pFinalValueQ, final int pFinalValueR, final int pFinalValueS, final int pFinalValueT) { - this.finalValueM = finalValueM; - this.finalValueN = finalValueN; - this.finalValueO = finalValueO; - this.finalValueP = finalValueP; - this.finalValueQ = finalValueQ; - this.finalValueR = finalValueR; - this.finalValueS = finalValueS; - this.finalValueT = finalValueT; - this.pFinalValueQ = pFinalValueQ; - this.pFinalValueR = pFinalValueR; - this.pFinalValueS = pFinalValueS; - this.pFinalValueT = pFinalValueT; - } - - public int getValueE() { - return this.valueE; - } - public void setValueE(final int valueE) { - this.valueE = valueE; - } - @XmlCaseSensitive - public int getValueF() { - return this.valueF; - } - public void setValueF(final int valueF) { - this.valueF = valueF; - } - public int getValueG() { - return this.valueG; - } - @XmlCaseSensitive - public void setValueG(final int valueG) { - this.valueG = valueG; - } - @XmlCaseSensitive(true) - public int getValueH() { - return this.valueH; - } - public void setValueH(final int valueH) { - this.valueH = valueH; - } - public int getValueI() { - return this.valueI; - } - @XmlCaseSensitive(true) - public void setValueI(final int valueI) { - this.valueI = valueI; - } - @XmlCaseSensitive(false) - public int getValueJ() { - return this.valueJ; - } - public void setValueJ(final int valueJ) { - this.valueJ = valueJ; - } - public int getValueK() { - return this.valueK; - } - @XmlCaseSensitive(false) - public void setValueK(final int valueK) { - this.valueK = valueK; - } - - - public int getPFinalValueQ() { - return this.pFinalValueQ; - } - - @XmlCaseSensitive - public int getPFinalValueR() { - return this.pFinalValueR; - } - - @XmlCaseSensitive(true) - public int getPFinalValueS() { - return this.pFinalValueS; - } - - @XmlCaseSensitive(false) - public int getPFinalValueT() { - return this.pFinalValueT; - } - - } - @Test - public void testDefaultCaseSensitiveFalse() { - TestNodeObjectFalse elem = new TestNodeObjectFalse(321,654,987,159,267,264,1524,182445, -552, -965, -98885, -8754); - elem.valueA = 55; - elem.valueB = 78; - elem.valueC = 51; - elem.valueD = 24; - elem.setValueE(651); - elem.setValueF(654); - elem.setValueG(8552); - elem.setValueH(9531); - elem.setValueI(87465); - elem.setValueJ(8247); - elem.setValueK(885522); - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionObject.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - - String[] testThatWork = { - "\n" - + " 321\n" - + " 654\n" - + " 987\n" - + " 159\n" - + " 267\n" - + " 264\n" - + " 1524\n" - + " 182445\n" - + " -552\n" - + " -965\n" - + " -98885\n" - + " -8754\n" - + " 55\n" - + " 78\n" - + " 51\n" - + " 24\n" - + " 651\n" - + " 654\n" - + " 8552\n" - + " 9531\n" - + " 87465\n" - + " 8247\n" - + " 885522\n" - + "", - "\n" - + " 321\n" - + " 654\n" - + " 987\n" - + " 159\n" - + " 267\n" - + " 264\n" - + " 1524\n" - + " 182445\n" - + " -552\n" - + " -965\n" - + " -98885\n" - + " -8754\n" - + " 55\n" - + " 78\n" - + " 51\n" - + " 24\n" - + " 651\n" - + " 654\n" - + " 8552\n" - + " 9531\n" - + " 87465\n" - + " 8247\n" - + " 885522\n" - + "" - }; - - Assertions.assertEquals(testThatWork[0], dataTest); - - for (int iii=0; iii Exml.parseOne(testThatWork[jjj], elem.getClass(), ExmlTestIntrospectionObject.NODE_NAME)); - Assertions.assertEquals(55, root.valueA); - Assertions.assertEquals(78, root.valueB); - Assertions.assertEquals(51, root.valueC); - Assertions.assertEquals(24, root.valueD); - Assertions.assertEquals(651, root.getValueE()); - Assertions.assertEquals(654, root.getValueF()); - Assertions.assertEquals(8552, root.getValueG()); - Assertions.assertEquals(9531, root.getValueH()); - Assertions.assertEquals(87465, root.getValueI()); - Assertions.assertEquals(8247, root.getValueJ()); - Assertions.assertEquals(885522, root.getValueK()); - Assertions.assertEquals(321, root.finalValueM); - Assertions.assertEquals(654, root.finalValueN); - Assertions.assertEquals(987, root.finalValueO); - Assertions.assertEquals(159, root.finalValueP); - Assertions.assertEquals(267, root.finalValueQ); - Assertions.assertEquals(264, root.finalValueR); - Assertions.assertEquals(1524, root.finalValueS); - Assertions.assertEquals(182445, root.finalValueT); - Assertions.assertEquals(-552, root.getPFinalValueQ()); - Assertions.assertEquals(-965, root.getPFinalValueR()); - Assertions.assertEquals(-98885, root.getPFinalValueS()); - Assertions.assertEquals(-8754, root.getPFinalValueT()); - } - String[] testThatNotWork = { - "\n" - + " 654\n" - + "", - "\n" - + " 987\n" - + "", - "\n" - + " 264\n" - + "", - "\n" - + " 1524\n" - + "", - "\n" - + " -965\n" - + "", - "\n" - + " -98885\n" - + "", - "\n" - + " 78\n" - + "", - "\n" - + " 51\n" - + "", - "\n" - + " 654\n" - + "", - "\n" - + " 8552\n" - + "", - "\n" - + " 9531\n" - + "", - "\n" - + " 87465\n" - + "" - }; - for (int iii=0; iii Exml.parseOne(testThatNotWork[jjj], elem.getClass(), ExmlTestIntrospectionObject.NODE_NAME)); - } - } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @XmlDefaultCaseSensitive - @XmlDefaultAttibute - public class TestAttributeObject { - - public int valueA; - @XmlCaseSensitive - public int valueB; - @XmlCaseSensitive(true) - public int valueC; - @XmlCaseSensitive(false) - public int valueD; - - private int valueE; - private int valueF; - private int valueG; - private int valueH; - private int valueI; - private int valueJ; - private int valueK; - - - public final int finalValueM; - @XmlCaseSensitive - public final int finalValueN; - @XmlCaseSensitive(true) - public final int finalValueO; - @XmlCaseSensitive(false) - public final int finalValueP; - - // special case for bijectivity with records - public final int finalValueQ; - public final int finalValueR; - public final int finalValueS; - public final int finalValueT; - - private final int pFinalValueQ; - private final int pFinalValueR; - private final int pFinalValueS; - private final int pFinalValueT; - - @XmlName({"finalValueM", "finalValueN", "finalValueO", "finalValueP", - "finalValueQ", "finalValueR", "finalValueS", "finalValueT", - "pFinalValueQ", "pFinalValueR", "pFinalValueS", "pFinalValueT"}) - public TestAttributeObject( - final int finalValueM, final int finalValueN, final int finalValueO, final int finalValueP, - final int finalValueQ, @XmlCaseSensitive final int finalValueR, @XmlCaseSensitive(true) final int finalValueS, @XmlCaseSensitive(false) final int finalValueT, - final int pFinalValueQ, final int pFinalValueR, final int pFinalValueS, final int pFinalValueT) { - this.finalValueM = finalValueM; - this.finalValueN = finalValueN; - this.finalValueO = finalValueO; - this.finalValueP = finalValueP; - this.finalValueQ = finalValueQ; - this.finalValueR = finalValueR; - this.finalValueS = finalValueS; - this.finalValueT = finalValueT; - this.pFinalValueQ = pFinalValueQ; - this.pFinalValueR = pFinalValueR; - this.pFinalValueS = pFinalValueS; - this.pFinalValueT = pFinalValueT; - } - - public int getValueE() { - return this.valueE; - } - public void setValueE(final int valueE) { - this.valueE = valueE; - } - @XmlCaseSensitive - public int getValueF() { - return this.valueF; - } - public void setValueF(final int valueF) { - this.valueF = valueF; - } - public int getValueG() { - return this.valueG; - } - @XmlCaseSensitive - public void setValueG(final int valueG) { - this.valueG = valueG; - } - @XmlCaseSensitive(true) - public int getValueH() { - return this.valueH; - } - public void setValueH(final int valueH) { - this.valueH = valueH; - } - public int getValueI() { - return this.valueI; - } - @XmlCaseSensitive(true) - public void setValueI(final int valueI) { - this.valueI = valueI; - } - @XmlCaseSensitive(false) - public int getValueJ() { - return this.valueJ; - } - public void setValueJ(final int valueJ) { - this.valueJ = valueJ; - } - public int getValueK() { - return this.valueK; - } - @XmlCaseSensitive(false) - public void setValueK(final int valueK) { - this.valueK = valueK; - } - - public int getPFinalValueQ() { - return this.pFinalValueQ; - } - - @XmlCaseSensitive - public int getPFinalValueR() { - return this.pFinalValueR; - } - - @XmlCaseSensitive(true) - public int getPFinalValueS() { - return this.pFinalValueS; - } - - @XmlCaseSensitive(false) - public int getPFinalValueT() { - return this.pFinalValueT; - } - - } - @Test - public void testDefaultCaseSensitiveAttribute() { - TestAttributeObject elem = new TestAttributeObject(321,654,987,159,267,264,1524,182445, -552, -965, -98885, -8754); - elem.valueA = 55; - elem.valueB = 78; - elem.valueC = 51; - elem.valueD = 24; - elem.setValueE(651); - elem.setValueF(654); - elem.setValueG(8552); - elem.setValueH(9531); - elem.setValueI(87465); - elem.setValueJ(8247); - elem.setValueK(885522); - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionObject.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + dataTest); - String[] testThatWork = { + final String[] testThatWork = { "", - "", - }; - + "", }; + Assertions.assertEquals(testThatWork[0], dataTest); - - for (int iii=0; iii Exml.parseOne(testThatWork[jjj], elem.getClass(), ExmlTestIntrospectionObject.NODE_NAME)); Assertions.assertEquals(55, root.valueA); @@ -1100,165 +994,19 @@ public class ExmlTestIntrospectionDecoratorCaseSensitive { Assertions.assertEquals(-98885, root.getPFinalValueS()); Assertions.assertEquals(-8754, root.getPFinalValueT()); } - - String[] testThatNotWork = { - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - }; - for (int iii=0; iii", "", "", "", "", + "", "", "", "", "", "", + "", "", "", "", "", "" }; + for (int iii = 0; iii < testThatNotWork.length; iii++) { final int jjj = iii; Assertions.assertThrows(ExmlAttributeDoesNotExist.class, () -> Exml.parseOne(testThatNotWork[jjj], elem.getClass(), ExmlTestIntrospectionObject.NODE_NAME)); } } - @XmlDefaultCaseSensitive(true) - @XmlDefaultAttibute - public class TestAttributeObjectTrue { - public int valueA; - @XmlCaseSensitive - public int valueB; - @XmlCaseSensitive(true) - public int valueC; - @XmlCaseSensitive(false) - public int valueD; - - private int valueE; - private int valueF; - private int valueG; - private int valueH; - private int valueI; - private int valueJ; - private int valueK; - - - public final int finalValueM; - @XmlCaseSensitive - public final int finalValueN; - @XmlCaseSensitive(true) - public final int finalValueO; - @XmlCaseSensitive(false) - public final int finalValueP; - - // special case for bijectivity with records - public final int finalValueQ; - public final int finalValueR; - public final int finalValueS; - public final int finalValueT; - - private final int pFinalValueQ; - private final int pFinalValueR; - private final int pFinalValueS; - private final int pFinalValueT; - - @XmlName({"finalValueM", "finalValueN", "finalValueO", "finalValueP", - "finalValueQ", "finalValueR", "finalValueS", "finalValueT", - "pFinalValueQ", "pFinalValueR", "pFinalValueS", "pFinalValueT"}) - public TestAttributeObjectTrue( - final int finalValueM, final int finalValueN, final int finalValueO, final int finalValueP, - final int finalValueQ, @XmlCaseSensitive final int finalValueR, @XmlCaseSensitive(true) final int finalValueS, @XmlCaseSensitive(false) final int finalValueT, - final int pFinalValueQ, final int pFinalValueR, final int pFinalValueS, final int pFinalValueT) { - this.finalValueM = finalValueM; - this.finalValueN = finalValueN; - this.finalValueO = finalValueO; - this.finalValueP = finalValueP; - this.finalValueQ = finalValueQ; - this.finalValueR = finalValueR; - this.finalValueS = finalValueS; - this.finalValueT = finalValueT; - this.pFinalValueQ = pFinalValueQ; - this.pFinalValueR = pFinalValueR; - this.pFinalValueS = pFinalValueS; - this.pFinalValueT = pFinalValueT; - } - - public int getValueE() { - return this.valueE; - } - public void setValueE(final int valueE) { - this.valueE = valueE; - } - @XmlCaseSensitive - public int getValueF() { - return this.valueF; - } - public void setValueF(final int valueF) { - this.valueF = valueF; - } - public int getValueG() { - return this.valueG; - } - @XmlCaseSensitive - public void setValueG(final int valueG) { - this.valueG = valueG; - } - @XmlCaseSensitive(true) - public int getValueH() { - return this.valueH; - } - public void setValueH(final int valueH) { - this.valueH = valueH; - } - public int getValueI() { - return this.valueI; - } - @XmlCaseSensitive(true) - public void setValueI(final int valueI) { - this.valueI = valueI; - } - @XmlCaseSensitive(false) - public int getValueJ() { - return this.valueJ; - } - public void setValueJ(final int valueJ) { - this.valueJ = valueJ; - } - public int getValueK() { - return this.valueK; - } - @XmlCaseSensitive(false) - public void setValueK(final int valueK) { - this.valueK = valueK; - } - - public int getPFinalValueQ() { - return this.pFinalValueQ; - } - - @XmlCaseSensitive - public int getPFinalValueR() { - return this.pFinalValueR; - } - - @XmlCaseSensitive(true) - public int getPFinalValueS() { - return this.pFinalValueS; - } - - @XmlCaseSensitive(false) - public int getPFinalValueT() { - return this.pFinalValueT; - } - - - } @Test - public void testDefaultCaseSensitiveTrueAttribute() { - TestAttributeObjectTrue elem = new TestAttributeObjectTrue(321,654,987,159,267,264,1524,182445, -552, -965, -98885, -8754); + public void testDefaultCaseSensitiveFalse() { + final TestNodeObjectFalse elem = new TestNodeObjectFalse(321, 654, 987, 159, 267, 264, 1524, 182445, -552, -965, -98885, -8754); elem.valueA = 55; elem.valueB = 78; elem.valueC = 51; @@ -1271,21 +1019,28 @@ public class ExmlTestIntrospectionDecoratorCaseSensitive { elem.setValueJ(8247); elem.setValueK(885522); - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionObject.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); - - String[] testThatWork = { - "", - "", - }; - + + final String[] testThatWork = { + "\n" + " 321\n" + " 654\n" + " 987\n" + " 159\n" + + " 267\n" + " 264\n" + " 1524\n" + " 182445\n" + + " -552\n" + " -965\n" + " -98885\n" + " -8754\n" + + " 55\n" + " 78\n" + " 51\n" + " 24\n" + " 651\n" + " 654\n" + + " 8552\n" + " 9531\n" + " 87465\n" + " 8247\n" + " 885522\n" + "", + "\n" + " 321\n" + " 654\n" + " 987\n" + " 159\n" + + " 267\n" + " 264\n" + " 1524\n" + " 182445\n" + + " -552\n" + " -965\n" + " -98885\n" + " -8754\n" + + " 55\n" + " 78\n" + " 51\n" + " 24\n" + " 651\n" + " 654\n" + + " 8552\n" + " 9531\n" + " 87465\n" + " 8247\n" + " 885522\n" + "" }; + Assertions.assertEquals(testThatWork[0], dataTest); - - for (int iii=0; iii Exml.parseOne(testThatWork[jjj], elem.getClass(), ExmlTestIntrospectionObject.NODE_NAME)); + final TestNodeObjectFalse root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(testThatWork[jjj], elem.getClass(), ExmlTestIntrospectionObject.NODE_NAME)); Assertions.assertEquals(55, root.valueA); Assertions.assertEquals(78, root.valueB); Assertions.assertEquals(51, root.valueC); @@ -1310,163 +1065,20 @@ public class ExmlTestIntrospectionDecoratorCaseSensitive { Assertions.assertEquals(-98885, root.getPFinalValueS()); Assertions.assertEquals(-8754, root.getPFinalValueT()); } - String[] testThatNotWork = { - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" - }; - for (int iii=0; iii\n" + " 654\n" + "", "\n" + " 987\n" + "", + "\n" + " 264\n" + "", "\n" + " 1524\n" + "", + "\n" + " -965\n" + "", "\n" + " -98885\n" + "", + "\n" + " 78\n" + "", "\n" + " 51\n" + "", "\n" + " 654\n" + "", + "\n" + " 8552\n" + "", "\n" + " 9531\n" + "", "\n" + " 87465\n" + "" }; + for (int iii = 0; iii < testThatNotWork.length; iii++) { final int jjj = iii; - Assertions.assertThrows(ExmlAttributeDoesNotExist.class, () -> Exml.parseOne(testThatNotWork[jjj], elem.getClass(), ExmlTestIntrospectionObject.NODE_NAME)); + Assertions.assertThrows(ExmlNodeDoesNotExist.class, () -> Exml.parseOne(testThatNotWork[jjj], elem.getClass(), ExmlTestIntrospectionObject.NODE_NAME)); } } - - @XmlDefaultCaseSensitive(false) - @XmlDefaultAttibute - public class TestAttributeObjectFalse { - public int valueA; - @XmlCaseSensitive - public int valueB; - @XmlCaseSensitive(true) - public int valueC; - @XmlCaseSensitive(false) - public int valueD; - - private int valueE; - private int valueF; - private int valueG; - private int valueH; - private int valueI; - private int valueJ; - private int valueK; - - public final int finalValueM; - @XmlCaseSensitive - public final int finalValueN; - @XmlCaseSensitive(true) - public final int finalValueO; - @XmlCaseSensitive(false) - public final int finalValueP; - - // special case for bijectivity with records - public final int finalValueQ; - public final int finalValueR; - public final int finalValueS; - public final int finalValueT; - - private final int pFinalValueQ; - private final int pFinalValueR; - private final int pFinalValueS; - private final int pFinalValueT; - - @XmlName({"finalValueM", "finalValueN", "finalValueO", "finalValueP", - "finalValueQ", "finalValueR", "finalValueS", "finalValueT", - "pFinalValueQ", "pFinalValueR", "pFinalValueS", "pFinalValueT"}) - public TestAttributeObjectFalse( - final int finalValueM, final int finalValueN, final int finalValueO, final int finalValueP, - final int finalValueQ, @XmlCaseSensitive final int finalValueR, @XmlCaseSensitive(true) final int finalValueS, @XmlCaseSensitive(false) final int finalValueT, - final int pFinalValueQ, final int pFinalValueR, final int pFinalValueS, final int pFinalValueT) { - this.finalValueM = finalValueM; - this.finalValueN = finalValueN; - this.finalValueO = finalValueO; - this.finalValueP = finalValueP; - this.finalValueQ = finalValueQ; - this.finalValueR = finalValueR; - this.finalValueS = finalValueS; - this.finalValueT = finalValueT; - this.pFinalValueQ = pFinalValueQ; - this.pFinalValueR = pFinalValueR; - this.pFinalValueS = pFinalValueS; - this.pFinalValueT = pFinalValueT; - } - - public int getValueE() { - return this.valueE; - } - public void setValueE(final int valueE) { - this.valueE = valueE; - } - @XmlCaseSensitive - public int getValueF() { - return this.valueF; - } - public void setValueF(final int valueF) { - this.valueF = valueF; - } - public int getValueG() { - return this.valueG; - } - @XmlCaseSensitive - public void setValueG(final int valueG) { - this.valueG = valueG; - } - @XmlCaseSensitive(true) - public int getValueH() { - return this.valueH; - } - public void setValueH(final int valueH) { - this.valueH = valueH; - } - public int getValueI() { - return this.valueI; - } - @XmlCaseSensitive(true) - public void setValueI(final int valueI) { - this.valueI = valueI; - } - @XmlCaseSensitive(false) - public int getValueJ() { - return this.valueJ; - } - public void setValueJ(final int valueJ) { - this.valueJ = valueJ; - } - public int getValueK() { - return this.valueK; - } - @XmlCaseSensitive(false) - public void setValueK(final int valueK) { - this.valueK = valueK; - } - - - public int getPFinalValueQ() { - return this.pFinalValueQ; - } - - @XmlCaseSensitive - public int getPFinalValueR() { - return this.pFinalValueR; - } - - @XmlCaseSensitive(true) - public int getPFinalValueS() { - return this.pFinalValueS; - } - - @XmlCaseSensitive(false) - public int getPFinalValueT() { - return this.pFinalValueT; - } - - } + @Test - public void testDefaultCaseSensitiveFalseAttribute() { - TestAttributeObjectFalse elem = new TestAttributeObjectFalse(321,654,987,159,267,264,1524,182445, -552, -965, -98885, -8754); + public void testDefaultCaseSensitiveFalseAttribute() { + final TestAttributeObjectFalse elem = new TestAttributeObjectFalse(321, 654, 987, 159, 267, 264, 1524, 182445, -552, -965, -98885, -8754); elem.valueA = 55; elem.valueB = 78; elem.valueC = 51; @@ -1479,19 +1091,18 @@ public class ExmlTestIntrospectionDecoratorCaseSensitive { elem.setValueJ(8247); elem.setValueK(885522); - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionObject.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); - - String[] testThatWork = { + + final String[] testThatWork = { "", - "", - }; - + "", }; + Assertions.assertEquals(testThatWork[0], dataTest); - - for (int iii=0; iii Exml.parseOne(testThatWork[jjj], elem.getClass(), ExmlTestIntrospectionObject.NODE_NAME)); Assertions.assertEquals(55, root.valueA); @@ -1518,24 +1129,148 @@ public class ExmlTestIntrospectionDecoratorCaseSensitive { Assertions.assertEquals(-98885, root.getPFinalValueS()); Assertions.assertEquals(-8754, root.getPFinalValueT()); } - String[] testThatNotWork = { - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - }; - for (int iii=0; iii", "", "", "", "", + "", "", "", "", "", "", + "", }; + for (int iii = 0; iii < testThatNotWork.length; iii++) { + final int jjj = iii; + Assertions.assertThrows(ExmlAttributeDoesNotExist.class, () -> Exml.parseOne(testThatNotWork[jjj], elem.getClass(), ExmlTestIntrospectionObject.NODE_NAME)); + } + } + + @Test + public void testDefaultCaseSensitiveTrue() { + final TestNodeObjectTrue elem = new TestNodeObjectTrue(321, 654, 987, 159, 267, 264, 1524, 182445, -552, -965, -98885, -8754); + elem.valueA = 55; + elem.valueB = 78; + elem.valueC = 51; + elem.valueD = 24; + elem.setValueE(651); + elem.setValueF(654); + elem.setValueG(8552); + elem.setValueH(9531); + elem.setValueI(87465); + elem.setValueJ(8247); + elem.setValueK(885522); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionObject.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + + final String[] testThatWork = { + "\n" + " 321\n" + " 654\n" + " 987\n" + " 159\n" + + " 267\n" + " 264\n" + " 1524\n" + " 182445\n" + + " -552\n" + " -965\n" + " -98885\n" + " -8754\n" + + " 55\n" + " 78\n" + " 51\n" + " 24\n" + " 651\n" + " 654\n" + + " 8552\n" + " 9531\n" + " 87465\n" + " 8247\n" + " 885522\n" + "", + "\n" + " 321\n" + " 654\n" + " 987\n" + " 159\n" + + " 267\n" + " 264\n" + " 1524\n" + " 182445\n" + + " -552\n" + " -965\n" + " -98885\n" + " -8754\n" + + " 55\n" + " 78\n" + " 51\n" + " 24\n" + " 651\n" + " 654\n" + + " 8552\n" + " 9531\n" + " 87465\n" + " 8247\n" + " 885522\n" + "" }; + + Assertions.assertEquals(testThatWork[0], dataTest); + + for (int iii = 0; iii < testThatWork.length; iii++) { + final int jjj = iii; + final TestNodeObjectTrue root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(testThatWork[jjj], elem.getClass(), ExmlTestIntrospectionObject.NODE_NAME)); + Assertions.assertEquals(55, root.valueA); + Assertions.assertEquals(78, root.valueB); + Assertions.assertEquals(51, root.valueC); + Assertions.assertEquals(24, root.valueD); + Assertions.assertEquals(651, root.getValueE()); + Assertions.assertEquals(654, root.getValueF()); + Assertions.assertEquals(8552, root.getValueG()); + Assertions.assertEquals(9531, root.getValueH()); + Assertions.assertEquals(87465, root.getValueI()); + Assertions.assertEquals(8247, root.getValueJ()); + Assertions.assertEquals(885522, root.getValueK()); + Assertions.assertEquals(321, root.finalValueM); + Assertions.assertEquals(654, root.finalValueN); + Assertions.assertEquals(987, root.finalValueO); + Assertions.assertEquals(159, root.finalValueP); + Assertions.assertEquals(267, root.finalValueQ); + Assertions.assertEquals(264, root.finalValueR); + Assertions.assertEquals(1524, root.finalValueS); + Assertions.assertEquals(182445, root.finalValueT); + Assertions.assertEquals(-552, root.getPFinalValueQ()); + Assertions.assertEquals(-965, root.getPFinalValueR()); + Assertions.assertEquals(-98885, root.getPFinalValueS()); + Assertions.assertEquals(-8754, root.getPFinalValueT()); + } + final String[] testThatNotWork = { "\n" + " 321\n" + "", "\n" + " 654\n" + "", + "\n" + " 987\n" + "", "\n" + " 267\n" + "", + "\n" + " 264\n" + "", "\n" + " 1524\n" + "", + "\n" + " -552\n" + "", "\n" + " -965\n" + "", + "\n" + " -98885\n" + "", "\n" + " 55\n" + "", "\n" + " 78\n" + "", + "\n" + " 51\n" + "", "\n" + " 651\n" + "", "\n" + " 654\n" + "", + "\n" + " 8552\n" + "", "\n" + " 9531\n" + "", "\n" + " 87465\n" + "" }; + for (int iii = 0; iii < testThatNotWork.length; iii++) { + final int jjj = iii; + Assertions.assertThrows(ExmlNodeDoesNotExist.class, () -> Exml.parseOne(testThatNotWork[jjj], elem.getClass(), ExmlTestIntrospectionObject.NODE_NAME)); + } + } + + @Test + public void testDefaultCaseSensitiveTrueAttribute() { + final TestAttributeObjectTrue elem = new TestAttributeObjectTrue(321, 654, 987, 159, 267, 264, 1524, 182445, -552, -965, -98885, -8754); + elem.valueA = 55; + elem.valueB = 78; + elem.valueC = 51; + elem.valueD = 24; + elem.setValueE(651); + elem.setValueF(654); + elem.setValueG(8552); + elem.setValueH(9531); + elem.setValueI(87465); + elem.setValueJ(8247); + elem.setValueK(885522); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionObject.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + + final String[] testThatWork = { + "", + "", }; + + Assertions.assertEquals(testThatWork[0], dataTest); + + for (int iii = 0; iii < testThatWork.length; iii++) { + final int jjj = iii; + final TestAttributeObjectTrue root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(testThatWork[jjj], elem.getClass(), ExmlTestIntrospectionObject.NODE_NAME)); + Assertions.assertEquals(55, root.valueA); + Assertions.assertEquals(78, root.valueB); + Assertions.assertEquals(51, root.valueC); + Assertions.assertEquals(24, root.valueD); + Assertions.assertEquals(651, root.getValueE()); + Assertions.assertEquals(654, root.getValueF()); + Assertions.assertEquals(8552, root.getValueG()); + Assertions.assertEquals(9531, root.getValueH()); + Assertions.assertEquals(87465, root.getValueI()); + Assertions.assertEquals(8247, root.getValueJ()); + Assertions.assertEquals(885522, root.getValueK()); + Assertions.assertEquals(321, root.finalValueM); + Assertions.assertEquals(654, root.finalValueN); + Assertions.assertEquals(987, root.finalValueO); + Assertions.assertEquals(159, root.finalValueP); + Assertions.assertEquals(267, root.finalValueQ); + Assertions.assertEquals(264, root.finalValueR); + Assertions.assertEquals(1524, root.finalValueS); + Assertions.assertEquals(182445, root.finalValueT); + Assertions.assertEquals(-552, root.getPFinalValueQ()); + Assertions.assertEquals(-965, root.getPFinalValueR()); + Assertions.assertEquals(-98885, root.getPFinalValueS()); + Assertions.assertEquals(-8754, root.getPFinalValueT()); + } + final String[] testThatNotWork = { "", "", "", "", "", + "", "", "", "", "", "", + "", "", "", "", "", "" }; + for (int iii = 0; iii < testThatNotWork.length; iii++) { final int jjj = iii; Assertions.assertThrows(ExmlAttributeDoesNotExist.class, () -> Exml.parseOne(testThatNotWork[jjj], elem.getClass(), ExmlTestIntrospectionObject.NODE_NAME)); } } } - diff --git a/test/src/test/atriasoft/exml/ExmlTestIntrospectionDecoratorManaged.java b/test/src/test/atriasoft/exml/ExmlTestIntrospectionDecoratorManaged.java index ce2172a..f92b6fd 100644 --- a/test/src/test/atriasoft/exml/ExmlTestIntrospectionDecoratorManaged.java +++ b/test/src/test/atriasoft/exml/ExmlTestIntrospectionDecoratorManaged.java @@ -5,35 +5,24 @@ */ package test.atriasoft.exml; - +import org.atriasoft.aknot.annotation.AknotDefaultManaged; +import org.atriasoft.aknot.annotation.AknotManaged; +import org.atriasoft.aknot.annotation.AknotName; import org.atriasoft.exml.Exml; -import org.atriasoft.exml.annotation.XmlDefaultManaged; -import org.atriasoft.exml.annotation.XmlManaged; -import org.atriasoft.exml.annotation.XmlName; - import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; public class ExmlTestIntrospectionDecoratorManaged { - static final String NODE_NAME = "elem"; - @BeforeAll - public static void beforeClass() { - Log.warning("================================================================"); - } - // ************************************************************ - // ** Managed - // ************************************************************ - - @XmlDefaultManaged + @AknotDefaultManaged public class TestNodeObject { - + public int valueA; - @XmlManaged + @AknotManaged public int valueB; - @XmlManaged(true) + @AknotManaged(true) public int valueC; - @XmlManaged(false) + @AknotManaged(false) public int valueD; private int valueE; @@ -44,13 +33,12 @@ public class ExmlTestIntrospectionDecoratorManaged { private int valueJ; private int valueK; - public final int finalValueM; - @XmlManaged + @AknotManaged public final int finalValueN; - @XmlManaged(true) + @AknotManaged(true) public final int finalValueO; - @XmlManaged(false) + @AknotManaged(false) public final int finalValueP; private final int pFinalValueQ; @@ -58,27 +46,8 @@ public class ExmlTestIntrospectionDecoratorManaged { private final int pFinalValueS; private final int pFinalValueT; - // note: this constructor is not managed by the system ==> some field can not be instantiate (unmanaged ...) - @XmlName({"finalValueM", "finalValueN", "finalValueO", "finalValueP", - "pFinalValueQ", "pFinalValueR", "pFinalValueS", "pFinalValueT"}) - public TestNodeObject( - final int finalValueM, final int finalValueN, final int finalValueO, final int finalValueP, - final int pFinalValueQ, final int pFinalValueR, final int pFinalValueS, final int pFinalValueT) { - this.finalValueM = finalValueM; - this.finalValueN = finalValueN; - this.finalValueO = finalValueO; - this.finalValueP = finalValueP; - this.pFinalValueQ = pFinalValueQ; - this.pFinalValueR = pFinalValueR; - this.pFinalValueS = pFinalValueS; - this.pFinalValueT = pFinalValueT; - } - - @XmlName({"finalValueM", "finalValueN", "finalValueO", - "pFinalValueQ", "pFinalValueR", "pFinalValueS"}) - public TestNodeObject( - final int finalValueM, final int finalValueN, final int finalValueO, - final int pFinalValueQ, final int pFinalValueR, final int pFinalValueS) { + @AknotName({ "finalValueM", "finalValueN", "finalValueO", "pFinalValueQ", "pFinalValueR", "pFinalValueS" }) + public TestNodeObject(final int finalValueM, final int finalValueN, final int finalValueO, final int pFinalValueQ, final int pFinalValueR, final int pFinalValueS) { this.finalValueM = finalValueM; this.finalValueN = finalValueN; this.finalValueO = finalValueO; @@ -89,78 +58,392 @@ public class ExmlTestIntrospectionDecoratorManaged { this.pFinalValueT = -555557; } - public int getValueE() { - return this.valueE; + // note: this constructor is not managed by the system ==> some field can not be instantiate (unmanaged ...) + @AknotName({ "finalValueM", "finalValueN", "finalValueO", "finalValueP", "pFinalValueQ", "pFinalValueR", "pFinalValueS", "pFinalValueT" }) + public TestNodeObject(final int finalValueM, final int finalValueN, final int finalValueO, final int finalValueP, final int pFinalValueQ, final int pFinalValueR, final int pFinalValueS, + final int pFinalValueT) { + this.finalValueM = finalValueM; + this.finalValueN = finalValueN; + this.finalValueO = finalValueO; + this.finalValueP = finalValueP; + this.pFinalValueQ = pFinalValueQ; + this.pFinalValueR = pFinalValueR; + this.pFinalValueS = pFinalValueS; + this.pFinalValueT = pFinalValueT; } - public void setValueE(final int valueE) { - this.valueE = valueE; - } - @XmlManaged - public int getValueF() { - return this.valueF; - } - public void setValueF(final int valueF) { - this.valueF = valueF; - } - public int getValueG() { - return this.valueG; - } - @XmlManaged - public void setValueG(final int valueG) { - this.valueG = valueG; - } - @XmlManaged(true) - public int getValueH() { - return this.valueH; - } - public void setValueH(final int valueH) { - this.valueH = valueH; - } - public int getValueI() { - return this.valueI; - } - @XmlManaged(true) - public void setValueI(final int valueI) { - this.valueI = valueI; - } - @XmlManaged(false) - public int getValueJ() { - return this.valueJ; - } - public void setValueJ(final int valueJ) { - this.valueJ = valueJ; - } - public int getValueK() { - return this.valueK; - } - @XmlManaged(false) - public void setValueK(final int valueK) { - this.valueK = valueK; - } - + public int getPFinalValueQ() { return this.pFinalValueQ; } - @XmlManaged + @AknotManaged public int getPFinalValueR() { return this.pFinalValueR; } - - @XmlManaged(true) + + @AknotManaged(true) public int getPFinalValueS() { return this.pFinalValueS; } - - @XmlManaged(false) + + @AknotManaged(false) public int getPFinalValueT() { return this.pFinalValueT; } + public int getValueE() { + return this.valueE; + } + + @AknotManaged + public int getValueF() { + return this.valueF; + } + + public int getValueG() { + return this.valueG; + } + + @AknotManaged(true) + public int getValueH() { + return this.valueH; + } + + public int getValueI() { + return this.valueI; + } + + @AknotManaged(false) + public int getValueJ() { + return this.valueJ; + } + + public int getValueK() { + return this.valueK; + } + + public void setValueE(final int valueE) { + this.valueE = valueE; + } + + public void setValueF(final int valueF) { + this.valueF = valueF; + } + + @AknotManaged + public void setValueG(final int valueG) { + this.valueG = valueG; + } + + public void setValueH(final int valueH) { + this.valueH = valueH; + } + + @AknotManaged(true) + public void setValueI(final int valueI) { + this.valueI = valueI; + } + + public void setValueJ(final int valueJ) { + this.valueJ = valueJ; + } + + @AknotManaged(false) + public void setValueK(final int valueK) { + this.valueK = valueK; + } + } + + @AknotDefaultManaged(false) + public class TestNodeObjectFalse { + public int valueA; + @AknotManaged + public int valueB; + @AknotManaged(true) + public int valueC; + @AknotManaged(false) + public int valueD; + + private int valueE; + private int valueF; + private int valueG; + private int valueH; + private int valueI; + private int valueJ; + private int valueK; + + public final int finalValueM; + @AknotManaged + public final int finalValueN; + @AknotManaged(true) + public final int finalValueO; + @AknotManaged(false) + public final int finalValueP; + + // special case for bijectivity with records + public final int finalValueQ; + public final int finalValueR; + public final int finalValueS; + public final int finalValueT; + + private final int pFinalValueQ; + private final int pFinalValueR; + private final int pFinalValueS; + private final int pFinalValueT; + + @AknotName({ "finalValueM", "finalValueN", "finalValueO", "finalValueP", "finalValueQ", "finalValueR", "finalValueS", "finalValueT", "pFinalValueQ", "pFinalValueR", "pFinalValueS", + "pFinalValueT" }) + public TestNodeObjectFalse(final int finalValueM, final int finalValueN, final int finalValueO, final int finalValueP, final int finalValueQ, @AknotManaged final int finalValueR, + @AknotManaged(true) final int finalValueS, @AknotManaged(false) final int finalValueT, final int pFinalValueQ, final int pFinalValueR, final int pFinalValueS, final int pFinalValueT) { + this.finalValueM = finalValueM; + this.finalValueN = finalValueN; + this.finalValueO = finalValueO; + this.finalValueP = finalValueP; + this.finalValueQ = finalValueQ; + this.finalValueR = finalValueR; + this.finalValueS = finalValueS; + this.finalValueT = finalValueT; + this.pFinalValueQ = pFinalValueQ; + this.pFinalValueR = pFinalValueR; + this.pFinalValueS = pFinalValueS; + this.pFinalValueT = pFinalValueT; + } + + public int getPFinalValueQ() { + return this.pFinalValueQ; + } + + @AknotManaged + public int getPFinalValueR() { + return this.pFinalValueR; + } + + @AknotManaged(true) + public int getPFinalValueS() { + return this.pFinalValueS; + } + + @AknotManaged(false) + public int getPFinalValueT() { + return this.pFinalValueT; + } + + public int getValueE() { + return this.valueE; + } + + @AknotManaged + public int getValueF() { + return this.valueF; + } + + public int getValueG() { + return this.valueG; + } + + @AknotManaged(true) + public int getValueH() { + return this.valueH; + } + + public int getValueI() { + return this.valueI; + } + + @AknotManaged(false) + public int getValueJ() { + return this.valueJ; + } + + public int getValueK() { + return this.valueK; + } + + public void setValueE(final int valueE) { + this.valueE = valueE; + } + + public void setValueF(final int valueF) { + this.valueF = valueF; + } + + @AknotManaged + public void setValueG(final int valueG) { + this.valueG = valueG; + } + + public void setValueH(final int valueH) { + this.valueH = valueH; + } + + @AknotManaged(true) + public void setValueI(final int valueI) { + this.valueI = valueI; + } + + public void setValueJ(final int valueJ) { + this.valueJ = valueJ; + } + + @AknotManaged(false) + public void setValueK(final int valueK) { + this.valueK = valueK; + } + + } + + @AknotDefaultManaged(true) + public class TestNodeObjectTrue { + public int valueA; + @AknotManaged + public int valueB; + @AknotManaged(true) + public int valueC; + @AknotManaged(false) + public int valueD; + + private int valueE; + private int valueF; + private int valueG; + private int valueH; + private int valueI; + private int valueJ; + private int valueK; + + public final int finalValueM; + @AknotManaged + public final int finalValueN; + @AknotManaged(true) + public final int finalValueO; + @AknotManaged(false) + public final int finalValueP; + + // special case for bijectivity with records + public final int finalValueQ; + public final int finalValueR; + public final int finalValueS; + public final int finalValueT; + + private final int pFinalValueQ; + private final int pFinalValueR; + private final int pFinalValueS; + private final int pFinalValueT; + + @AknotName({ "finalValueM", "finalValueN", "finalValueO", "finalValueP", "finalValueQ", "finalValueR", "finalValueS", "finalValueT", "pFinalValueQ", "pFinalValueR", "pFinalValueS", + "pFinalValueT" }) + public TestNodeObjectTrue(final int finalValueM, final int finalValueN, final int finalValueO, final int finalValueP, final int finalValueQ, @AknotManaged final int finalValueR, + @AknotManaged(true) final int finalValueS, @AknotManaged(false) final int finalValueT, final int pFinalValueQ, final int pFinalValueR, final int pFinalValueS, final int pFinalValueT) { + this.finalValueM = finalValueM; + this.finalValueN = finalValueN; + this.finalValueO = finalValueO; + this.finalValueP = finalValueP; + this.finalValueQ = finalValueQ; + this.finalValueR = finalValueR; + this.finalValueS = finalValueS; + this.finalValueT = finalValueT; + this.pFinalValueQ = pFinalValueQ; + this.pFinalValueR = pFinalValueR; + this.pFinalValueS = pFinalValueS; + this.pFinalValueT = pFinalValueT; + } + + public int getPFinalValueQ() { + return this.pFinalValueQ; + } + + @AknotManaged + public int getPFinalValueR() { + return this.pFinalValueR; + } + + @AknotManaged(true) + public int getPFinalValueS() { + return this.pFinalValueS; + } + + @AknotManaged(false) + public int getPFinalValueT() { + return this.pFinalValueT; + } + + public int getValueE() { + return this.valueE; + } + + @AknotManaged + public int getValueF() { + return this.valueF; + } + + public int getValueG() { + return this.valueG; + } + + @AknotManaged(true) + public int getValueH() { + return this.valueH; + } + + public int getValueI() { + return this.valueI; + } + + @AknotManaged(false) + public int getValueJ() { + return this.valueJ; + } + + public int getValueK() { + return this.valueK; + } + + public void setValueE(final int valueE) { + this.valueE = valueE; + } + + public void setValueF(final int valueF) { + this.valueF = valueF; + } + + @AknotManaged + public void setValueG(final int valueG) { + this.valueG = valueG; + } + + public void setValueH(final int valueH) { + this.valueH = valueH; + } + + @AknotManaged(true) + public void setValueI(final int valueI) { + this.valueI = valueI; + } + + public void setValueJ(final int valueJ) { + this.valueJ = valueJ; + } + + @AknotManaged(false) + public void setValueK(final int valueK) { + this.valueK = valueK; + } + + } + + static final String NODE_NAME = "elem"; + + @BeforeAll + public static void beforeClass() { + Log.warning("================================================================"); + } + + // ************************************************************ + // ** Managed + // ************************************************************ @Test - public void testDefaultManaged() { - TestNodeObject elem = new TestNodeObject(321,654,987,159, -552, -965, -98885, -8754); + public void testDefaultManaged() { + final TestNodeObject elem = new TestNodeObject(321, 654, 987, 159, -552, -965, -98885, -8754); elem.valueA = 55; elem.valueB = 78; elem.valueC = 51; @@ -173,27 +456,28 @@ public class ExmlTestIntrospectionDecoratorManaged { elem.setValueJ(8247); elem.setValueK(885522); - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionObject.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + dataTest); - Assertions.assertEquals("\n" - + " 321\n" - + " 654\n" - + " 987\n" - + " -552\n" - + " -965\n" - + " -98885\n" - + " 55\n" - + " 78\n" - + " 51\n" - + " 651\n" - + " 654\n" - + " 8552\n" - + " 9531\n" - + " 87465\n" - + "", dataTest); - + Assertions.assertEquals(""" + + 321 + 654 + 987 + -552 + -965 + -98885 + 55 + 78 + 51 + 651 + 654 + 8552 + 9531 + 87465 + """, dataTest); + final TestNodeObject root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeObject.class, ExmlTestIntrospectionObject.NODE_NAME)); Assertions.assertEquals(55, root.valueA); Assertions.assertEquals(78, root.valueB); @@ -216,138 +500,9 @@ public class ExmlTestIntrospectionDecoratorManaged { Assertions.assertEquals(-555557, root.getPFinalValueT()); } - @XmlDefaultManaged(true) - public class TestNodeObjectTrue { - public int valueA; - @XmlManaged - public int valueB; - @XmlManaged(true) - public int valueC; - @XmlManaged(false) - public int valueD; - - private int valueE; - private int valueF; - private int valueG; - private int valueH; - private int valueI; - private int valueJ; - private int valueK; - - - public final int finalValueM; - @XmlManaged - public final int finalValueN; - @XmlManaged(true) - public final int finalValueO; - @XmlManaged(false) - public final int finalValueP; - - // special case for bijectivity with records - public final int finalValueQ; - public final int finalValueR; - public final int finalValueS; - public final int finalValueT; - - private final int pFinalValueQ; - private final int pFinalValueR; - private final int pFinalValueS; - private final int pFinalValueT; - - @XmlName({"finalValueM", "finalValueN", "finalValueO", "finalValueP", - "finalValueQ", "finalValueR", "finalValueS", "finalValueT", - "pFinalValueQ", "pFinalValueR", "pFinalValueS", "pFinalValueT"}) - public TestNodeObjectTrue( - final int finalValueM, final int finalValueN, final int finalValueO, final int finalValueP, - final int finalValueQ, @XmlManaged final int finalValueR, @XmlManaged(true) final int finalValueS, @XmlManaged(false) final int finalValueT, - final int pFinalValueQ, final int pFinalValueR, final int pFinalValueS, final int pFinalValueT) { - this.finalValueM = finalValueM; - this.finalValueN = finalValueN; - this.finalValueO = finalValueO; - this.finalValueP = finalValueP; - this.finalValueQ = finalValueQ; - this.finalValueR = finalValueR; - this.finalValueS = finalValueS; - this.finalValueT = finalValueT; - this.pFinalValueQ = pFinalValueQ; - this.pFinalValueR = pFinalValueR; - this.pFinalValueS = pFinalValueS; - this.pFinalValueT = pFinalValueT; - } - - public int getValueE() { - return this.valueE; - } - public void setValueE(final int valueE) { - this.valueE = valueE; - } - @XmlManaged - public int getValueF() { - return this.valueF; - } - public void setValueF(final int valueF) { - this.valueF = valueF; - } - public int getValueG() { - return this.valueG; - } - @XmlManaged - public void setValueG(final int valueG) { - this.valueG = valueG; - } - @XmlManaged(true) - public int getValueH() { - return this.valueH; - } - public void setValueH(final int valueH) { - this.valueH = valueH; - } - public int getValueI() { - return this.valueI; - } - @XmlManaged(true) - public void setValueI(final int valueI) { - this.valueI = valueI; - } - @XmlManaged(false) - public int getValueJ() { - return this.valueJ; - } - public void setValueJ(final int valueJ) { - this.valueJ = valueJ; - } - public int getValueK() { - return this.valueK; - } - @XmlManaged(false) - public void setValueK(final int valueK) { - this.valueK = valueK; - } - - public int getPFinalValueQ() { - return this.pFinalValueQ; - } - - @XmlManaged - public int getPFinalValueR() { - return this.pFinalValueR; - } - - @XmlManaged(true) - public int getPFinalValueS() { - return this.pFinalValueS; - } - - @XmlManaged(false) - public int getPFinalValueT() { - return this.pFinalValueT; - } - - - } @Test - public void testDefaultManagedTrue() { - TestNodeObjectTrue elem = new TestNodeObjectTrue(321,654,987,159,267,264,1524,182445, -552, -965, -98885, -8754); + public void testDefaultManagedFalse() { + final TestNodeObjectFalse elem = new TestNodeObjectFalse(321, 654, 987, 159, 267, 264, 1524, 182445, -552, -965, -98885, -8754); elem.valueA = 55; elem.valueB = 78; elem.valueC = 51; @@ -360,206 +515,27 @@ public class ExmlTestIntrospectionDecoratorManaged { elem.setValueJ(8247); elem.setValueK(885522); - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionObject.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 159\n" - + " 182445\n" - + " -8754\n" - + " 24\n" - + " 8247\n" - + " 885522\n" - + "", dataTest); - - final TestNodeObjectTrue root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeObjectTrue.class, ExmlTestIntrospectionObject.NODE_NAME)); - Assertions.assertEquals(55, root.valueA); - Assertions.assertEquals(78, root.valueB); - Assertions.assertEquals(51, root.valueC); - Assertions.assertEquals(24, root.valueD); - Assertions.assertEquals(651, root.getValueE()); - Assertions.assertEquals(654, root.getValueF()); - Assertions.assertEquals(8552, root.getValueG()); - Assertions.assertEquals(9531, root.getValueH()); - Assertions.assertEquals(87465, root.getValueI()); - Assertions.assertEquals(8247, root.getValueJ()); - Assertions.assertEquals(885522, root.getValueK()); - Assertions.assertEquals(321, root.finalValueM); - Assertions.assertEquals(654, root.finalValueN); - Assertions.assertEquals(987, root.finalValueO); - Assertions.assertEquals(159, root.finalValueP); - Assertions.assertEquals(267, root.finalValueQ); - Assertions.assertEquals(264, root.finalValueR); - Assertions.assertEquals(1524, root.finalValueS); - Assertions.assertEquals(182445, root.finalValueT); - Assertions.assertEquals(-552, root.getPFinalValueQ()); - Assertions.assertEquals(-965, root.getPFinalValueR()); - Assertions.assertEquals(-98885, root.getPFinalValueS()); - Assertions.assertEquals(-8754, root.getPFinalValueT()); - } - - @XmlDefaultManaged(false) - public class TestNodeObjectFalse { - public int valueA; - @XmlManaged - public int valueB; - @XmlManaged(true) - public int valueC; - @XmlManaged(false) - public int valueD; + Assertions.assertEquals( + """ + + 321 + 159 + 267 + 182445 + -552 + -8754 + 55 + 24 + 651 + 8247 + 885522 + """, + dataTest); - private int valueE; - private int valueF; - private int valueG; - private int valueH; - private int valueI; - private int valueJ; - private int valueK; - - public final int finalValueM; - @XmlManaged - public final int finalValueN; - @XmlManaged(true) - public final int finalValueO; - @XmlManaged(false) - public final int finalValueP; - - // special case for bijectivity with records - public final int finalValueQ; - public final int finalValueR; - public final int finalValueS; - public final int finalValueT; - - private final int pFinalValueQ; - private final int pFinalValueR; - private final int pFinalValueS; - private final int pFinalValueT; - - @XmlName({"finalValueM", "finalValueN", "finalValueO", "finalValueP", - "finalValueQ", "finalValueR", "finalValueS", "finalValueT", - "pFinalValueQ", "pFinalValueR", "pFinalValueS", "pFinalValueT"}) - public TestNodeObjectFalse( - final int finalValueM, final int finalValueN, final int finalValueO, final int finalValueP, - final int finalValueQ, @XmlManaged final int finalValueR, @XmlManaged(true) final int finalValueS, @XmlManaged(false) final int finalValueT, - final int pFinalValueQ, final int pFinalValueR, final int pFinalValueS, final int pFinalValueT) { - this.finalValueM = finalValueM; - this.finalValueN = finalValueN; - this.finalValueO = finalValueO; - this.finalValueP = finalValueP; - this.finalValueQ = finalValueQ; - this.finalValueR = finalValueR; - this.finalValueS = finalValueS; - this.finalValueT = finalValueT; - this.pFinalValueQ = pFinalValueQ; - this.pFinalValueR = pFinalValueR; - this.pFinalValueS = pFinalValueS; - this.pFinalValueT = pFinalValueT; - } - - public int getValueE() { - return this.valueE; - } - public void setValueE(final int valueE) { - this.valueE = valueE; - } - @XmlManaged - public int getValueF() { - return this.valueF; - } - public void setValueF(final int valueF) { - this.valueF = valueF; - } - public int getValueG() { - return this.valueG; - } - @XmlManaged - public void setValueG(final int valueG) { - this.valueG = valueG; - } - @XmlManaged(true) - public int getValueH() { - return this.valueH; - } - public void setValueH(final int valueH) { - this.valueH = valueH; - } - public int getValueI() { - return this.valueI; - } - @XmlManaged(true) - public void setValueI(final int valueI) { - this.valueI = valueI; - } - @XmlManaged(false) - public int getValueJ() { - return this.valueJ; - } - public void setValueJ(final int valueJ) { - this.valueJ = valueJ; - } - public int getValueK() { - return this.valueK; - } - @XmlManaged(false) - public void setValueK(final int valueK) { - this.valueK = valueK; - } - - - public int getPFinalValueQ() { - return this.pFinalValueQ; - } - - @XmlManaged - public int getPFinalValueR() { - return this.pFinalValueR; - } - - @XmlManaged(true) - public int getPFinalValueS() { - return this.pFinalValueS; - } - - @XmlManaged(false) - public int getPFinalValueT() { - return this.pFinalValueT; - } - - } - @Test - public void testDefaultManagedFalse() { - TestNodeObjectFalse elem = new TestNodeObjectFalse(321,654,987,159,267,264,1524,182445, -552, -965, -98885, -8754); - elem.valueA = 55; - elem.valueB = 78; - elem.valueC = 51; - elem.valueD = 24; - elem.setValueE(651); - elem.setValueF(654); - elem.setValueG(8552); - elem.setValueH(9531); - elem.setValueI(87465); - elem.setValueJ(8247); - elem.setValueK(885522); - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionObject.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 321\n" - + " 159\n" - + " 267\n" - + " 182445\n" - + " -552\n" - + " -8754\n" - + " 55\n" - + " 24\n" - + " 651\n" - + " 8247\n" - + " 885522\n" - + "", dataTest); - final TestNodeObjectFalse root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeObjectFalse.class, ExmlTestIntrospectionObject.NODE_NAME)); Assertions.assertEquals(55, root.valueA); Assertions.assertEquals(78, root.valueB); @@ -586,5 +562,61 @@ public class ExmlTestIntrospectionDecoratorManaged { Assertions.assertEquals(-8754, root.getPFinalValueT()); } + @Test + public void testDefaultManagedTrue() { + final TestNodeObjectTrue elem = new TestNodeObjectTrue(321, 654, 987, 159, 267, 264, 1524, 182445, -552, -965, -98885, -8754); + elem.valueA = 55; + elem.valueB = 78; + elem.valueC = 51; + elem.valueD = 24; + elem.setValueE(651); + elem.setValueF(654); + elem.setValueG(8552); + elem.setValueH(9531); + elem.setValueI(87465); + elem.setValueJ(8247); + elem.setValueK(885522); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionObject.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals( + """ + + 159 + 182445 + -8754 + 24 + 8247 + 885522 + """, + dataTest); + + final TestNodeObjectTrue root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeObjectTrue.class, ExmlTestIntrospectionObject.NODE_NAME)); + Assertions.assertEquals(55, root.valueA); + Assertions.assertEquals(78, root.valueB); + Assertions.assertEquals(51, root.valueC); + Assertions.assertEquals(24, root.valueD); + Assertions.assertEquals(651, root.getValueE()); + Assertions.assertEquals(654, root.getValueF()); + Assertions.assertEquals(8552, root.getValueG()); + Assertions.assertEquals(9531, root.getValueH()); + Assertions.assertEquals(87465, root.getValueI()); + Assertions.assertEquals(8247, root.getValueJ()); + Assertions.assertEquals(885522, root.getValueK()); + Assertions.assertEquals(321, root.finalValueM); + Assertions.assertEquals(654, root.finalValueN); + Assertions.assertEquals(987, root.finalValueO); + Assertions.assertEquals(159, root.finalValueP); + Assertions.assertEquals(267, root.finalValueQ); + Assertions.assertEquals(264, root.finalValueR); + Assertions.assertEquals(1524, root.finalValueS); + Assertions.assertEquals(182445, root.finalValueT); + Assertions.assertEquals(-552, root.getPFinalValueQ()); + Assertions.assertEquals(-965, root.getPFinalValueR()); + Assertions.assertEquals(-98885, root.getPFinalValueS()); + Assertions.assertEquals(-8754, root.getPFinalValueT()); + } + } - diff --git a/test/src/test/atriasoft/exml/ExmlTestIntrospectionDecoratorNames.java b/test/src/test/atriasoft/exml/ExmlTestIntrospectionDecoratorNames.java index 29b85ee..e4ea030 100644 --- a/test/src/test/atriasoft/exml/ExmlTestIntrospectionDecoratorNames.java +++ b/test/src/test/atriasoft/exml/ExmlTestIntrospectionDecoratorNames.java @@ -5,36 +5,53 @@ */ package test.atriasoft.exml; - +import org.atriasoft.aknot.annotation.AknotName; +import org.atriasoft.aknot.annotation.AknotAttribute; +import org.atriasoft.aknot.annotation.AknotDefaultAttribute; import org.atriasoft.exml.Exml; -import org.atriasoft.exml.annotation.XmlAttribute; -import org.atriasoft.exml.annotation.XmlCaseSensitive; -import org.atriasoft.exml.annotation.XmlDefaultCaseSensitive; -import org.atriasoft.exml.annotation.XmlName; - import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; public class ExmlTestIntrospectionDecoratorNames { - static final String NODE_NAME = "elem"; - @BeforeAll - public static void beforeClass() { - Log.warning("================================================================"); + public class ChangingNames { + private String value1RataPlouf; + @AknotName("value2") + public String value2Ballet; + private String value3RataPlouf; + @AknotAttribute + @AknotName("value4") + public String value4Ballet; + + @AknotName("value1") + public String getValue1RataPlouf() { + return this.value1RataPlouf; + } + + @AknotAttribute + @AknotName("value3") + public String getValue3RataPlouf() { + return this.value3RataPlouf; + } + + public void setValue1RataPlouf(final String value1RataPlouf) { + this.value1RataPlouf = value1RataPlouf; + } + + public void setValue3RataPlouf(final String value3RataPlouf) { + this.value3RataPlouf = value3RataPlouf; + } } - // ************************************************************ - // ** Attribute - // ************************************************************ - - @XmlDefaultCaseSensitive + + @AknotDefaultAttribute public class TestNodeObject { - + public int valueA; - @XmlCaseSensitive + @AknotAttribute public int valueB; - @XmlCaseSensitive(true) + @AknotAttribute(true) public int valueC; - @XmlCaseSensitive(false) + @AknotAttribute(false) public int valueD; private int valueE; @@ -45,13 +62,12 @@ public class ExmlTestIntrospectionDecoratorNames { private int valueJ; private int valueK; - public final int finalValueM; - @XmlCaseSensitive + @AknotAttribute public final int finalValueN; - @XmlCaseSensitive(true) + @AknotAttribute(true) public final int finalValueO; - @XmlCaseSensitive(false) + @AknotAttribute(false) public final int finalValueP; // special case for bijectivity with records @@ -65,13 +81,10 @@ public class ExmlTestIntrospectionDecoratorNames { private final int pFinalValueS; private final int pFinalValueT; - @XmlName({"finalValueM", "finalValueN", "finalValueO", "finalValueP", - "finalValueQ", "finalValueR", "finalValueS", "finalValueT", - "pFinalValueQ", "pFinalValueR", "pFinalValueS", "pFinalValueT"}) - public TestNodeObject( - final int finalValueM, final int finalValueN, final int finalValueO, final int finalValueP, - final int finalValueQ, @XmlCaseSensitive final int finalValueR, @XmlCaseSensitive(true) final int finalValueS, @XmlCaseSensitive(false) final int finalValueT, - final int pFinalValueQ, final int pFinalValueR, final int pFinalValueS, final int pFinalValueT) { + @AknotName({ "finalValueM", "finalValueN", "finalValueO", "finalValueP", "finalValueQ", "finalValueR", "finalValueS", "finalValueT", "pFinalValueQ", "pFinalValueR", "pFinalValueS", + "pFinalValueT" }) + public TestNodeObject(final int finalValueM, final int finalValueN, final int finalValueO, final int finalValueP, final int finalValueQ, @AknotAttribute final int finalValueR, + @AknotAttribute(true) final int finalValueS, @AknotAttribute(false) final int finalValueT, final int pFinalValueQ, final int pFinalValueR, final int pFinalValueS, final int pFinalValueT) { this.finalValueM = finalValueM; this.finalValueN = finalValueN; this.finalValueO = finalValueO; @@ -86,78 +99,403 @@ public class ExmlTestIntrospectionDecoratorNames { this.pFinalValueT = pFinalValueT; } - public int getValueE() { - return this.valueE; - } - public void setValueE(final int valueE) { - this.valueE = valueE; - } - @XmlCaseSensitive - public int getValueF() { - return this.valueF; - } - public void setValueF(final int valueF) { - this.valueF = valueF; - } - public int getValueG() { - return this.valueG; - } - @XmlCaseSensitive - public void setValueG(final int valueG) { - this.valueG = valueG; - } - @XmlCaseSensitive(true) - public int getValueH() { - return this.valueH; - } - public void setValueH(final int valueH) { - this.valueH = valueH; - } - public int getValueI() { - return this.valueI; - } - @XmlCaseSensitive(true) - public void setValueI(final int valueI) { - this.valueI = valueI; - } - @XmlCaseSensitive(false) - public int getValueJ() { - return this.valueJ; - } - public void setValueJ(final int valueJ) { - this.valueJ = valueJ; - } - public int getValueK() { - return this.valueK; - } - @XmlCaseSensitive(false) - public void setValueK(final int valueK) { - this.valueK = valueK; - } - public int getPFinalValueQ() { return this.pFinalValueQ; } - @XmlCaseSensitive + @AknotAttribute public int getPFinalValueR() { return this.pFinalValueR; } - - @XmlCaseSensitive(true) + + @AknotAttribute(true) public int getPFinalValueS() { return this.pFinalValueS; } - - @XmlCaseSensitive(false) + + @AknotAttribute(false) public int getPFinalValueT() { return this.pFinalValueT; } + public int getValueE() { + return this.valueE; + } + + @AknotAttribute + public int getValueF() { + return this.valueF; + } + + public int getValueG() { + return this.valueG; + } + + @AknotAttribute(true) + public int getValueH() { + return this.valueH; + } + + public int getValueI() { + return this.valueI; + } + + @AknotAttribute(false) + public int getValueJ() { + return this.valueJ; + } + + public int getValueK() { + return this.valueK; + } + + public void setValueE(final int valueE) { + this.valueE = valueE; + } + + public void setValueF(final int valueF) { + this.valueF = valueF; + } + + @AknotAttribute + public void setValueG(final int valueG) { + this.valueG = valueG; + } + + public void setValueH(final int valueH) { + this.valueH = valueH; + } + + @AknotAttribute(true) + public void setValueI(final int valueI) { + this.valueI = valueI; + } + + public void setValueJ(final int valueJ) { + this.valueJ = valueJ; + } + + @AknotAttribute(false) + public void setValueK(final int valueK) { + this.valueK = valueK; + } + } + + @AknotDefaultAttribute(false) + public class TestNodeObjectFalse { + public int valueA; + @AknotAttribute + public int valueB; + @AknotAttribute(true) + public int valueC; + @AknotAttribute(false) + public int valueD; + + private int valueE; + private int valueF; + private int valueG; + private int valueH; + private int valueI; + private int valueJ; + private int valueK; + + public final int finalValueM; + @AknotAttribute + public final int finalValueN; + @AknotAttribute(true) + public final int finalValueO; + @AknotAttribute(false) + public final int finalValueP; + + // special case for bijectivity with records + public final int finalValueQ; + public final int finalValueR; + public final int finalValueS; + public final int finalValueT; + + private final int pFinalValueQ; + private final int pFinalValueR; + private final int pFinalValueS; + private final int pFinalValueT; + + @AknotName({ "finalValueM", "finalValueN", "finalValueO", "finalValueP", "finalValueQ", "finalValueR", "finalValueS", "finalValueT", "pFinalValueQ", "pFinalValueR", "pFinalValueS", + "pFinalValueT" }) + public TestNodeObjectFalse(final int finalValueM, final int finalValueN, final int finalValueO, final int finalValueP, final int finalValueQ, @AknotAttribute final int finalValueR, + @AknotAttribute(true) final int finalValueS, @AknotAttribute(false) final int finalValueT, final int pFinalValueQ, final int pFinalValueR, final int pFinalValueS, final int pFinalValueT) { + this.finalValueM = finalValueM; + this.finalValueN = finalValueN; + this.finalValueO = finalValueO; + this.finalValueP = finalValueP; + this.finalValueQ = finalValueQ; + this.finalValueR = finalValueR; + this.finalValueS = finalValueS; + this.finalValueT = finalValueT; + this.pFinalValueQ = pFinalValueQ; + this.pFinalValueR = pFinalValueR; + this.pFinalValueS = pFinalValueS; + this.pFinalValueT = pFinalValueT; + } + + public int getPFinalValueQ() { + return this.pFinalValueQ; + } + + @AknotAttribute + public int getPFinalValueR() { + return this.pFinalValueR; + } + + @AknotAttribute(true) + public int getPFinalValueS() { + return this.pFinalValueS; + } + + @AknotAttribute(false) + public int getPFinalValueT() { + return this.pFinalValueT; + } + + public int getValueE() { + return this.valueE; + } + + @AknotAttribute + public int getValueF() { + return this.valueF; + } + + public int getValueG() { + return this.valueG; + } + + @AknotAttribute(true) + public int getValueH() { + return this.valueH; + } + + public int getValueI() { + return this.valueI; + } + + @AknotAttribute(false) + public int getValueJ() { + return this.valueJ; + } + + public int getValueK() { + return this.valueK; + } + + public void setValueE(final int valueE) { + this.valueE = valueE; + } + + public void setValueF(final int valueF) { + this.valueF = valueF; + } + + @AknotAttribute + public void setValueG(final int valueG) { + this.valueG = valueG; + } + + public void setValueH(final int valueH) { + this.valueH = valueH; + } + + @AknotAttribute(true) + public void setValueI(final int valueI) { + this.valueI = valueI; + } + + public void setValueJ(final int valueJ) { + this.valueJ = valueJ; + } + + @AknotAttribute(false) + public void setValueK(final int valueK) { + this.valueK = valueK; + } + + } + + @AknotDefaultAttribute(true) + public class TestNodeObjectTrue { + public int valueA; + @AknotAttribute + public int valueB; + @AknotAttribute(true) + public int valueC; + @AknotAttribute(false) + public int valueD; + + private int valueE; + private int valueF; + private int valueG; + private int valueH; + private int valueI; + private int valueJ; + private int valueK; + + public final int finalValueM; + @AknotAttribute + public final int finalValueN; + @AknotAttribute(true) + public final int finalValueO; + @AknotAttribute(false) + public final int finalValueP; + + // special case for bijectivity with records + public final int finalValueQ; + public final int finalValueR; + public final int finalValueS; + public final int finalValueT; + + private final int pFinalValueQ; + private final int pFinalValueR; + private final int pFinalValueS; + private final int pFinalValueT; + + @AknotName({ "finalValueM", "finalValueN", "finalValueO", "finalValueP", "finalValueQ", "finalValueR", "finalValueS", "finalValueT", "pFinalValueQ", "pFinalValueR", "pFinalValueS", + "pFinalValueT" }) + public TestNodeObjectTrue(final int finalValueM, final int finalValueN, final int finalValueO, final int finalValueP, final int finalValueQ, @AknotAttribute final int finalValueR, + @AknotAttribute(true) final int finalValueS, @AknotAttribute(false) final int finalValueT, final int pFinalValueQ, final int pFinalValueR, final int pFinalValueS, final int pFinalValueT) { + this.finalValueM = finalValueM; + this.finalValueN = finalValueN; + this.finalValueO = finalValueO; + this.finalValueP = finalValueP; + this.finalValueQ = finalValueQ; + this.finalValueR = finalValueR; + this.finalValueS = finalValueS; + this.finalValueT = finalValueT; + this.pFinalValueQ = pFinalValueQ; + this.pFinalValueR = pFinalValueR; + this.pFinalValueS = pFinalValueS; + this.pFinalValueT = pFinalValueT; + } + + public int getPFinalValueQ() { + return this.pFinalValueQ; + } + + @AknotAttribute + public int getPFinalValueR() { + return this.pFinalValueR; + } + + @AknotAttribute(true) + public int getPFinalValueS() { + return this.pFinalValueS; + } + + @AknotAttribute(false) + public int getPFinalValueT() { + return this.pFinalValueT; + } + + public int getValueE() { + return this.valueE; + } + + @AknotAttribute + public int getValueF() { + return this.valueF; + } + + public int getValueG() { + return this.valueG; + } + + @AknotAttribute(true) + public int getValueH() { + return this.valueH; + } + + public int getValueI() { + return this.valueI; + } + + @AknotAttribute(false) + public int getValueJ() { + return this.valueJ; + } + + public int getValueK() { + return this.valueK; + } + + public void setValueE(final int valueE) { + this.valueE = valueE; + } + + public void setValueF(final int valueF) { + this.valueF = valueF; + } + + @AknotAttribute + public void setValueG(final int valueG) { + this.valueG = valueG; + } + + public void setValueH(final int valueH) { + this.valueH = valueH; + } + + @AknotAttribute(true) + public void setValueI(final int valueI) { + this.valueI = valueI; + } + + public void setValueJ(final int valueJ) { + this.valueJ = valueJ; + } + + @AknotAttribute(false) + public void setValueK(final int valueK) { + this.valueK = valueK; + } + + } + + static final String NODE_NAME = "elem"; + + @BeforeAll + public static void beforeClass() { + Log.warning("================================================================"); + } + // ************************************************************ + // ** Attribute + // ************************************************************ + @Test - public void testDefaultAttribute() { - TestNodeObject elem = new TestNodeObject(321,654,987,159,267,264,1524,182445, -552, -965, -98885, -8754); + public void testChangingNames() { + final ChangingNames elem = new ChangingNames(); + elem.value2Ballet = "55"; + elem.value4Ballet = "78"; + elem.setValue1RataPlouf("51"); + elem.setValue3RataPlouf("24"); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionObject.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + 51 + 55 + """, dataTest); + + final ChangingNames root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, ChangingNames.class, ExmlTestIntrospectionObject.NODE_NAME)); + Assertions.assertEquals("55", root.value2Ballet); + Assertions.assertEquals("78", root.value4Ballet); + Assertions.assertEquals("51", root.getValue1RataPlouf()); + Assertions.assertEquals("24", root.getValue3RataPlouf()); + } + + @Test + public void testDefaultAttribute() { + final TestNodeObject elem = new TestNodeObject(321, 654, 987, 159, 267, 264, 1524, 182445, -552, -965, -98885, -8754); elem.valueA = 55; elem.valueB = 78; elem.valueC = 51; @@ -170,19 +508,22 @@ public class ExmlTestIntrospectionDecoratorNames { elem.setValueJ(8247); elem.setValueK(885522); - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionObject.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + dataTest); - Assertions.assertEquals("\n" - + " 159\n" - + " 182445\n" - + " -8754\n" - + " 24\n" - + " 8247\n" - + " 885522\n" - + "", dataTest); - + Assertions.assertEquals( + """ + + 159 + 182445 + -8754 + 24 + 8247 + 885522 + """, + dataTest); + final TestNodeObject root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeObject.class, ExmlTestIntrospectionObject.NODE_NAME)); Assertions.assertEquals(55, root.valueA); Assertions.assertEquals(78, root.valueB); @@ -209,138 +550,9 @@ public class ExmlTestIntrospectionDecoratorNames { Assertions.assertEquals(-8754, root.getPFinalValueT()); } - @XmlDefaultCaseSensitive(true) - public class TestNodeObjectTrue { - public int valueA; - @XmlCaseSensitive - public int valueB; - @XmlCaseSensitive(true) - public int valueC; - @XmlCaseSensitive(false) - public int valueD; - - private int valueE; - private int valueF; - private int valueG; - private int valueH; - private int valueI; - private int valueJ; - private int valueK; - - - public final int finalValueM; - @XmlCaseSensitive - public final int finalValueN; - @XmlCaseSensitive(true) - public final int finalValueO; - @XmlCaseSensitive(false) - public final int finalValueP; - - // special case for bijectivity with records - public final int finalValueQ; - public final int finalValueR; - public final int finalValueS; - public final int finalValueT; - - private final int pFinalValueQ; - private final int pFinalValueR; - private final int pFinalValueS; - private final int pFinalValueT; - - @XmlName({"finalValueM", "finalValueN", "finalValueO", "finalValueP", - "finalValueQ", "finalValueR", "finalValueS", "finalValueT", - "pFinalValueQ", "pFinalValueR", "pFinalValueS", "pFinalValueT"}) - public TestNodeObjectTrue( - final int finalValueM, final int finalValueN, final int finalValueO, final int finalValueP, - final int finalValueQ, @XmlCaseSensitive final int finalValueR, @XmlCaseSensitive(true) final int finalValueS, @XmlCaseSensitive(false) final int finalValueT, - final int pFinalValueQ, final int pFinalValueR, final int pFinalValueS, final int pFinalValueT) { - this.finalValueM = finalValueM; - this.finalValueN = finalValueN; - this.finalValueO = finalValueO; - this.finalValueP = finalValueP; - this.finalValueQ = finalValueQ; - this.finalValueR = finalValueR; - this.finalValueS = finalValueS; - this.finalValueT = finalValueT; - this.pFinalValueQ = pFinalValueQ; - this.pFinalValueR = pFinalValueR; - this.pFinalValueS = pFinalValueS; - this.pFinalValueT = pFinalValueT; - } - - public int getValueE() { - return this.valueE; - } - public void setValueE(final int valueE) { - this.valueE = valueE; - } - @XmlCaseSensitive - public int getValueF() { - return this.valueF; - } - public void setValueF(final int valueF) { - this.valueF = valueF; - } - public int getValueG() { - return this.valueG; - } - @XmlCaseSensitive - public void setValueG(final int valueG) { - this.valueG = valueG; - } - @XmlCaseSensitive(true) - public int getValueH() { - return this.valueH; - } - public void setValueH(final int valueH) { - this.valueH = valueH; - } - public int getValueI() { - return this.valueI; - } - @XmlCaseSensitive(true) - public void setValueI(final int valueI) { - this.valueI = valueI; - } - @XmlCaseSensitive(false) - public int getValueJ() { - return this.valueJ; - } - public void setValueJ(final int valueJ) { - this.valueJ = valueJ; - } - public int getValueK() { - return this.valueK; - } - @XmlCaseSensitive(false) - public void setValueK(final int valueK) { - this.valueK = valueK; - } - - public int getPFinalValueQ() { - return this.pFinalValueQ; - } - - @XmlCaseSensitive - public int getPFinalValueR() { - return this.pFinalValueR; - } - - @XmlCaseSensitive(true) - public int getPFinalValueS() { - return this.pFinalValueS; - } - - @XmlCaseSensitive(false) - public int getPFinalValueT() { - return this.pFinalValueT; - } - - - } @Test - public void testDefaultAttributeTrue() { - TestNodeObjectTrue elem = new TestNodeObjectTrue(321,654,987,159,267,264,1524,182445, -552, -965, -98885, -8754); + public void testDefaultAttributeFalse() { + final TestNodeObjectFalse elem = new TestNodeObjectFalse(321, 654, 987, 159, 267, 264, 1524, 182445, -552, -965, -98885, -8754); elem.valueA = 55; elem.valueB = 78; elem.valueC = 51; @@ -353,206 +565,27 @@ public class ExmlTestIntrospectionDecoratorNames { elem.setValueJ(8247); elem.setValueK(885522); - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionObject.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 159\n" - + " 182445\n" - + " -8754\n" - + " 24\n" - + " 8247\n" - + " 885522\n" - + "", dataTest); - - final TestNodeObjectTrue root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeObjectTrue.class, ExmlTestIntrospectionObject.NODE_NAME)); - Assertions.assertEquals(55, root.valueA); - Assertions.assertEquals(78, root.valueB); - Assertions.assertEquals(51, root.valueC); - Assertions.assertEquals(24, root.valueD); - Assertions.assertEquals(651, root.getValueE()); - Assertions.assertEquals(654, root.getValueF()); - Assertions.assertEquals(8552, root.getValueG()); - Assertions.assertEquals(9531, root.getValueH()); - Assertions.assertEquals(87465, root.getValueI()); - Assertions.assertEquals(8247, root.getValueJ()); - Assertions.assertEquals(885522, root.getValueK()); - Assertions.assertEquals(321, root.finalValueM); - Assertions.assertEquals(654, root.finalValueN); - Assertions.assertEquals(987, root.finalValueO); - Assertions.assertEquals(159, root.finalValueP); - Assertions.assertEquals(267, root.finalValueQ); - Assertions.assertEquals(264, root.finalValueR); - Assertions.assertEquals(1524, root.finalValueS); - Assertions.assertEquals(182445, root.finalValueT); - Assertions.assertEquals(-552, root.getPFinalValueQ()); - Assertions.assertEquals(-965, root.getPFinalValueR()); - Assertions.assertEquals(-98885, root.getPFinalValueS()); - Assertions.assertEquals(-8754, root.getPFinalValueT()); - } - - @XmlDefaultCaseSensitive(false) - public class TestNodeObjectFalse { - public int valueA; - @XmlCaseSensitive - public int valueB; - @XmlCaseSensitive(true) - public int valueC; - @XmlCaseSensitive(false) - public int valueD; + Assertions.assertEquals( + """ + + 321 + 159 + 267 + 182445 + -552 + -8754 + 55 + 24 + 651 + 8247 + 885522 + """, + dataTest); - private int valueE; - private int valueF; - private int valueG; - private int valueH; - private int valueI; - private int valueJ; - private int valueK; - - public final int finalValueM; - @XmlCaseSensitive - public final int finalValueN; - @XmlCaseSensitive(true) - public final int finalValueO; - @XmlCaseSensitive(false) - public final int finalValueP; - - // special case for bijectivity with records - public final int finalValueQ; - public final int finalValueR; - public final int finalValueS; - public final int finalValueT; - - private final int pFinalValueQ; - private final int pFinalValueR; - private final int pFinalValueS; - private final int pFinalValueT; - - @XmlName({"finalValueM", "finalValueN", "finalValueO", "finalValueP", - "finalValueQ", "finalValueR", "finalValueS", "finalValueT", - "pFinalValueQ", "pFinalValueR", "pFinalValueS", "pFinalValueT"}) - public TestNodeObjectFalse( - final int finalValueM, final int finalValueN, final int finalValueO, final int finalValueP, - final int finalValueQ, @XmlCaseSensitive final int finalValueR, @XmlCaseSensitive(true) final int finalValueS, @XmlCaseSensitive(false) final int finalValueT, - final int pFinalValueQ, final int pFinalValueR, final int pFinalValueS, final int pFinalValueT) { - this.finalValueM = finalValueM; - this.finalValueN = finalValueN; - this.finalValueO = finalValueO; - this.finalValueP = finalValueP; - this.finalValueQ = finalValueQ; - this.finalValueR = finalValueR; - this.finalValueS = finalValueS; - this.finalValueT = finalValueT; - this.pFinalValueQ = pFinalValueQ; - this.pFinalValueR = pFinalValueR; - this.pFinalValueS = pFinalValueS; - this.pFinalValueT = pFinalValueT; - } - - public int getValueE() { - return this.valueE; - } - public void setValueE(final int valueE) { - this.valueE = valueE; - } - @XmlCaseSensitive - public int getValueF() { - return this.valueF; - } - public void setValueF(final int valueF) { - this.valueF = valueF; - } - public int getValueG() { - return this.valueG; - } - @XmlCaseSensitive - public void setValueG(final int valueG) { - this.valueG = valueG; - } - @XmlCaseSensitive(true) - public int getValueH() { - return this.valueH; - } - public void setValueH(final int valueH) { - this.valueH = valueH; - } - public int getValueI() { - return this.valueI; - } - @XmlCaseSensitive(true) - public void setValueI(final int valueI) { - this.valueI = valueI; - } - @XmlCaseSensitive(false) - public int getValueJ() { - return this.valueJ; - } - public void setValueJ(final int valueJ) { - this.valueJ = valueJ; - } - public int getValueK() { - return this.valueK; - } - @XmlCaseSensitive(false) - public void setValueK(final int valueK) { - this.valueK = valueK; - } - - - public int getPFinalValueQ() { - return this.pFinalValueQ; - } - - @XmlCaseSensitive - public int getPFinalValueR() { - return this.pFinalValueR; - } - - @XmlCaseSensitive(true) - public int getPFinalValueS() { - return this.pFinalValueS; - } - - @XmlCaseSensitive(false) - public int getPFinalValueT() { - return this.pFinalValueT; - } - - } - @Test - public void testDefaultAttributeFalse() { - TestNodeObjectFalse elem = new TestNodeObjectFalse(321,654,987,159,267,264,1524,182445, -552, -965, -98885, -8754); - elem.valueA = 55; - elem.valueB = 78; - elem.valueC = 51; - elem.valueD = 24; - elem.setValueE(651); - elem.setValueF(654); - elem.setValueG(8552); - elem.setValueH(9531); - elem.setValueI(87465); - elem.setValueJ(8247); - elem.setValueK(885522); - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionObject.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 321\n" - + " 159\n" - + " 267\n" - + " 182445\n" - + " -552\n" - + " -8754\n" - + " 55\n" - + " 24\n" - + " 651\n" - + " 8247\n" - + " 885522\n" - + "", dataTest); - final TestNodeObjectFalse root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeObjectFalse.class, ExmlTestIntrospectionObject.NODE_NAME)); Assertions.assertEquals(55, root.valueA); Assertions.assertEquals(78, root.valueB); @@ -578,55 +611,61 @@ public class ExmlTestIntrospectionDecoratorNames { Assertions.assertEquals(-98885, root.getPFinalValueS()); Assertions.assertEquals(-8754, root.getPFinalValueT()); } - public class ChangingNames { - private String value1RataPlouf; - @XmlName("value2") - public String value2Ballet; - private String value3RataPlouf; - @XmlAttribute - @XmlName("value4") - public String value4Ballet; - - @XmlName("value1") - public String getValue1RataPlouf() { - return this.value1RataPlouf; - } - public void setValue1RataPlouf(final String value1RataPlouf) { - this.value1RataPlouf = value1RataPlouf; - } - @XmlAttribute - @XmlName("value3") - public String getValue3RataPlouf() { - return this.value3RataPlouf; - } - - public void setValue3RataPlouf(final String value3RataPlouf) { - this.value3RataPlouf = value3RataPlouf; - } - } @Test - public void testChangingNames() { - ChangingNames elem = new ChangingNames(); - elem.value2Ballet = "55"; - elem.value4Ballet = "78"; - elem.setValue1RataPlouf("51"); - elem.setValue3RataPlouf("24"); + public void testDefaultAttributeTrue() { + final TestNodeObjectTrue elem = new TestNodeObjectTrue(321, 654, 987, 159, 267, 264, 1524, 182445, -552, -965, -98885, -8754); + elem.valueA = 55; + elem.valueB = 78; + elem.valueC = 51; + elem.valueD = 24; + elem.setValueE(651); + elem.setValueF(654); + elem.setValueG(8552); + elem.setValueH(9531); + elem.setValueI(87465); + elem.setValueJ(8247); + elem.setValueK(885522); - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionObject.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 51\n" - + " 55\n" - + "", dataTest); - - final ChangingNames root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, ChangingNames.class, ExmlTestIntrospectionObject.NODE_NAME)); - Assertions.assertEquals("55", root.value2Ballet); - Assertions.assertEquals("78", root.value4Ballet); - Assertions.assertEquals("51", root.getValue1RataPlouf()); - Assertions.assertEquals("24", root.getValue3RataPlouf()); + Assertions.assertEquals( + """ + + 159 + 182445 + -8754 + 24 + 8247 + 885522 + """, + dataTest); + + final TestNodeObjectTrue root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeObjectTrue.class, ExmlTestIntrospectionObject.NODE_NAME)); + Assertions.assertEquals(55, root.valueA); + Assertions.assertEquals(78, root.valueB); + Assertions.assertEquals(51, root.valueC); + Assertions.assertEquals(24, root.valueD); + Assertions.assertEquals(651, root.getValueE()); + Assertions.assertEquals(654, root.getValueF()); + Assertions.assertEquals(8552, root.getValueG()); + Assertions.assertEquals(9531, root.getValueH()); + Assertions.assertEquals(87465, root.getValueI()); + Assertions.assertEquals(8247, root.getValueJ()); + Assertions.assertEquals(885522, root.getValueK()); + Assertions.assertEquals(321, root.finalValueM); + Assertions.assertEquals(654, root.finalValueN); + Assertions.assertEquals(987, root.finalValueO); + Assertions.assertEquals(159, root.finalValueP); + Assertions.assertEquals(267, root.finalValueQ); + Assertions.assertEquals(264, root.finalValueR); + Assertions.assertEquals(1524, root.finalValueS); + Assertions.assertEquals(182445, root.finalValueT); + Assertions.assertEquals(-552, root.getPFinalValueQ()); + Assertions.assertEquals(-965, root.getPFinalValueR()); + Assertions.assertEquals(-98885, root.getPFinalValueS()); + Assertions.assertEquals(-8754, root.getPFinalValueT()); } } - diff --git a/test/src/test/atriasoft/exml/ExmlTestIntrospectionDecoratorOptionnal.java b/test/src/test/atriasoft/exml/ExmlTestIntrospectionDecoratorOptionnal.java index 6545734..fadfa6f 100644 --- a/test/src/test/atriasoft/exml/ExmlTestIntrospectionDecoratorOptionnal.java +++ b/test/src/test/atriasoft/exml/ExmlTestIntrospectionDecoratorOptionnal.java @@ -5,35 +5,24 @@ */ package test.atriasoft.exml; - +import org.atriasoft.aknot.annotation.AknotDefaultOptional; +import org.atriasoft.aknot.annotation.AknotName; +import org.atriasoft.aknot.annotation.AknotOptional; import org.atriasoft.exml.Exml; -import org.atriasoft.exml.annotation.XmlDefaultOptional; -import org.atriasoft.exml.annotation.XmlName; -import org.atriasoft.exml.annotation.XmlOptional; - import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; public class ExmlTestIntrospectionDecoratorOptionnal { - static final String NODE_NAME = "elem"; - @BeforeAll - public static void beforeClass() { - Log.warning("================================================================"); - } - // ************************************************************ - // ** Attribute - // ************************************************************ - - @XmlDefaultOptional + @AknotDefaultOptional public class TestNodeObject { - + public int valueA; - @XmlOptional + @AknotOptional public int valueB; - @XmlOptional(true) + @AknotOptional(true) public int valueC; - @XmlOptional(false) + @AknotOptional(false) public int valueD; private int valueE; @@ -44,13 +33,12 @@ public class ExmlTestIntrospectionDecoratorOptionnal { private int valueJ; private int valueK; - public final int finalValueM; - @XmlOptional + @AknotOptional public final int finalValueN; - @XmlOptional(true) + @AknotOptional(true) public final int finalValueO; - @XmlOptional(false) + @AknotOptional(false) public final int finalValueP; // special case for bijectivity with records @@ -64,13 +52,11 @@ public class ExmlTestIntrospectionDecoratorOptionnal { private final int pFinalValueS; private final int pFinalValueT; - @XmlName({"finalValueM", "finalValueN", "finalValueO", "finalValueP", - "finalValueQ", "finalValueR", "finalValueS", "finalValueT", - "pFinalValueQ", "pFinalValueR", "pFinalValueS", "pFinalValueT"}) - public TestNodeObject( - final int finalValueM, final int finalValueN, final int finalValueO, final int finalValueP, - final int finalValueQ, @XmlOptional final int finalValueR, @XmlOptional(true) final int finalValueS, @XmlOptional(false) final int finalValueT, - final int pFinalValueQ, final int pFinalValueR, final int pFinalValueS, final int pFinalValueT) { + @AknotName({ "finalValueM", "finalValueN", "finalValueO", "finalValueP", "finalValueQ", "finalValueR", "finalValueS", "finalValueT", "pFinalValueQ", "pFinalValueR", "pFinalValueS", + "pFinalValueT" }) + public TestNodeObject(final int finalValueM, final int finalValueN, final int finalValueO, final int finalValueP, final int finalValueQ, @AknotOptional final int finalValueR, + @AknotOptional(true) final int finalValueS, @AknotOptional(false) final int finalValueT, final int pFinalValueQ, final int pFinalValueR, final int pFinalValueS, + final int pFinalValueT) { this.finalValueM = finalValueM; this.finalValueN = finalValueN; this.finalValueO = finalValueO; @@ -85,78 +71,380 @@ public class ExmlTestIntrospectionDecoratorOptionnal { this.pFinalValueT = pFinalValueT; } - public int getValueE() { - return this.valueE; - } - public void setValueE(final int valueE) { - this.valueE = valueE; - } - @XmlOptional - public int getValueF() { - return this.valueF; - } - public void setValueF(final int valueF) { - this.valueF = valueF; - } - public int getValueG() { - return this.valueG; - } - @XmlOptional - public void setValueG(final int valueG) { - this.valueG = valueG; - } - @XmlOptional(true) - public int getValueH() { - return this.valueH; - } - public void setValueH(final int valueH) { - this.valueH = valueH; - } - public int getValueI() { - return this.valueI; - } - @XmlOptional(true) - public void setValueI(final int valueI) { - this.valueI = valueI; - } - @XmlOptional(false) - public int getValueJ() { - return this.valueJ; - } - public void setValueJ(final int valueJ) { - this.valueJ = valueJ; - } - public int getValueK() { - return this.valueK; - } - @XmlOptional(false) - public void setValueK(final int valueK) { - this.valueK = valueK; - } - public int getPFinalValueQ() { return this.pFinalValueQ; } - @XmlOptional + @AknotOptional public int getPFinalValueR() { return this.pFinalValueR; } - - @XmlOptional(true) + + @AknotOptional(true) public int getPFinalValueS() { return this.pFinalValueS; } - - @XmlOptional(false) + + @AknotOptional(false) public int getPFinalValueT() { return this.pFinalValueT; } + public int getValueE() { + return this.valueE; + } + + @AknotOptional + public int getValueF() { + return this.valueF; + } + + public int getValueG() { + return this.valueG; + } + + @AknotOptional(true) + public int getValueH() { + return this.valueH; + } + + public int getValueI() { + return this.valueI; + } + + @AknotOptional(false) + public int getValueJ() { + return this.valueJ; + } + + public int getValueK() { + return this.valueK; + } + + public void setValueE(final int valueE) { + this.valueE = valueE; + } + + public void setValueF(final int valueF) { + this.valueF = valueF; + } + + @AknotOptional + public void setValueG(final int valueG) { + this.valueG = valueG; + } + + public void setValueH(final int valueH) { + this.valueH = valueH; + } + + @AknotOptional(true) + public void setValueI(final int valueI) { + this.valueI = valueI; + } + + public void setValueJ(final int valueJ) { + this.valueJ = valueJ; + } + + @AknotOptional(false) + public void setValueK(final int valueK) { + this.valueK = valueK; + } + } + + @AknotDefaultOptional(false) + public class TestNodeObjectFalse { + public int valueA; + @AknotOptional + public int valueB; + @AknotOptional(true) + public int valueC; + @AknotOptional(false) + public int valueD; + + private int valueE; + private int valueF; + private int valueG; + private int valueH; + private int valueI; + private int valueJ; + private int valueK; + + public final int finalValueM; + @AknotOptional + public final int finalValueN; + @AknotOptional(true) + public final int finalValueO; + @AknotOptional(false) + public final int finalValueP; + + // special case for bijectivity with records + public final int finalValueQ; + public final int finalValueR; + public final int finalValueS; + public final int finalValueT; + + private final int pFinalValueQ; + private final int pFinalValueR; + private final int pFinalValueS; + private final int pFinalValueT; + + @AknotName({ "finalValueM", "finalValueN", "finalValueO", "finalValueP", "finalValueQ", "finalValueR", "finalValueS", "finalValueT", "pFinalValueQ", "pFinalValueR", "pFinalValueS", + "pFinalValueT" }) + public TestNodeObjectFalse(final int finalValueM, final int finalValueN, final int finalValueO, final int finalValueP, final int finalValueQ, @AknotOptional final int finalValueR, + @AknotOptional(true) final int finalValueS, @AknotOptional(false) final int finalValueT, final int pFinalValueQ, final int pFinalValueR, final int pFinalValueS, + final int pFinalValueT) { + this.finalValueM = finalValueM; + this.finalValueN = finalValueN; + this.finalValueO = finalValueO; + this.finalValueP = finalValueP; + this.finalValueQ = finalValueQ; + this.finalValueR = finalValueR; + this.finalValueS = finalValueS; + this.finalValueT = finalValueT; + this.pFinalValueQ = pFinalValueQ; + this.pFinalValueR = pFinalValueR; + this.pFinalValueS = pFinalValueS; + this.pFinalValueT = pFinalValueT; + } + + public int getPFinalValueQ() { + return this.pFinalValueQ; + } + + @AknotOptional + public int getPFinalValueR() { + return this.pFinalValueR; + } + + @AknotOptional(true) + public int getPFinalValueS() { + return this.pFinalValueS; + } + + @AknotOptional(false) + public int getPFinalValueT() { + return this.pFinalValueT; + } + + public int getValueE() { + return this.valueE; + } + + @AknotOptional + public int getValueF() { + return this.valueF; + } + + public int getValueG() { + return this.valueG; + } + + @AknotOptional(true) + public int getValueH() { + return this.valueH; + } + + public int getValueI() { + return this.valueI; + } + + @AknotOptional(false) + public int getValueJ() { + return this.valueJ; + } + + public int getValueK() { + return this.valueK; + } + + public void setValueE(final int valueE) { + this.valueE = valueE; + } + + public void setValueF(final int valueF) { + this.valueF = valueF; + } + + @AknotOptional + public void setValueG(final int valueG) { + this.valueG = valueG; + } + + public void setValueH(final int valueH) { + this.valueH = valueH; + } + + @AknotOptional(true) + public void setValueI(final int valueI) { + this.valueI = valueI; + } + + public void setValueJ(final int valueJ) { + this.valueJ = valueJ; + } + + @AknotOptional(false) + public void setValueK(final int valueK) { + this.valueK = valueK; + } + + } + + @AknotDefaultOptional(true) + public class TestNodeObjectTrue { + public int valueA; + @AknotOptional + public int valueB; + @AknotOptional(true) + public int valueC; + @AknotOptional(false) + public int valueD; + + private int valueE; + private int valueF; + private int valueG; + private int valueH; + private int valueI; + private int valueJ; + private int valueK; + + public final int finalValueM; + @AknotOptional + public final int finalValueN; + @AknotOptional(true) + public final int finalValueO; + @AknotOptional(false) + public final int finalValueP; + + // special case for bijectivity with records + public final int finalValueQ; + public final int finalValueR; + public final int finalValueS; + public final int finalValueT; + + private final int pFinalValueQ; + private final int pFinalValueR; + private final int pFinalValueS; + private final int pFinalValueT; + + @AknotName({ "finalValueM", "finalValueN", "finalValueO", "finalValueP", "finalValueQ", "finalValueR", "finalValueS", "finalValueT", "pFinalValueQ", "pFinalValueR", "pFinalValueS", + "pFinalValueT" }) + public TestNodeObjectTrue(final int finalValueM, final int finalValueN, final int finalValueO, final int finalValueP, final int finalValueQ, @AknotOptional final int finalValueR, + @AknotOptional(true) final int finalValueS, @AknotOptional(false) final int finalValueT, final int pFinalValueQ, final int pFinalValueR, final int pFinalValueS, + final int pFinalValueT) { + this.finalValueM = finalValueM; + this.finalValueN = finalValueN; + this.finalValueO = finalValueO; + this.finalValueP = finalValueP; + this.finalValueQ = finalValueQ; + this.finalValueR = finalValueR; + this.finalValueS = finalValueS; + this.finalValueT = finalValueT; + this.pFinalValueQ = pFinalValueQ; + this.pFinalValueR = pFinalValueR; + this.pFinalValueS = pFinalValueS; + this.pFinalValueT = pFinalValueT; + } + + public int getPFinalValueQ() { + return this.pFinalValueQ; + } + + @AknotOptional + public int getPFinalValueR() { + return this.pFinalValueR; + } + + @AknotOptional(true) + public int getPFinalValueS() { + return this.pFinalValueS; + } + + @AknotOptional(false) + public int getPFinalValueT() { + return this.pFinalValueT; + } + + public int getValueE() { + return this.valueE; + } + + @AknotOptional + public int getValueF() { + return this.valueF; + } + + public int getValueG() { + return this.valueG; + } + + @AknotOptional(true) + public int getValueH() { + return this.valueH; + } + + public int getValueI() { + return this.valueI; + } + + @AknotOptional(false) + public int getValueJ() { + return this.valueJ; + } + + public int getValueK() { + return this.valueK; + } + + public void setValueE(final int valueE) { + this.valueE = valueE; + } + + public void setValueF(final int valueF) { + this.valueF = valueF; + } + + @AknotOptional + public void setValueG(final int valueG) { + this.valueG = valueG; + } + + public void setValueH(final int valueH) { + this.valueH = valueH; + } + + @AknotOptional(true) + public void setValueI(final int valueI) { + this.valueI = valueI; + } + + public void setValueJ(final int valueJ) { + this.valueJ = valueJ; + } + + @AknotOptional(false) + public void setValueK(final int valueK) { + this.valueK = valueK; + } + + } + + static final String NODE_NAME = "elem"; + + @BeforeAll + public static void beforeClass() { + Log.warning("================================================================"); + } + + // ************************************************************ + // ** Attribute + // ************************************************************ @Test - public void testDefaultAttribute() { - TestNodeObject elem = new TestNodeObject(321,654,987,159,267,264,1524,182445, -552, -965, -98885, -8754); + public void testDefaultAttribute() { + final TestNodeObject elem = new TestNodeObject(321, 654, 987, 159, 267, 264, 1524, 182445, -552, -965, -98885, -8754); elem.valueA = 55; elem.valueB = 78; elem.valueC = 51; @@ -169,19 +457,22 @@ public class ExmlTestIntrospectionDecoratorOptionnal { elem.setValueJ(8247); elem.setValueK(885522); - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionObject.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + dataTest); - Assertions.assertEquals("\n" - + " 159\n" - + " 182445\n" - + " -8754\n" - + " 24\n" - + " 8247\n" - + " 885522\n" - + "", dataTest); - + Assertions.assertEquals( + """ + + 159 + 182445 + -8754 + 24 + 8247 + 885522 + """, + dataTest); + final TestNodeObject root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeObject.class, ExmlTestIntrospectionObject.NODE_NAME)); Assertions.assertEquals(55, root.valueA); Assertions.assertEquals(78, root.valueB); @@ -208,138 +499,9 @@ public class ExmlTestIntrospectionDecoratorOptionnal { Assertions.assertEquals(-8754, root.getPFinalValueT()); } - @XmlDefaultOptional(true) - public class TestNodeObjectTrue { - public int valueA; - @XmlOptional - public int valueB; - @XmlOptional(true) - public int valueC; - @XmlOptional(false) - public int valueD; - - private int valueE; - private int valueF; - private int valueG; - private int valueH; - private int valueI; - private int valueJ; - private int valueK; - - - public final int finalValueM; - @XmlOptional - public final int finalValueN; - @XmlOptional(true) - public final int finalValueO; - @XmlOptional(false) - public final int finalValueP; - - // special case for bijectivity with records - public final int finalValueQ; - public final int finalValueR; - public final int finalValueS; - public final int finalValueT; - - private final int pFinalValueQ; - private final int pFinalValueR; - private final int pFinalValueS; - private final int pFinalValueT; - - @XmlName({"finalValueM", "finalValueN", "finalValueO", "finalValueP", - "finalValueQ", "finalValueR", "finalValueS", "finalValueT", - "pFinalValueQ", "pFinalValueR", "pFinalValueS", "pFinalValueT"}) - public TestNodeObjectTrue( - final int finalValueM, final int finalValueN, final int finalValueO, final int finalValueP, - final int finalValueQ, @XmlOptional final int finalValueR, @XmlOptional(true) final int finalValueS, @XmlOptional(false) final int finalValueT, - final int pFinalValueQ, final int pFinalValueR, final int pFinalValueS, final int pFinalValueT) { - this.finalValueM = finalValueM; - this.finalValueN = finalValueN; - this.finalValueO = finalValueO; - this.finalValueP = finalValueP; - this.finalValueQ = finalValueQ; - this.finalValueR = finalValueR; - this.finalValueS = finalValueS; - this.finalValueT = finalValueT; - this.pFinalValueQ = pFinalValueQ; - this.pFinalValueR = pFinalValueR; - this.pFinalValueS = pFinalValueS; - this.pFinalValueT = pFinalValueT; - } - - public int getValueE() { - return this.valueE; - } - public void setValueE(final int valueE) { - this.valueE = valueE; - } - @XmlOptional - public int getValueF() { - return this.valueF; - } - public void setValueF(final int valueF) { - this.valueF = valueF; - } - public int getValueG() { - return this.valueG; - } - @XmlOptional - public void setValueG(final int valueG) { - this.valueG = valueG; - } - @XmlOptional(true) - public int getValueH() { - return this.valueH; - } - public void setValueH(final int valueH) { - this.valueH = valueH; - } - public int getValueI() { - return this.valueI; - } - @XmlOptional(true) - public void setValueI(final int valueI) { - this.valueI = valueI; - } - @XmlOptional(false) - public int getValueJ() { - return this.valueJ; - } - public void setValueJ(final int valueJ) { - this.valueJ = valueJ; - } - public int getValueK() { - return this.valueK; - } - @XmlOptional(false) - public void setValueK(final int valueK) { - this.valueK = valueK; - } - - public int getPFinalValueQ() { - return this.pFinalValueQ; - } - - @XmlOptional - public int getPFinalValueR() { - return this.pFinalValueR; - } - - @XmlOptional(true) - public int getPFinalValueS() { - return this.pFinalValueS; - } - - @XmlOptional(false) - public int getPFinalValueT() { - return this.pFinalValueT; - } - - - } @Test - public void testDefaultAttributeTrue() { - TestNodeObjectTrue elem = new TestNodeObjectTrue(321,654,987,159,267,264,1524,182445, -552, -965, -98885, -8754); + public void testDefaultAttributeFalse() { + final TestNodeObjectFalse elem = new TestNodeObjectFalse(321, 654, 987, 159, 267, 264, 1524, 182445, -552, -965, -98885, -8754); elem.valueA = 55; elem.valueB = 78; elem.valueC = 51; @@ -352,206 +514,27 @@ public class ExmlTestIntrospectionDecoratorOptionnal { elem.setValueJ(8247); elem.setValueK(885522); - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionObject.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 159\n" - + " 182445\n" - + " -8754\n" - + " 24\n" - + " 8247\n" - + " 885522\n" - + "", dataTest); - - final TestNodeObjectTrue root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeObjectTrue.class, ExmlTestIntrospectionObject.NODE_NAME)); - Assertions.assertEquals(55, root.valueA); - Assertions.assertEquals(78, root.valueB); - Assertions.assertEquals(51, root.valueC); - Assertions.assertEquals(24, root.valueD); - Assertions.assertEquals(651, root.getValueE()); - Assertions.assertEquals(654, root.getValueF()); - Assertions.assertEquals(8552, root.getValueG()); - Assertions.assertEquals(9531, root.getValueH()); - Assertions.assertEquals(87465, root.getValueI()); - Assertions.assertEquals(8247, root.getValueJ()); - Assertions.assertEquals(885522, root.getValueK()); - Assertions.assertEquals(321, root.finalValueM); - Assertions.assertEquals(654, root.finalValueN); - Assertions.assertEquals(987, root.finalValueO); - Assertions.assertEquals(159, root.finalValueP); - Assertions.assertEquals(267, root.finalValueQ); - Assertions.assertEquals(264, root.finalValueR); - Assertions.assertEquals(1524, root.finalValueS); - Assertions.assertEquals(182445, root.finalValueT); - Assertions.assertEquals(-552, root.getPFinalValueQ()); - Assertions.assertEquals(-965, root.getPFinalValueR()); - Assertions.assertEquals(-98885, root.getPFinalValueS()); - Assertions.assertEquals(-8754, root.getPFinalValueT()); - } - - @XmlDefaultOptional(false) - public class TestNodeObjectFalse { - public int valueA; - @XmlOptional - public int valueB; - @XmlOptional(true) - public int valueC; - @XmlOptional(false) - public int valueD; + Assertions.assertEquals( + """ + + 321 + 159 + 267 + 182445 + -552 + -8754 + 55 + 24 + 651 + 8247 + 885522 + """, + dataTest); - private int valueE; - private int valueF; - private int valueG; - private int valueH; - private int valueI; - private int valueJ; - private int valueK; - - public final int finalValueM; - @XmlOptional - public final int finalValueN; - @XmlOptional(true) - public final int finalValueO; - @XmlOptional(false) - public final int finalValueP; - - // special case for bijectivity with records - public final int finalValueQ; - public final int finalValueR; - public final int finalValueS; - public final int finalValueT; - - private final int pFinalValueQ; - private final int pFinalValueR; - private final int pFinalValueS; - private final int pFinalValueT; - - @XmlName({"finalValueM", "finalValueN", "finalValueO", "finalValueP", - "finalValueQ", "finalValueR", "finalValueS", "finalValueT", - "pFinalValueQ", "pFinalValueR", "pFinalValueS", "pFinalValueT"}) - public TestNodeObjectFalse( - final int finalValueM, final int finalValueN, final int finalValueO, final int finalValueP, - final int finalValueQ, @XmlOptional final int finalValueR, @XmlOptional(true) final int finalValueS, @XmlOptional(false) final int finalValueT, - final int pFinalValueQ, final int pFinalValueR, final int pFinalValueS, final int pFinalValueT) { - this.finalValueM = finalValueM; - this.finalValueN = finalValueN; - this.finalValueO = finalValueO; - this.finalValueP = finalValueP; - this.finalValueQ = finalValueQ; - this.finalValueR = finalValueR; - this.finalValueS = finalValueS; - this.finalValueT = finalValueT; - this.pFinalValueQ = pFinalValueQ; - this.pFinalValueR = pFinalValueR; - this.pFinalValueS = pFinalValueS; - this.pFinalValueT = pFinalValueT; - } - - public int getValueE() { - return this.valueE; - } - public void setValueE(final int valueE) { - this.valueE = valueE; - } - @XmlOptional - public int getValueF() { - return this.valueF; - } - public void setValueF(final int valueF) { - this.valueF = valueF; - } - public int getValueG() { - return this.valueG; - } - @XmlOptional - public void setValueG(final int valueG) { - this.valueG = valueG; - } - @XmlOptional(true) - public int getValueH() { - return this.valueH; - } - public void setValueH(final int valueH) { - this.valueH = valueH; - } - public int getValueI() { - return this.valueI; - } - @XmlOptional(true) - public void setValueI(final int valueI) { - this.valueI = valueI; - } - @XmlOptional(false) - public int getValueJ() { - return this.valueJ; - } - public void setValueJ(final int valueJ) { - this.valueJ = valueJ; - } - public int getValueK() { - return this.valueK; - } - @XmlOptional(false) - public void setValueK(final int valueK) { - this.valueK = valueK; - } - - - public int getPFinalValueQ() { - return this.pFinalValueQ; - } - - @XmlOptional - public int getPFinalValueR() { - return this.pFinalValueR; - } - - @XmlOptional(true) - public int getPFinalValueS() { - return this.pFinalValueS; - } - - @XmlOptional(false) - public int getPFinalValueT() { - return this.pFinalValueT; - } - - } - @Test - public void testDefaultAttributeFalse() { - TestNodeObjectFalse elem = new TestNodeObjectFalse(321,654,987,159,267,264,1524,182445, -552, -965, -98885, -8754); - elem.valueA = 55; - elem.valueB = 78; - elem.valueC = 51; - elem.valueD = 24; - elem.setValueE(651); - elem.setValueF(654); - elem.setValueG(8552); - elem.setValueH(9531); - elem.setValueI(87465); - elem.setValueJ(8247); - elem.setValueK(885522); - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionObject.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 321\n" - + " 159\n" - + " 267\n" - + " 182445\n" - + " -552\n" - + " -8754\n" - + " 55\n" - + " 24\n" - + " 651\n" - + " 8247\n" - + " 885522\n" - + "", dataTest); - final TestNodeObjectFalse root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeObjectFalse.class, ExmlTestIntrospectionObject.NODE_NAME)); Assertions.assertEquals(55, root.valueA); Assertions.assertEquals(78, root.valueB); @@ -578,5 +561,61 @@ public class ExmlTestIntrospectionDecoratorOptionnal { Assertions.assertEquals(-8754, root.getPFinalValueT()); } + @Test + public void testDefaultAttributeTrue() { + final TestNodeObjectTrue elem = new TestNodeObjectTrue(321, 654, 987, 159, 267, 264, 1524, 182445, -552, -965, -98885, -8754); + elem.valueA = 55; + elem.valueB = 78; + elem.valueC = 51; + elem.valueD = 24; + elem.setValueE(651); + elem.setValueF(654); + elem.setValueG(8552); + elem.setValueH(9531); + elem.setValueI(87465); + elem.setValueJ(8247); + elem.setValueK(885522); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionObject.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals( + """ + + 159 + 182445 + -8754 + 24 + 8247 + 885522 + """, + dataTest); + + final TestNodeObjectTrue root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeObjectTrue.class, ExmlTestIntrospectionObject.NODE_NAME)); + Assertions.assertEquals(55, root.valueA); + Assertions.assertEquals(78, root.valueB); + Assertions.assertEquals(51, root.valueC); + Assertions.assertEquals(24, root.valueD); + Assertions.assertEquals(651, root.getValueE()); + Assertions.assertEquals(654, root.getValueF()); + Assertions.assertEquals(8552, root.getValueG()); + Assertions.assertEquals(9531, root.getValueH()); + Assertions.assertEquals(87465, root.getValueI()); + Assertions.assertEquals(8247, root.getValueJ()); + Assertions.assertEquals(885522, root.getValueK()); + Assertions.assertEquals(321, root.finalValueM); + Assertions.assertEquals(654, root.finalValueN); + Assertions.assertEquals(987, root.finalValueO); + Assertions.assertEquals(159, root.finalValueP); + Assertions.assertEquals(267, root.finalValueQ); + Assertions.assertEquals(264, root.finalValueR); + Assertions.assertEquals(1524, root.finalValueS); + Assertions.assertEquals(182445, root.finalValueT); + Assertions.assertEquals(-552, root.getPFinalValueQ()); + Assertions.assertEquals(-965, root.getPFinalValueR()); + Assertions.assertEquals(-98885, root.getPFinalValueS()); + Assertions.assertEquals(-8754, root.getPFinalValueT()); + } + } - diff --git a/test/src/test/atriasoft/exml/ExmlTestIntrospectionDouble.java b/test/src/test/atriasoft/exml/ExmlTestIntrospectionDouble.java index 126f189..c4bec90 100644 --- a/test/src/test/atriasoft/exml/ExmlTestIntrospectionDouble.java +++ b/test/src/test/atriasoft/exml/ExmlTestIntrospectionDouble.java @@ -7,61 +7,245 @@ package test.atriasoft.exml; import java.util.List; +import org.atriasoft.aknot.annotation.AknotList; +import org.atriasoft.aknot.annotation.AknotDefaultAttribute; import org.atriasoft.exml.Exml; -import org.atriasoft.exml.annotation.XmlDefaultAttibute; -import org.atriasoft.exml.annotation.XmlList; - import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; public class ExmlTestIntrospectionDouble { - static final String NODE_NAME = "elem"; - @BeforeAll - public static void beforeClass() { - Log.warning("================================================================"); + @AknotDefaultAttribute + public class TestArrayDouble { + public Double[] values; } - - @XmlDefaultAttibute + + @AknotDefaultAttribute + public class TestArrayDoubleFunc { + private Double[] values; + + public Double[] getValues() { + return this.values; + } + + public void setValues(final Double[] values) { + this.values = values; + } + + } + + public class TestArrayNodeDouble { + public Double[] values; + } + + public class TestArrayNodeDoubleFunc { + private Double[] values; + + public Double[] getValues() { + return this.values; + } + + public void setValues(final Double[] values) { + this.values = values; + } + + } + + public class TestArrayNodeDoubleStructured { + @AknotList(value = "elem") + public Double[] values; + } + + @AknotDefaultAttribute public class TestDouble { public Double valueA; public Double valueB; public Double valueNull; } - @Test - public void testModelDouble() { - TestDouble elem = new TestDouble(); - elem.valueA = (double)12; - elem.valueB = (double)-13; - elem.valueNull = null; + + @AknotDefaultAttribute + public class TestDoubleFunc { + private Double valueA; + private Double valueB; + private Double valueNull; - StringBuilder builder = new StringBuilder(); + public Double getValueA() { + return this.valueA; + } + + public Double getValueB() { + return this.valueB; + } + + public Double getValueNull() { + return this.valueNull; + } + + public void setValueA(final Double valueA) { + this.valueA = valueA; + } + + public void setValueB(final Double valueB) { + this.valueB = valueB; + } + + public void setValueNull(final Double valueNull) { + this.valueNull = valueNull; + } + } + + @AknotDefaultAttribute + public class TestListDouble { + public List values; + } + + @AknotDefaultAttribute + public class TestListDoubleFunc { + private List values; + + public List getValues() { + return this.values; + } + + public void setValues(final List values) { + this.values = values; + } + } + + public class TestListNodeDouble { + public List values; + } + + // Note this is set in static to test an other part of code... + public static class TestListNodeDoubleFunc { + private List values; + + public List getValues() { + return this.values; + } + + public void setValues(final List values) { + this.values = values; + } + } + + public class TestListNodeDoubleStructured { + @AknotList(value = "elem") + public List values; + } + + public class TestNodeDouble { + public Double valueA; + public Double valueB; + public Double valueNull; + } + + public class TestNodeDoubleFunc { + private Double valueA; + private Double valueB; + private Double valueNull; + + public Double getValueA() { + return this.valueA; + } + + public Double getValueB() { + return this.valueB; + } + + public Double getValueNull() { + return this.valueNull; + } + + public void setValueA(final Double valueA) { + this.valueA = valueA; + } + + public void setValueB(final Double valueB) { + this.valueB = valueB; + } + + public void setValueNull(final Double valueNull) { + this.valueNull = valueNull; + } + } + + static final String NODE_NAME = "elem"; + + @BeforeAll + public static void beforeClass() { + Log.warning("================================================================"); + } + + @Test + public void testArrayNodeDoubleStructured() { + final TestArrayNodeDoubleStructured elem = new TestArrayNodeDoubleStructured(); + elem.values = new Double[] { (double) 12, (double) -13, (double) 33, (double) 78, (double) -127 }; + + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionDouble.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("", dataTest); - - final TestDouble root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestDouble.class, ExmlTestIntrospectionDouble.NODE_NAME)); - Assertions.assertEquals(12, root.valueA); - Assertions.assertEquals(-13, root.valueB); - Assertions.assertEquals(null, root.valueNull); - } - - @XmlDefaultAttibute - public class TestArrayDouble { - public Double[] values; - } - @Test - public void testModelArrayDouble() { - TestArrayDouble elem = new TestArrayDouble(); - elem.values = new Double[] {(double)12, (double)-13, (double)33, (double)78, (double)-127}; + Assertions.assertEquals(""" + + + 12.0 + -13.0 + 33.0 + 78.0 + -127.0 + + """, dataTest); - StringBuilder builder = new StringBuilder(); + final TestArrayNodeDoubleStructured root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeDoubleStructured.class, ExmlTestIntrospectionDouble.NODE_NAME)); + Assertions.assertEquals((double) 5, root.values.length); + Assertions.assertEquals(12, root.values[0]); + Assertions.assertEquals(-13, root.values[1]); + Assertions.assertEquals(33, root.values[2]); + Assertions.assertEquals(78, root.values[3]); + Assertions.assertEquals(-127, root.values[4]); + } + + @Test + public void testListNodeDoubleStructured() { + final TestListNodeDoubleStructured elem = new TestListNodeDoubleStructured(); + elem.values = List.of((double) 12, (double) -13, (double) 33, (double) 78, (double) -127); + + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionDouble.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + + 12.0 + -13.0 + 33.0 + 78.0 + -127.0 + + """, dataTest); + + final TestListNodeDoubleStructured root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListNodeDoubleStructured.class, ExmlTestIntrospectionDouble.NODE_NAME)); + Assertions.assertEquals(5, root.values.size()); + Assertions.assertEquals(12, root.values.get(0)); + Assertions.assertEquals(-13, root.values.get(1)); + Assertions.assertEquals(33, root.values.get(2)); + Assertions.assertEquals(78, root.values.get(3)); + Assertions.assertEquals(-127, root.values.get(4)); + } + + @Test + public void testModelArrayDouble() { + final TestArrayDouble elem = new TestArrayDouble(); + elem.values = new Double[] { (double) 12, (double) -13, (double) 33, (double) 78, (double) -127 }; + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionDouble.NODE_NAME, builder)); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); Assertions.assertEquals("", dataTest); - + final TestArrayDouble root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayDouble.class, ExmlTestIntrospectionDouble.NODE_NAME)); Assertions.assertEquals(5, root.values.length); Assertions.assertEquals(12, root.values[0]); @@ -71,99 +255,17 @@ public class ExmlTestIntrospectionDouble { Assertions.assertEquals(-127, root.values[4]); } - @XmlDefaultAttibute - public class TestListDouble { - public List values; - } @Test - public void testModelListDouble() { - TestListDouble elem = new TestListDouble(); - elem.values = List.of((double)12, (double)-13, (double)33, (double)78, (double)-127); + public void testModelArrayDoubleFunc() { + final TestArrayDoubleFunc elem = new TestArrayDoubleFunc(); + elem.setValues(new Double[] { (double) 12, (double) -13, (double) 33, (double) 78, (double) -127 }); - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionDouble.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); Assertions.assertEquals("", dataTest); - - final TestListDouble root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListDouble.class, ExmlTestIntrospectionDouble.NODE_NAME)); - Assertions.assertEquals(5, root.values.size()); - Assertions.assertEquals(12, root.values.get(0)); - Assertions.assertEquals(-13, root.values.get(1)); - Assertions.assertEquals(33, root.values.get(2)); - Assertions.assertEquals(78, root.values.get(3)); - Assertions.assertEquals(-127, root.values.get(4)); - } - - - @XmlDefaultAttibute - public class TestDoubleFunc { - private Double valueA; - private Double valueB; - private Double valueNull; - public Double getValueA() { - return this.valueA; - } - public void setValueA(final Double valueA) { - this.valueA = valueA; - } - public Double getValueB() { - return this.valueB; - } - public void setValueB(final Double valueB) { - this.valueB = valueB; - } - public Double getValueNull() { - return this.valueNull; - } - public void setValueNull(final Double valueNull) { - this.valueNull = valueNull; - } - } - - @Test - public void testModelDoubleFunc() { - TestDoubleFunc elem = new TestDoubleFunc(); - elem.setValueA((double)-55); - elem.setValueB((double)57); - elem.setValueNull(null); - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionDouble.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("", dataTest); - - final TestDoubleFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestDoubleFunc.class, ExmlTestIntrospectionDouble.NODE_NAME)); - Assertions.assertEquals(-55, root.getValueA()); - Assertions.assertEquals(57, root.getValueB()); - Assertions.assertEquals(null, root.getValueNull()); - } - - @XmlDefaultAttibute - public class TestArrayDoubleFunc { - private Double[] values; - - public Double[] getValues() { - return this.values; - } - - public void setValues(final Double[] values) { - this.values = values; - } - - } - @Test - public void testModelArrayDoubleFunc() { - TestArrayDoubleFunc elem = new TestArrayDoubleFunc(); - elem.setValues(new Double[] {(double)12, (double)-13, (double)33, (double)78, (double)-127}); - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionDouble.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("", dataTest); - final TestArrayDoubleFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayDoubleFunc.class, ExmlTestIntrospectionDouble.NODE_NAME)); Assertions.assertEquals(5, root.getValues().length); Assertions.assertEquals(12, root.getValues()[0]); @@ -173,85 +275,24 @@ public class ExmlTestIntrospectionDouble { Assertions.assertEquals(-127, root.getValues()[4]); } - @XmlDefaultAttibute - public class TestListDoubleFunc { - private List values; - - public List getValues() { - return this.values; - } - - public void setValues(final List values) { - this.values = values; - } - } @Test - public void testModelListDoubleFunc() { - TestListDoubleFunc elem = new TestListDoubleFunc(); - elem.setValues(List.of((double)12, (double)-13, (double)33, (double)78, (double)-127)); + public void testModelArrayNodeDouble() { + final TestArrayNodeDouble elem = new TestArrayNodeDouble(); + elem.values = new Double[] { (double) 12, (double) -13, (double) 33, (double) 78, (double) -127 }; - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionDouble.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("", dataTest); - - final TestListDoubleFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListDoubleFunc.class, ExmlTestIntrospectionDouble.NODE_NAME)); - Assertions.assertEquals(5, root.getValues().size()); - Assertions.assertEquals(12, root.getValues().get(0)); - Assertions.assertEquals(-13, root.getValues().get(1)); - Assertions.assertEquals(33, root.getValues().get(2)); - Assertions.assertEquals(78, root.getValues().get(3)); - Assertions.assertEquals(-127, root.getValues().get(4)); - } - - public class TestNodeDouble { - public Double valueA; - public Double valueB; - public Double valueNull; - } - @Test - public void testModelNodeDouble() { - TestNodeDouble elem = new TestNodeDouble(); - elem.valueA = (double)11; - elem.valueB = (double)-120; - elem.valueNull = null; + Assertions.assertEquals(""" + + 12.0 + -13.0 + 33.0 + 78.0 + -127.0 + """, dataTest); - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionDouble.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 11.0\n" - + " -120.0\n" - + "", dataTest); - - final TestNodeDouble root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeDouble.class, ExmlTestIntrospectionDouble.NODE_NAME)); - Assertions.assertEquals(11, root.valueA); - Assertions.assertEquals(-120, root.valueB); - Assertions.assertEquals(null, root.valueNull); - } - - public class TestArrayNodeDouble { - public Double[] values; - } - @Test - public void testModelArrayNodeDouble() { - TestArrayNodeDouble elem = new TestArrayNodeDouble(); - elem.values = new Double[] {(double)12, (double)-13, (double)33, (double)78, (double)-127}; - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionDouble.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 12.0\n" - + " -13.0\n" - + " 33.0\n" - + " 78.0\n" - + " -127.0\n" - + "", dataTest); - final TestArrayNodeDouble root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeDouble.class, ExmlTestIntrospectionDouble.NODE_NAME)); Assertions.assertEquals(5, root.values.length); Assertions.assertEquals(12, root.values[0]); @@ -261,111 +302,24 @@ public class ExmlTestIntrospectionDouble { Assertions.assertEquals(-127, root.values[4]); } - public class TestListNodeDouble { - public List values; - } @Test - public void testModelListNodeDouble() { - TestListNodeDouble elem = new TestListNodeDouble(); - elem.values = List.of((double)12, (double)-13, (double)33, (double)78, (double)-127); + public void testModelArrayNodeDoubleFunc() { + final TestArrayNodeDoubleFunc elem = new TestArrayNodeDoubleFunc(); + elem.setValues(new Double[] { (double) 12, (double) -13, (double) 33, (double) 78, (double) -127 }); - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionDouble.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 12.0\n" - + " -13.0\n" - + " 33.0\n" - + " 78.0\n" - + " -127.0\n" - + "", dataTest); - - final TestListNodeDouble root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListNodeDouble.class, ExmlTestIntrospectionDouble.NODE_NAME)); - Assertions.assertEquals(5, root.values.size()); - Assertions.assertEquals(12, root.values.get(0)); - Assertions.assertEquals(-13, root.values.get(1)); - Assertions.assertEquals(33, root.values.get(2)); - Assertions.assertEquals(78, root.values.get(3)); - Assertions.assertEquals(-127, root.values.get(4)); - } - - - public class TestNodeDoubleFunc { - private Double valueA; - private Double valueB; - private Double valueNull; - public Double getValueA() { - return this.valueA; - } - public void setValueA(final Double valueA) { - this.valueA = valueA; - } - public Double getValueB() { - return this.valueB; - } - public void setValueB(final Double valueB) { - this.valueB = valueB; - } - public Double getValueNull() { - return this.valueNull; - } - public void setValueNull(final Double valueNull) { - this.valueNull = valueNull; - } - } - - @Test - public void testModelNodeDoubleFunc() { - TestNodeDoubleFunc elem = new TestNodeDoubleFunc(); - elem.setValueA((double)54); - elem.setValueB((double)-68); - elem.setValueNull(null); + Assertions.assertEquals(""" + + 12.0 + -13.0 + 33.0 + 78.0 + -127.0 + """, dataTest); - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionDouble.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 54.0\n" - + " -68.0\n" - + "", dataTest); - - final TestNodeDoubleFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeDoubleFunc.class, ExmlTestIntrospectionDouble.NODE_NAME)); - Assertions.assertEquals(54, root.getValueA()); - Assertions.assertEquals(-68, root.getValueB()); - Assertions.assertEquals(null, root.getValueNull()); - } - - public class TestArrayNodeDoubleFunc { - private Double[] values; - - public Double[] getValues() { - return this.values; - } - - public void setValues(final Double[] values) { - this.values = values; - } - - } - @Test - public void testModelArrayNodeDoubleFunc() { - TestArrayNodeDoubleFunc elem = new TestArrayNodeDoubleFunc(); - elem.setValues(new Double[] {(double)12, (double)-13, (double)33, (double)78, (double)-127}); - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionDouble.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 12.0\n" - + " -13.0\n" - + " 33.0\n" - + " 78.0\n" - + " -127.0\n" - + "", dataTest); - final TestArrayNodeDoubleFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeDoubleFunc.class, ExmlTestIntrospectionDouble.NODE_NAME)); Assertions.assertEquals(5, root.getValues().length); Assertions.assertEquals(12, root.getValues()[0]); @@ -375,35 +329,129 @@ public class ExmlTestIntrospectionDouble { Assertions.assertEquals(-127, root.getValues()[4]); } - // Note this is set in static to test an other part of code... - public static class TestListNodeDoubleFunc { - private List values; - - public List getValues() { - return this.values; - } - - public void setValues(final List values) { - this.values = values; - } - } @Test - public void testModelListNodeDoubleFunc() { - TestListNodeDoubleFunc elem = new TestListNodeDoubleFunc(); - elem.setValues(List.of((double)12, (double)-13, (double)33, (double)78, (double)-127)); + public void testModelDouble() { + final TestDouble elem = new TestDouble(); + elem.valueA = (double) 12; + elem.valueB = (double) -13; + elem.valueNull = null; - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionDouble.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 12.0\n" - + " -13.0\n" - + " 33.0\n" - + " 78.0\n" - + " -127.0\n" - + "", dataTest); - + Assertions.assertEquals("", dataTest); + + final TestDouble root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestDouble.class, ExmlTestIntrospectionDouble.NODE_NAME)); + Assertions.assertEquals(12, root.valueA); + Assertions.assertEquals(-13, root.valueB); + Assertions.assertEquals(null, root.valueNull); + } + + @Test + public void testModelDoubleFunc() { + final TestDoubleFunc elem = new TestDoubleFunc(); + elem.setValueA((double) -55); + elem.setValueB((double) 57); + elem.setValueNull(null); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionDouble.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals("", dataTest); + + final TestDoubleFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestDoubleFunc.class, ExmlTestIntrospectionDouble.NODE_NAME)); + Assertions.assertEquals(-55, root.getValueA()); + Assertions.assertEquals(57, root.getValueB()); + Assertions.assertEquals(null, root.getValueNull()); + } + + @Test + public void testModelListDouble() { + final TestListDouble elem = new TestListDouble(); + elem.values = List.of((double) 12, (double) -13, (double) 33, (double) 78, (double) -127); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionDouble.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals("", dataTest); + + final TestListDouble root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListDouble.class, ExmlTestIntrospectionDouble.NODE_NAME)); + Assertions.assertEquals(5, root.values.size()); + Assertions.assertEquals(12, root.values.get(0)); + Assertions.assertEquals(-13, root.values.get(1)); + Assertions.assertEquals(33, root.values.get(2)); + Assertions.assertEquals(78, root.values.get(3)); + Assertions.assertEquals(-127, root.values.get(4)); + } + + @Test + public void testModelListDoubleFunc() { + final TestListDoubleFunc elem = new TestListDoubleFunc(); + elem.setValues(List.of((double) 12, (double) -13, (double) 33, (double) 78, (double) -127)); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionDouble.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals("", dataTest); + + final TestListDoubleFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListDoubleFunc.class, ExmlTestIntrospectionDouble.NODE_NAME)); + Assertions.assertEquals(5, root.getValues().size()); + Assertions.assertEquals(12, root.getValues().get(0)); + Assertions.assertEquals(-13, root.getValues().get(1)); + Assertions.assertEquals(33, root.getValues().get(2)); + Assertions.assertEquals(78, root.getValues().get(3)); + Assertions.assertEquals(-127, root.getValues().get(4)); + } + + @Test + public void testModelListNodeDouble() { + final TestListNodeDouble elem = new TestListNodeDouble(); + elem.values = List.of((double) 12, (double) -13, (double) 33, (double) 78, (double) -127); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionDouble.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + 12.0 + -13.0 + 33.0 + 78.0 + -127.0 + """, dataTest); + + final TestListNodeDouble root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListNodeDouble.class, ExmlTestIntrospectionDouble.NODE_NAME)); + Assertions.assertEquals(5, root.values.size()); + Assertions.assertEquals(12, root.values.get(0)); + Assertions.assertEquals(-13, root.values.get(1)); + Assertions.assertEquals(33, root.values.get(2)); + Assertions.assertEquals(78, root.values.get(3)); + Assertions.assertEquals(-127, root.values.get(4)); + } + + @Test + public void testModelListNodeDoubleFunc() { + final TestListNodeDoubleFunc elem = new TestListNodeDoubleFunc(); + elem.setValues(List.of((double) 12, (double) -13, (double) 33, (double) 78, (double) -127)); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionDouble.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + 12.0 + -13.0 + 33.0 + 78.0 + -127.0 + """, dataTest); + final TestListNodeDoubleFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListNodeDoubleFunc.class, ExmlTestIntrospectionDouble.NODE_NAME)); Assertions.assertEquals(5, root.getValues().size()); Assertions.assertEquals(12, root.getValues().get(0)); @@ -413,72 +461,49 @@ public class ExmlTestIntrospectionDouble { Assertions.assertEquals(-127, root.getValues().get(4)); } - - - - - - public class TestListNodeDoubleStructured { - @XmlList(value="elem") - public List values; - } @Test - public void testListNodeDoubleStructured() { - TestListNodeDoubleStructured elem = new TestListNodeDoubleStructured(); - elem.values = List.of((double)12, (double)-13, (double)33, (double)78, (double)-127); + public void testModelNodeDouble() { + final TestNodeDouble elem = new TestNodeDouble(); + elem.valueA = (double) 11; + elem.valueB = (double) -120; + elem.valueNull = null; - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionDouble.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " \n" - + " 12.0\n" - + " -13.0\n" - + " 33.0\n" - + " 78.0\n" - + " -127.0\n" - + " \n" - + "", dataTest); - - final TestListNodeDoubleStructured root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListNodeDoubleStructured.class, ExmlTestIntrospectionDouble.NODE_NAME)); - Assertions.assertEquals(5, root.values.size()); - Assertions.assertEquals(12, root.values.get(0)); - Assertions.assertEquals(-13, root.values.get(1)); - Assertions.assertEquals(33, root.values.get(2)); - Assertions.assertEquals(78, root.values.get(3)); - Assertions.assertEquals(-127, root.values.get(4)); - } - public class TestArrayNodeDoubleStructured { - @XmlList(value="elem") - public Double[] values; + Assertions.assertEquals(""" + + 11.0 + -120.0 + """, dataTest); + + final TestNodeDouble root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeDouble.class, ExmlTestIntrospectionDouble.NODE_NAME)); + Assertions.assertEquals(11, root.valueA); + Assertions.assertEquals(-120, root.valueB); + Assertions.assertEquals(null, root.valueNull); } + @Test - public void testArrayNodeDoubleStructured() { - TestArrayNodeDoubleStructured elem = new TestArrayNodeDoubleStructured(); - elem.values = new Double[] {(double)12, (double)-13, (double)33, (double)78, (double)-127}; + public void testModelNodeDoubleFunc() { + final TestNodeDoubleFunc elem = new TestNodeDoubleFunc(); + elem.setValueA((double) 54); + elem.setValueB((double) -68); + elem.setValueNull(null); - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionDouble.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " \n" - + " 12.0\n" - + " -13.0\n" - + " 33.0\n" - + " 78.0\n" - + " -127.0\n" - + " \n" - + "", dataTest); - - final TestArrayNodeDoubleStructured root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeDoubleStructured.class, ExmlTestIntrospectionDouble.NODE_NAME)); - Assertions.assertEquals((double)5, root.values.length); - Assertions.assertEquals(12, root.values[0]); - Assertions.assertEquals(-13, root.values[1]); - Assertions.assertEquals(33, root.values[2]); - Assertions.assertEquals(78, root.values[3]); - Assertions.assertEquals(-127, root.values[4]); + Assertions.assertEquals(""" + + 54.0 + -68.0 + """, dataTest); + + final TestNodeDoubleFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeDoubleFunc.class, ExmlTestIntrospectionDouble.NODE_NAME)); + Assertions.assertEquals(54, root.getValueA()); + Assertions.assertEquals(-68, root.getValueB()); + Assertions.assertEquals(null, root.getValueNull()); } } - diff --git a/test/src/test/atriasoft/exml/ExmlTestIntrospectionDoubleNative.java b/test/src/test/atriasoft/exml/ExmlTestIntrospectionDoubleNative.java index 889ea3d..595e146 100644 --- a/test/src/test/atriasoft/exml/ExmlTestIntrospectionDoubleNative.java +++ b/test/src/test/atriasoft/exml/ExmlTestIntrospectionDoubleNative.java @@ -5,286 +5,136 @@ */ package test.atriasoft.exml; +import org.atriasoft.aknot.annotation.AknotList; +import org.atriasoft.aknot.annotation.AknotDefaultAttribute; import org.atriasoft.exml.Exml; -import org.atriasoft.exml.annotation.XmlDefaultAttibute; -import org.atriasoft.exml.annotation.XmlList; - import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; public class ExmlTestIntrospectionDoubleNative { - static final String NODE_NAME = "elem"; - @BeforeAll - public static void beforeClass() { - Log.warning("================================================================"); + @AknotDefaultAttribute + public class TestArrayDoubleFunc { + private double[] values; + + public double[] getValues() { + return this.values; + } + + public void setValues(final double[] values) { + this.values = values; + } + } - - @XmlDefaultAttibute + + @AknotDefaultAttribute + public class TestArrayDoubleNative { + public double[] values; + } + + public class TestArrayNodeDoubleFunc { + private double[] values; + + public double[] getValues() { + return this.values; + } + + public void setValues(final double[] values) { + this.values = values; + } + + } + + public class TestArrayNodeDoubleNative { + public double[] values; + } + + public class TestArrayNodeDoubleNativeStructured { + @AknotList(value = "elem") + public double[] values; + } + + @AknotDefaultAttribute + public class TestdoubleFunc { + private double valueA; + private double valueB; + + public double getValueA() { + return this.valueA; + } + + public double getValueB() { + return this.valueB; + } + + public void setValueA(final double valueA) { + this.valueA = valueA; + } + + public void setValueB(final double valueB) { + this.valueB = valueB; + } + } + + @AknotDefaultAttribute public class TestDoubleNative { public double valueA; public double valueB; } - @Test - public void testModelDoubleNative() { - TestDoubleNative elem = new TestDoubleNative(); - elem.valueA = 12; - elem.valueB = -13; - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionDouble.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("", dataTest); - - final TestDoubleNative root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestDoubleNative.class, ExmlTestIntrospectionDouble.NODE_NAME)); - Assertions.assertEquals(12, root.valueA); - Assertions.assertEquals(-13, root.valueB); - } - - @XmlDefaultAttibute - public class TestArrayDoubleNative { - public double[] values; - } - @Test - public void testModelArrayDoubleNative() { - TestArrayDoubleNative elem = new TestArrayDoubleNative(); - elem.values = new double[] {12, -13, 33, 78, -127}; - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionDouble.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("", dataTest); - - final TestArrayDoubleNative root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayDoubleNative.class, ExmlTestIntrospectionDouble.NODE_NAME)); - Assertions.assertEquals(5, root.values.length); - Assertions.assertEquals(12, root.values[0]); - Assertions.assertEquals(-13, root.values[1]); - Assertions.assertEquals(33, root.values[2]); - Assertions.assertEquals(78, root.values[3]); - Assertions.assertEquals(-127, root.values[4]); - } - - @XmlDefaultAttibute - public class TestdoubleFunc { + + public class TestNodedoubleFunc { private double valueA; private double valueB; + public double getValueA() { return this.valueA; } - public void setValueA(final double valueA) { - this.valueA = valueA; - } + public double getValueB() { return this.valueB; } + + public void setValueA(final double valueA) { + this.valueA = valueA; + } + public void setValueB(final double valueB) { this.valueB = valueB; } } - @Test - public void testModelDoubleFunc() { - TestdoubleFunc elem = new TestdoubleFunc(); - elem.setValueA(-55); - elem.setValueB(57); - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionDouble.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("", dataTest); - - final TestdoubleFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestdoubleFunc.class, ExmlTestIntrospectionDouble.NODE_NAME)); - Assertions.assertEquals(-55, root.getValueA()); - Assertions.assertEquals(57, root.getValueB()); - } - - @XmlDefaultAttibute - public class TestArrayDoubleFunc { - private double[] values; - - public double[] getValues() { - return this.values; - } - - public void setValues(final double[] values) { - this.values = values; - } - - } - @Test - public void testModelArrayDoubleFunc() { - TestArrayDoubleFunc elem = new TestArrayDoubleFunc(); - elem.setValues(new double[] {12, -13, 33, 78, -127}); - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionDouble.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("", dataTest); - - final TestArrayDoubleFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayDoubleFunc.class, ExmlTestIntrospectionDouble.NODE_NAME)); - Assertions.assertEquals(5, root.getValues().length); - Assertions.assertEquals(12, root.getValues()[0]); - Assertions.assertEquals(-13, root.getValues()[1]); - Assertions.assertEquals(33, root.getValues()[2]); - Assertions.assertEquals(78, root.getValues()[3]); - Assertions.assertEquals(-127, root.getValues()[4]); - } - public class TestNodeDoubleNative { public double valueA; public double valueB; } - @Test - public void testModelNodeDoubleNative() { - TestNodeDoubleNative elem = new TestNodeDoubleNative(); - elem.valueA = 11; - elem.valueB = -120; - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionDouble.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 11.0\n" - + " -120.0\n" - + "", dataTest); - - final TestNodeDoubleNative root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeDoubleNative.class, ExmlTestIntrospectionDouble.NODE_NAME)); - Assertions.assertEquals(11, root.valueA); - Assertions.assertEquals(-120, root.valueB); - } - - public class TestArrayNodeDoubleNative { - public double[] values; - } - @Test - public void testModelArrayNodeDoubleNative() { - TestArrayNodeDoubleNative elem = new TestArrayNodeDoubleNative(); - elem.values = new double[] {12, -13, 33, 78, -127}; - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionDouble.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 12.0\n" - + " -13.0\n" - + " 33.0\n" - + " 78.0\n" - + " -127.0\n" - + "", dataTest); - - final TestArrayNodeDoubleNative root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeDoubleNative.class, ExmlTestIntrospectionDouble.NODE_NAME)); - Assertions.assertEquals(5, root.values.length); - Assertions.assertEquals(12, root.values[0]); - Assertions.assertEquals(-13, root.values[1]); - Assertions.assertEquals(33, root.values[2]); - Assertions.assertEquals(78, root.values[3]); - Assertions.assertEquals(-127, root.values[4]); - } - - public class TestNodedoubleFunc { - private double valueA; - private double valueB; - public double getValueA() { - return this.valueA; - } - public void setValueA(final double valueA) { - this.valueA = valueA; - } - public double getValueB() { - return this.valueB; - } - public void setValueB(final double valueB) { - this.valueB = valueB; - } + + static final String NODE_NAME = "elem"; + + @BeforeAll + public static void beforeClass() { + Log.warning("================================================================"); } @Test - public void testModelNodeDoubleFunc() { - TestNodedoubleFunc elem = new TestNodedoubleFunc(); - elem.setValueA(54); - elem.setValueB(-68); + public void testArrayNodeDoubleNativeStructured() { + final TestArrayNodeDoubleNativeStructured elem = new TestArrayNodeDoubleNativeStructured(); + elem.values = new double[] { 12, -13, 33, 78, -127 }; - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionDouble.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 54.0\n" - + " -68.0\n" - + "", dataTest); - - final TestNodedoubleFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodedoubleFunc.class, ExmlTestIntrospectionDouble.NODE_NAME)); - Assertions.assertEquals(54, root.getValueA()); - Assertions.assertEquals(-68, root.getValueB()); - } - - public class TestArrayNodeDoubleFunc { - private double[] values; - - public double[] getValues() { - return this.values; - } - - public void setValues(final double[] values) { - this.values = values; - } + Assertions.assertEquals(""" + + + 12.0 + -13.0 + 33.0 + 78.0 + -127.0 + + """, dataTest); - } - @Test - public void testModelArrayNodeDoubleFunc() { - TestArrayNodeDoubleFunc elem = new TestArrayNodeDoubleFunc(); - elem.setValues(new double[] {12, -13, 33, 78, -127}); - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionDouble.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 12.0\n" - + " -13.0\n" - + " 33.0\n" - + " 78.0\n" - + " -127.0\n" - + "", dataTest); - - final TestArrayNodeDoubleFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeDoubleFunc.class, ExmlTestIntrospectionDouble.NODE_NAME)); - Assertions.assertEquals(5, root.getValues().length); - Assertions.assertEquals(12, root.getValues()[0]); - Assertions.assertEquals(-13, root.getValues()[1]); - Assertions.assertEquals(33, root.getValues()[2]); - Assertions.assertEquals(78, root.getValues()[3]); - Assertions.assertEquals(-127, root.getValues()[4]); - } - - public class TestArrayNodeDoubleNativeStructured { - @XmlList(value="elem") - public double[] values; - } - @Test - public void testArrayNodeDoubleNativeStructured() { - TestArrayNodeDoubleNativeStructured elem = new TestArrayNodeDoubleNativeStructured(); - elem.values = new double[] {12, -13, 33, 78, -127}; - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionDouble.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " \n" - + " 12.0\n" - + " -13.0\n" - + " 33.0\n" - + " 78.0\n" - + " -127.0\n" - + " \n" - + "", dataTest); - final TestArrayNodeDoubleNativeStructured root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeDoubleNativeStructured.class, ExmlTestIntrospectionDouble.NODE_NAME)); Assertions.assertEquals(5, root.values.length); Assertions.assertEquals(12, root.values[0]); @@ -293,5 +143,174 @@ public class ExmlTestIntrospectionDoubleNative { Assertions.assertEquals(78, root.values[3]); Assertions.assertEquals(-127, root.values[4]); } + + @Test + public void testModelArrayDoubleFunc() { + final TestArrayDoubleFunc elem = new TestArrayDoubleFunc(); + elem.setValues(new double[] { 12, -13, 33, 78, -127 }); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionDouble.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals("", dataTest); + + final TestArrayDoubleFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayDoubleFunc.class, ExmlTestIntrospectionDouble.NODE_NAME)); + Assertions.assertEquals(5, root.getValues().length); + Assertions.assertEquals(12, root.getValues()[0]); + Assertions.assertEquals(-13, root.getValues()[1]); + Assertions.assertEquals(33, root.getValues()[2]); + Assertions.assertEquals(78, root.getValues()[3]); + Assertions.assertEquals(-127, root.getValues()[4]); + } + + @Test + public void testModelArrayDoubleNative() { + final TestArrayDoubleNative elem = new TestArrayDoubleNative(); + elem.values = new double[] { 12, -13, 33, 78, -127 }; + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionDouble.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals("", dataTest); + + final TestArrayDoubleNative root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayDoubleNative.class, ExmlTestIntrospectionDouble.NODE_NAME)); + Assertions.assertEquals(5, root.values.length); + Assertions.assertEquals(12, root.values[0]); + Assertions.assertEquals(-13, root.values[1]); + Assertions.assertEquals(33, root.values[2]); + Assertions.assertEquals(78, root.values[3]); + Assertions.assertEquals(-127, root.values[4]); + } + + @Test + public void testModelArrayNodeDoubleFunc() { + final TestArrayNodeDoubleFunc elem = new TestArrayNodeDoubleFunc(); + elem.setValues(new double[] { 12, -13, 33, 78, -127 }); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionDouble.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + 12.0 + -13.0 + 33.0 + 78.0 + -127.0 + """, dataTest); + + final TestArrayNodeDoubleFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeDoubleFunc.class, ExmlTestIntrospectionDouble.NODE_NAME)); + Assertions.assertEquals(5, root.getValues().length); + Assertions.assertEquals(12, root.getValues()[0]); + Assertions.assertEquals(-13, root.getValues()[1]); + Assertions.assertEquals(33, root.getValues()[2]); + Assertions.assertEquals(78, root.getValues()[3]); + Assertions.assertEquals(-127, root.getValues()[4]); + } + + @Test + public void testModelArrayNodeDoubleNative() { + final TestArrayNodeDoubleNative elem = new TestArrayNodeDoubleNative(); + elem.values = new double[] { 12, -13, 33, 78, -127 }; + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionDouble.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + 12.0 + -13.0 + 33.0 + 78.0 + -127.0 + """, dataTest); + + final TestArrayNodeDoubleNative root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeDoubleNative.class, ExmlTestIntrospectionDouble.NODE_NAME)); + Assertions.assertEquals(5, root.values.length); + Assertions.assertEquals(12, root.values[0]); + Assertions.assertEquals(-13, root.values[1]); + Assertions.assertEquals(33, root.values[2]); + Assertions.assertEquals(78, root.values[3]); + Assertions.assertEquals(-127, root.values[4]); + } + + @Test + public void testModelDoubleFunc() { + final TestdoubleFunc elem = new TestdoubleFunc(); + elem.setValueA(-55); + elem.setValueB(57); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionDouble.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals("", dataTest); + + final TestdoubleFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestdoubleFunc.class, ExmlTestIntrospectionDouble.NODE_NAME)); + Assertions.assertEquals(-55, root.getValueA()); + Assertions.assertEquals(57, root.getValueB()); + } + + @Test + public void testModelDoubleNative() { + final TestDoubleNative elem = new TestDoubleNative(); + elem.valueA = 12; + elem.valueB = -13; + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionDouble.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals("", dataTest); + + final TestDoubleNative root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestDoubleNative.class, ExmlTestIntrospectionDouble.NODE_NAME)); + Assertions.assertEquals(12, root.valueA); + Assertions.assertEquals(-13, root.valueB); + } + + @Test + public void testModelNodeDoubleFunc() { + final TestNodedoubleFunc elem = new TestNodedoubleFunc(); + elem.setValueA(54); + elem.setValueB(-68); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionDouble.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + 54.0 + -68.0 + """, dataTest); + + final TestNodedoubleFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodedoubleFunc.class, ExmlTestIntrospectionDouble.NODE_NAME)); + Assertions.assertEquals(54, root.getValueA()); + Assertions.assertEquals(-68, root.getValueB()); + } + + @Test + public void testModelNodeDoubleNative() { + final TestNodeDoubleNative elem = new TestNodeDoubleNative(); + elem.valueA = 11; + elem.valueB = -120; + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionDouble.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + 11.0 + -120.0 + """, dataTest); + + final TestNodeDoubleNative root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeDoubleNative.class, ExmlTestIntrospectionDouble.NODE_NAME)); + Assertions.assertEquals(11, root.valueA); + Assertions.assertEquals(-120, root.valueB); + } } - diff --git a/test/src/test/atriasoft/exml/ExmlTestIntrospectionEnum.java b/test/src/test/atriasoft/exml/ExmlTestIntrospectionEnum.java index cf5448f..7e5a859 100644 --- a/test/src/test/atriasoft/exml/ExmlTestIntrospectionEnum.java +++ b/test/src/test/atriasoft/exml/ExmlTestIntrospectionEnum.java @@ -7,64 +7,229 @@ package test.atriasoft.exml; import java.util.List; +import org.atriasoft.aknot.annotation.AknotList; +import org.atriasoft.aknot.annotation.AknotDefaultAttribute; import org.atriasoft.exml.Exml; -import org.atriasoft.exml.annotation.XmlDefaultAttibute; -import org.atriasoft.exml.annotation.XmlList; - import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; public class ExmlTestIntrospectionEnum { - static final String NODE_NAME = "elem"; - @BeforeAll - public static void beforeClass() { - Log.warning("================================================================"); - } - - public enum TestEnumVal { - VALUE_1, - VALUE_2, - VALUE_3; + @AknotDefaultAttribute + public class TestArrayEnum { + public TestEnumVal[] values; } - @XmlDefaultAttibute + @AknotDefaultAttribute + public class TestArrayEnumFunc { + private TestEnumVal[] values; + + public TestEnumVal[] getValues() { + return this.values; + } + + public void setValues(final TestEnumVal[] values) { + this.values = values; + } + + } + + public class TestArrayNodeEnum { + public TestEnumVal[] values; + } + + public class TestArrayNodeEnumFunc { + private TestEnumVal[] values; + + public TestEnumVal[] getValues() { + return this.values; + } + + public void setValues(final TestEnumVal[] values) { + this.values = values; + } + + } + + public class TestArrayNodeEnumStructured { + @AknotList(value = "elem") + public TestEnumVal[] values; + } + + @AknotDefaultAttribute public class TestEnum { public TestEnumVal valueA; public TestEnumVal valueB; } - @Test - public void testModelEnum() { - TestEnum elem = new TestEnum(); - elem.valueA = TestEnumVal.VALUE_1; - elem.valueB = TestEnumVal.VALUE_3; + + @AknotDefaultAttribute + public class TestEnumFunc { + private TestEnumVal valueA; + private TestEnumVal valueB; - StringBuilder builder = new StringBuilder(); + public TestEnumVal getValueA() { + return this.valueA; + } + + public TestEnumVal getValueB() { + return this.valueB; + } + + public void setValueA(final TestEnumVal valueA) { + this.valueA = valueA; + } + + public void setValueB(final TestEnumVal valueB) { + this.valueB = valueB; + } + } + + public enum TestEnumVal { + VALUE_1, VALUE_2, VALUE_3; + } + + @AknotDefaultAttribute + public class TestListEnum { + public List values; + } + + @AknotDefaultAttribute + public class TestListEnumFunc { + private List values; + + public List getValues() { + return this.values; + } + + public void setValues(final List values) { + this.values = values; + } + } + + public class TestListNodeEnum { + public List values; + } + + // Note this is set in static to test an other part of code... + public static class TestListNodeEnumFunc { + private List values; + + public List getValues() { + return this.values; + } + + public void setValues(final List values) { + this.values = values; + } + } + + public class TestListNodeEnumStructured { + @AknotList(value = "elem") + public List values; + } + + public class TestNodeEnum { + public TestEnumVal valueA; + public TestEnumVal valueB; + } + + public class TestNodeEnumFunc { + private TestEnumVal valueA; + private TestEnumVal valueB; + + public TestEnumVal getValueA() { + return this.valueA; + } + + public TestEnumVal getValueB() { + return this.valueB; + } + + public void setValueA(final TestEnumVal valueA) { + this.valueA = valueA; + } + + public void setValueB(final TestEnumVal valueB) { + this.valueB = valueB; + } + } + + static final String NODE_NAME = "elem"; + + @BeforeAll + public static void beforeClass() { + Log.warning("================================================================"); + } + + @Test + public void testArrayNodeTestEnumValStructured() { + final TestArrayNodeEnumStructured elem = new TestArrayNodeEnumStructured(); + elem.values = new TestEnumVal[] { TestEnumVal.VALUE_1, TestEnumVal.VALUE_2, TestEnumVal.VALUE_3, TestEnumVal.VALUE_1, TestEnumVal.VALUE_2 }; + + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionEnum.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("", dataTest); - - final TestEnum root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestEnum.class, ExmlTestIntrospectionEnum.NODE_NAME)); - Assertions.assertEquals(TestEnumVal.VALUE_1, root.valueA); - Assertions.assertEquals(TestEnumVal.VALUE_3, root.valueB); - } - - @XmlDefaultAttibute - public class TestArrayEnum { - public TestEnumVal[] values; - } - @Test - public void testModelArrayEnum() { - TestArrayEnum elem = new TestArrayEnum(); - elem.values = new TestEnumVal[] {TestEnumVal.VALUE_1,TestEnumVal.VALUE_2, TestEnumVal.VALUE_3, TestEnumVal.VALUE_1, TestEnumVal.VALUE_2}; + Assertions.assertEquals(""" + + + VALUE_1 + VALUE_2 + VALUE_3 + VALUE_1 + VALUE_2 + + """, dataTest); - StringBuilder builder = new StringBuilder(); + final TestArrayNodeEnumStructured root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeEnumStructured.class, ExmlTestIntrospectionEnum.NODE_NAME)); + Assertions.assertEquals(5, root.values.length); + Assertions.assertEquals(TestEnumVal.VALUE_1, root.values[0]); + Assertions.assertEquals(TestEnumVal.VALUE_2, root.values[1]); + Assertions.assertEquals(TestEnumVal.VALUE_3, root.values[2]); + Assertions.assertEquals(TestEnumVal.VALUE_1, root.values[3]); + Assertions.assertEquals(TestEnumVal.VALUE_2, root.values[4]); + } + + @Test + public void testListNodeTestEnumValStructured() { + final TestListNodeEnumStructured elem = new TestListNodeEnumStructured(); + elem.values = List.of(TestEnumVal.VALUE_1, TestEnumVal.VALUE_2, TestEnumVal.VALUE_3, TestEnumVal.VALUE_1, TestEnumVal.VALUE_2); + + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionEnum.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + + VALUE_1 + VALUE_2 + VALUE_3 + VALUE_1 + VALUE_2 + + """, dataTest); + + final TestListNodeEnumStructured root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListNodeEnumStructured.class, ExmlTestIntrospectionEnum.NODE_NAME)); + Assertions.assertEquals(5, root.values.size()); + Assertions.assertEquals(TestEnumVal.VALUE_1, root.values.get(0)); + Assertions.assertEquals(TestEnumVal.VALUE_2, root.values.get(1)); + Assertions.assertEquals(TestEnumVal.VALUE_3, root.values.get(2)); + Assertions.assertEquals(TestEnumVal.VALUE_1, root.values.get(3)); + Assertions.assertEquals(TestEnumVal.VALUE_2, root.values.get(4)); + } + + @Test + public void testModelArrayEnum() { + final TestArrayEnum elem = new TestArrayEnum(); + elem.values = new TestEnumVal[] { TestEnumVal.VALUE_1, TestEnumVal.VALUE_2, TestEnumVal.VALUE_3, TestEnumVal.VALUE_1, TestEnumVal.VALUE_2 }; + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionEnum.NODE_NAME, builder)); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); Assertions.assertEquals("", dataTest); - + final TestArrayEnum root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayEnum.class, ExmlTestIntrospectionEnum.NODE_NAME)); Assertions.assertEquals(5, root.values.length); Assertions.assertEquals(TestEnumVal.VALUE_1, root.values[0]); @@ -74,90 +239,17 @@ public class ExmlTestIntrospectionEnum { Assertions.assertEquals(TestEnumVal.VALUE_2, root.values[4]); } - @XmlDefaultAttibute - public class TestListEnum { - public List values; - } @Test - public void testModelListEnum() { - TestListEnum elem = new TestListEnum(); - elem.values = List.of(TestEnumVal.VALUE_1,TestEnumVal.VALUE_2, TestEnumVal.VALUE_3, TestEnumVal.VALUE_1, TestEnumVal.VALUE_2); + public void testModelArrayEnumFunc() { + final TestArrayEnumFunc elem = new TestArrayEnumFunc(); + elem.setValues(new TestEnumVal[] { TestEnumVal.VALUE_1, TestEnumVal.VALUE_2, TestEnumVal.VALUE_3, TestEnumVal.VALUE_1, TestEnumVal.VALUE_2 }); - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionEnum.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); Assertions.assertEquals("", dataTest); - - final TestListEnum root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListEnum.class, ExmlTestIntrospectionEnum.NODE_NAME)); - Assertions.assertEquals(5, root.values.size()); - Assertions.assertEquals(TestEnumVal.VALUE_1, root.values.get(0)); - Assertions.assertEquals(TestEnumVal.VALUE_2, root.values.get(1)); - Assertions.assertEquals(TestEnumVal.VALUE_3, root.values.get(2)); - Assertions.assertEquals(TestEnumVal.VALUE_1, root.values.get(3)); - Assertions.assertEquals(TestEnumVal.VALUE_2, root.values.get(4)); - } - - - @XmlDefaultAttibute - public class TestEnumFunc { - private TestEnumVal valueA; - private TestEnumVal valueB; - public TestEnumVal getValueA() { - return this.valueA; - } - public void setValueA(final TestEnumVal valueA) { - this.valueA = valueA; - } - public TestEnumVal getValueB() { - return this.valueB; - } - public void setValueB(final TestEnumVal valueB) { - this.valueB = valueB; - } - } - - @Test - public void testModelEnumFunc() { - TestEnumFunc elem = new TestEnumFunc(); - elem.setValueA(TestEnumVal.VALUE_1); - elem.setValueB(TestEnumVal.VALUE_2); - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionEnum.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("", dataTest); - - final TestEnumFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestEnumFunc.class, ExmlTestIntrospectionEnum.NODE_NAME)); - Assertions.assertEquals(TestEnumVal.VALUE_1, root.getValueA()); - Assertions.assertEquals(TestEnumVal.VALUE_2, root.getValueB()); - } - - @XmlDefaultAttibute - public class TestArrayEnumFunc { - private TestEnumVal[] values; - - public TestEnumVal[] getValues() { - return this.values; - } - - public void setValues(final TestEnumVal[] values) { - this.values = values; - } - - } - @Test - public void testModelArrayEnumFunc() { - TestArrayEnumFunc elem = new TestArrayEnumFunc(); - elem.setValues(new TestEnumVal[] {TestEnumVal.VALUE_1,TestEnumVal.VALUE_2, TestEnumVal.VALUE_3, TestEnumVal.VALUE_1, TestEnumVal.VALUE_2}); - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionEnum.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("", dataTest); - final TestArrayEnumFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayEnumFunc.class, ExmlTestIntrospectionEnum.NODE_NAME)); Assertions.assertEquals(5, root.getValues().length); Assertions.assertEquals(TestEnumVal.VALUE_1, root.getValues()[0]); @@ -167,82 +259,24 @@ public class ExmlTestIntrospectionEnum { Assertions.assertEquals(TestEnumVal.VALUE_2, root.getValues()[4]); } - @XmlDefaultAttibute - public class TestListEnumFunc { - private List values; - - public List getValues() { - return this.values; - } - - public void setValues(final List values) { - this.values = values; - } - } @Test - public void testModelListEnumFunc() { - TestListEnumFunc elem = new TestListEnumFunc(); - elem.setValues(List.of(TestEnumVal.VALUE_1,TestEnumVal.VALUE_2, TestEnumVal.VALUE_3, TestEnumVal.VALUE_1, TestEnumVal.VALUE_2)); + public void testModelArrayNodeEnum() { + final TestArrayNodeEnum elem = new TestArrayNodeEnum(); + elem.values = new TestEnumVal[] { TestEnumVal.VALUE_1, TestEnumVal.VALUE_2, TestEnumVal.VALUE_3, TestEnumVal.VALUE_1, TestEnumVal.VALUE_2 }; - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionEnum.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("", dataTest); - - final TestListEnumFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListEnumFunc.class, ExmlTestIntrospectionEnum.NODE_NAME)); - Assertions.assertEquals(5, root.getValues().size()); - Assertions.assertEquals(TestEnumVal.VALUE_1, root.getValues().get(0)); - Assertions.assertEquals(TestEnumVal.VALUE_2, root.getValues().get(1)); - Assertions.assertEquals(TestEnumVal.VALUE_3, root.getValues().get(2)); - Assertions.assertEquals(TestEnumVal.VALUE_1, root.getValues().get(3)); - Assertions.assertEquals(TestEnumVal.VALUE_2, root.getValues().get(4)); - } - - public class TestNodeEnum { - public TestEnumVal valueA; - public TestEnumVal valueB; - } - @Test - public void testModelNodeEnum() { - TestNodeEnum elem = new TestNodeEnum(); - elem.valueA = TestEnumVal.VALUE_3; - elem.valueB = TestEnumVal.VALUE_1; + Assertions.assertEquals(""" + + VALUE_1 + VALUE_2 + VALUE_3 + VALUE_1 + VALUE_2 + """, dataTest); - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionEnum.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " VALUE_3\n" - + " VALUE_1\n" - + "", dataTest); - - final TestNodeEnum root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeEnum.class, ExmlTestIntrospectionEnum.NODE_NAME)); - Assertions.assertEquals(TestEnumVal.VALUE_3, root.valueA); - Assertions.assertEquals(TestEnumVal.VALUE_1, root.valueB); - } - - public class TestArrayNodeEnum { - public TestEnumVal[] values; - } - @Test - public void testModelArrayNodeEnum() { - TestArrayNodeEnum elem = new TestArrayNodeEnum(); - elem.values = new TestEnumVal[] {TestEnumVal.VALUE_1,TestEnumVal.VALUE_2, TestEnumVal.VALUE_3, TestEnumVal.VALUE_1, TestEnumVal.VALUE_2}; - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionEnum.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " VALUE_1\n" - + " VALUE_2\n" - + " VALUE_3\n" - + " VALUE_1\n" - + " VALUE_2\n" - + "", dataTest); - final TestArrayNodeEnum root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeEnum.class, ExmlTestIntrospectionEnum.NODE_NAME)); Assertions.assertEquals(5, root.values.length); Assertions.assertEquals(TestEnumVal.VALUE_1, root.values[0]); @@ -252,102 +286,24 @@ public class ExmlTestIntrospectionEnum { Assertions.assertEquals(TestEnumVal.VALUE_2, root.values[4]); } - public class TestListNodeEnum { - public List values; - } @Test - public void testModelListNodeEnum() { - TestListNodeEnum elem = new TestListNodeEnum(); - elem.values = List.of(TestEnumVal.VALUE_1,TestEnumVal.VALUE_2, TestEnumVal.VALUE_3, TestEnumVal.VALUE_1, TestEnumVal.VALUE_2); + public void testModelArrayNodeEnumFunc() { + final TestArrayNodeEnumFunc elem = new TestArrayNodeEnumFunc(); + elem.setValues(new TestEnumVal[] { TestEnumVal.VALUE_1, TestEnumVal.VALUE_2, TestEnumVal.VALUE_3, TestEnumVal.VALUE_1, TestEnumVal.VALUE_2 }); - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionEnum.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " VALUE_1\n" - + " VALUE_2\n" - + " VALUE_3\n" - + " VALUE_1\n" - + " VALUE_2\n" - + "", dataTest); - - final TestListNodeEnum root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListNodeEnum.class, ExmlTestIntrospectionEnum.NODE_NAME)); - Assertions.assertEquals(5, root.values.size()); - Assertions.assertEquals(TestEnumVal.VALUE_1, root.values.get(0)); - Assertions.assertEquals(TestEnumVal.VALUE_2, root.values.get(1)); - Assertions.assertEquals(TestEnumVal.VALUE_3, root.values.get(2)); - Assertions.assertEquals(TestEnumVal.VALUE_1, root.values.get(3)); - Assertions.assertEquals(TestEnumVal.VALUE_2, root.values.get(4)); - } - - - public class TestNodeEnumFunc { - private TestEnumVal valueA; - private TestEnumVal valueB; - public TestEnumVal getValueA() { - return this.valueA; - } - public void setValueA(final TestEnumVal valueA) { - this.valueA = valueA; - } - public TestEnumVal getValueB() { - return this.valueB; - } - public void setValueB(final TestEnumVal valueB) { - this.valueB = valueB; - } - } - - @Test - public void testModelNodeEnumFunc() { - TestNodeEnumFunc elem = new TestNodeEnumFunc(); - elem.setValueA(TestEnumVal.VALUE_2); - elem.setValueB(TestEnumVal.VALUE_3); + Assertions.assertEquals(""" + + VALUE_1 + VALUE_2 + VALUE_3 + VALUE_1 + VALUE_2 + """, dataTest); - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionEnum.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " VALUE_2\n" - + " VALUE_3\n" - + "", dataTest); - - final TestNodeEnumFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeEnumFunc.class, ExmlTestIntrospectionEnum.NODE_NAME)); - Assertions.assertEquals(TestEnumVal.VALUE_2, root.getValueA()); - Assertions.assertEquals(TestEnumVal.VALUE_3, root.getValueB()); - } - - public class TestArrayNodeEnumFunc { - private TestEnumVal[] values; - - public TestEnumVal[] getValues() { - return this.values; - } - - public void setValues(final TestEnumVal[] values) { - this.values = values; - } - - } - @Test - public void testModelArrayNodeEnumFunc() { - TestArrayNodeEnumFunc elem = new TestArrayNodeEnumFunc(); - elem.setValues(new TestEnumVal[] {TestEnumVal.VALUE_1,TestEnumVal.VALUE_2, TestEnumVal.VALUE_3, TestEnumVal.VALUE_1, TestEnumVal.VALUE_2}); - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionEnum.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " VALUE_1\n" - + " VALUE_2\n" - + " VALUE_3\n" - + " VALUE_1\n" - + " VALUE_2\n" - + "", dataTest); - final TestArrayNodeEnumFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeEnumFunc.class, ExmlTestIntrospectionEnum.NODE_NAME)); Assertions.assertEquals(5, root.getValues().length); Assertions.assertEquals(TestEnumVal.VALUE_1, root.getValues()[0]); @@ -357,35 +313,125 @@ public class ExmlTestIntrospectionEnum { Assertions.assertEquals(TestEnumVal.VALUE_2, root.getValues()[4]); } - // Note this is set in static to test an other part of code... - public static class TestListNodeEnumFunc { - private List values; - - public List getValues() { - return this.values; - } - - public void setValues(final List values) { - this.values = values; - } - } @Test - public void testModelListNodeEnumFunc() { - TestListNodeEnumFunc elem = new TestListNodeEnumFunc(); - elem.setValues(List.of(TestEnumVal.VALUE_1,TestEnumVal.VALUE_2, TestEnumVal.VALUE_3, TestEnumVal.VALUE_1, TestEnumVal.VALUE_2)); + public void testModelEnum() { + final TestEnum elem = new TestEnum(); + elem.valueA = TestEnumVal.VALUE_1; + elem.valueB = TestEnumVal.VALUE_3; - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionEnum.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " VALUE_1\n" - + " VALUE_2\n" - + " VALUE_3\n" - + " VALUE_1\n" - + " VALUE_2\n" - + "", dataTest); - + Assertions.assertEquals("", dataTest); + + final TestEnum root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestEnum.class, ExmlTestIntrospectionEnum.NODE_NAME)); + Assertions.assertEquals(TestEnumVal.VALUE_1, root.valueA); + Assertions.assertEquals(TestEnumVal.VALUE_3, root.valueB); + } + + @Test + public void testModelEnumFunc() { + final TestEnumFunc elem = new TestEnumFunc(); + elem.setValueA(TestEnumVal.VALUE_1); + elem.setValueB(TestEnumVal.VALUE_2); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionEnum.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals("", dataTest); + + final TestEnumFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestEnumFunc.class, ExmlTestIntrospectionEnum.NODE_NAME)); + Assertions.assertEquals(TestEnumVal.VALUE_1, root.getValueA()); + Assertions.assertEquals(TestEnumVal.VALUE_2, root.getValueB()); + } + + @Test + public void testModelListEnum() { + final TestListEnum elem = new TestListEnum(); + elem.values = List.of(TestEnumVal.VALUE_1, TestEnumVal.VALUE_2, TestEnumVal.VALUE_3, TestEnumVal.VALUE_1, TestEnumVal.VALUE_2); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionEnum.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals("", dataTest); + + final TestListEnum root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListEnum.class, ExmlTestIntrospectionEnum.NODE_NAME)); + Assertions.assertEquals(5, root.values.size()); + Assertions.assertEquals(TestEnumVal.VALUE_1, root.values.get(0)); + Assertions.assertEquals(TestEnumVal.VALUE_2, root.values.get(1)); + Assertions.assertEquals(TestEnumVal.VALUE_3, root.values.get(2)); + Assertions.assertEquals(TestEnumVal.VALUE_1, root.values.get(3)); + Assertions.assertEquals(TestEnumVal.VALUE_2, root.values.get(4)); + } + + @Test + public void testModelListEnumFunc() { + final TestListEnumFunc elem = new TestListEnumFunc(); + elem.setValues(List.of(TestEnumVal.VALUE_1, TestEnumVal.VALUE_2, TestEnumVal.VALUE_3, TestEnumVal.VALUE_1, TestEnumVal.VALUE_2)); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionEnum.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals("", dataTest); + + final TestListEnumFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListEnumFunc.class, ExmlTestIntrospectionEnum.NODE_NAME)); + Assertions.assertEquals(5, root.getValues().size()); + Assertions.assertEquals(TestEnumVal.VALUE_1, root.getValues().get(0)); + Assertions.assertEquals(TestEnumVal.VALUE_2, root.getValues().get(1)); + Assertions.assertEquals(TestEnumVal.VALUE_3, root.getValues().get(2)); + Assertions.assertEquals(TestEnumVal.VALUE_1, root.getValues().get(3)); + Assertions.assertEquals(TestEnumVal.VALUE_2, root.getValues().get(4)); + } + + @Test + public void testModelListNodeEnum() { + final TestListNodeEnum elem = new TestListNodeEnum(); + elem.values = List.of(TestEnumVal.VALUE_1, TestEnumVal.VALUE_2, TestEnumVal.VALUE_3, TestEnumVal.VALUE_1, TestEnumVal.VALUE_2); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionEnum.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + VALUE_1 + VALUE_2 + VALUE_3 + VALUE_1 + VALUE_2 + """, dataTest); + + final TestListNodeEnum root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListNodeEnum.class, ExmlTestIntrospectionEnum.NODE_NAME)); + Assertions.assertEquals(5, root.values.size()); + Assertions.assertEquals(TestEnumVal.VALUE_1, root.values.get(0)); + Assertions.assertEquals(TestEnumVal.VALUE_2, root.values.get(1)); + Assertions.assertEquals(TestEnumVal.VALUE_3, root.values.get(2)); + Assertions.assertEquals(TestEnumVal.VALUE_1, root.values.get(3)); + Assertions.assertEquals(TestEnumVal.VALUE_2, root.values.get(4)); + } + + @Test + public void testModelListNodeEnumFunc() { + final TestListNodeEnumFunc elem = new TestListNodeEnumFunc(); + elem.setValues(List.of(TestEnumVal.VALUE_1, TestEnumVal.VALUE_2, TestEnumVal.VALUE_3, TestEnumVal.VALUE_1, TestEnumVal.VALUE_2)); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionEnum.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + VALUE_1 + VALUE_2 + VALUE_3 + VALUE_1 + VALUE_2 + """, dataTest); + final TestListNodeEnumFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListNodeEnumFunc.class, ExmlTestIntrospectionEnum.NODE_NAME)); Assertions.assertEquals(5, root.getValues().size()); Assertions.assertEquals(TestEnumVal.VALUE_1, root.getValues().get(0)); @@ -395,72 +441,45 @@ public class ExmlTestIntrospectionEnum { Assertions.assertEquals(TestEnumVal.VALUE_2, root.getValues().get(4)); } - - - - - - public class TestListNodeEnumStructured { - @XmlList(value="elem") - public List values; - } @Test - public void testListNodeTestEnumValStructured() { - TestListNodeEnumStructured elem = new TestListNodeEnumStructured(); - elem.values = List.of(TestEnumVal.VALUE_1,TestEnumVal.VALUE_2, TestEnumVal.VALUE_3, TestEnumVal.VALUE_1, TestEnumVal.VALUE_2); + public void testModelNodeEnum() { + final TestNodeEnum elem = new TestNodeEnum(); + elem.valueA = TestEnumVal.VALUE_3; + elem.valueB = TestEnumVal.VALUE_1; - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionEnum.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " \n" - + " VALUE_1\n" - + " VALUE_2\n" - + " VALUE_3\n" - + " VALUE_1\n" - + " VALUE_2\n" - + " \n" - + "", dataTest); - - final TestListNodeEnumStructured root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListNodeEnumStructured.class, ExmlTestIntrospectionEnum.NODE_NAME)); - Assertions.assertEquals(5, root.values.size()); - Assertions.assertEquals(TestEnumVal.VALUE_1, root.values.get(0)); - Assertions.assertEquals(TestEnumVal.VALUE_2, root.values.get(1)); - Assertions.assertEquals(TestEnumVal.VALUE_3, root.values.get(2)); - Assertions.assertEquals(TestEnumVal.VALUE_1, root.values.get(3)); - Assertions.assertEquals(TestEnumVal.VALUE_2, root.values.get(4)); - } - public class TestArrayNodeEnumStructured { - @XmlList(value="elem") - public TestEnumVal[] values; + Assertions.assertEquals(""" + + VALUE_3 + VALUE_1 + """, dataTest); + + final TestNodeEnum root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeEnum.class, ExmlTestIntrospectionEnum.NODE_NAME)); + Assertions.assertEquals(TestEnumVal.VALUE_3, root.valueA); + Assertions.assertEquals(TestEnumVal.VALUE_1, root.valueB); } + @Test - public void testArrayNodeTestEnumValStructured() { - TestArrayNodeEnumStructured elem = new TestArrayNodeEnumStructured(); - elem.values = new TestEnumVal[] {TestEnumVal.VALUE_1,TestEnumVal.VALUE_2, TestEnumVal.VALUE_3, TestEnumVal.VALUE_1, TestEnumVal.VALUE_2}; + public void testModelNodeEnumFunc() { + final TestNodeEnumFunc elem = new TestNodeEnumFunc(); + elem.setValueA(TestEnumVal.VALUE_2); + elem.setValueB(TestEnumVal.VALUE_3); - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionEnum.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " \n" - + " VALUE_1\n" - + " VALUE_2\n" - + " VALUE_3\n" - + " VALUE_1\n" - + " VALUE_2\n" - + " \n" - + "", dataTest); - - final TestArrayNodeEnumStructured root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeEnumStructured.class, ExmlTestIntrospectionEnum.NODE_NAME)); - Assertions.assertEquals(5, root.values.length); - Assertions.assertEquals(TestEnumVal.VALUE_1, root.values[0]); - Assertions.assertEquals(TestEnumVal.VALUE_2, root.values[1]); - Assertions.assertEquals(TestEnumVal.VALUE_3, root.values[2]); - Assertions.assertEquals(TestEnumVal.VALUE_1, root.values[3]); - Assertions.assertEquals(TestEnumVal.VALUE_2, root.values[4]); + Assertions.assertEquals(""" + + VALUE_2 + VALUE_3 + """, dataTest); + + final TestNodeEnumFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeEnumFunc.class, ExmlTestIntrospectionEnum.NODE_NAME)); + Assertions.assertEquals(TestEnumVal.VALUE_2, root.getValueA()); + Assertions.assertEquals(TestEnumVal.VALUE_3, root.getValueB()); } } - diff --git a/test/src/test/atriasoft/exml/ExmlTestIntrospectionFloat.java b/test/src/test/atriasoft/exml/ExmlTestIntrospectionFloat.java index d169a06..6c8e010 100644 --- a/test/src/test/atriasoft/exml/ExmlTestIntrospectionFloat.java +++ b/test/src/test/atriasoft/exml/ExmlTestIntrospectionFloat.java @@ -7,61 +7,245 @@ package test.atriasoft.exml; import java.util.List; +import org.atriasoft.aknot.annotation.AknotList; +import org.atriasoft.aknot.annotation.AknotDefaultAttribute; import org.atriasoft.exml.Exml; -import org.atriasoft.exml.annotation.XmlDefaultAttibute; -import org.atriasoft.exml.annotation.XmlList; - import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; public class ExmlTestIntrospectionFloat { - static final String NODE_NAME = "elem"; - @BeforeAll - public static void beforeClass() { - Log.warning("================================================================"); + @AknotDefaultAttribute + public class TestArrayFloat { + public Float[] values; } - - @XmlDefaultAttibute + + @AknotDefaultAttribute + public class TestArrayFloatFunc { + private Float[] values; + + public Float[] getValues() { + return this.values; + } + + public void setValues(final Float[] values) { + this.values = values; + } + + } + + public class TestArrayNodeFloat { + public Float[] values; + } + + public class TestArrayNodeFloatFunc { + private Float[] values; + + public Float[] getValues() { + return this.values; + } + + public void setValues(final Float[] values) { + this.values = values; + } + + } + + public class TestArrayNodeFloatStructured { + @AknotList(value = "elem") + public Float[] values; + } + + @AknotDefaultAttribute public class TestFloat { public Float valueA; public Float valueB; public Float valueNull; } - @Test - public void testModelFloat() { - TestFloat elem = new TestFloat(); - elem.valueA = (float)12; - elem.valueB = (float)-13; - elem.valueNull = null; + + @AknotDefaultAttribute + public class TestFloatFunc { + private Float valueA; + private Float valueB; + private Float valueNull; - StringBuilder builder = new StringBuilder(); + public Float getValueA() { + return this.valueA; + } + + public Float getValueB() { + return this.valueB; + } + + public Float getValueNull() { + return this.valueNull; + } + + public void setValueA(final Float valueA) { + this.valueA = valueA; + } + + public void setValueB(final Float valueB) { + this.valueB = valueB; + } + + public void setValueNull(final Float valueNull) { + this.valueNull = valueNull; + } + } + + @AknotDefaultAttribute + public class TestListFloat { + public List values; + } + + @AknotDefaultAttribute + public class TestListFloatFunc { + private List values; + + public List getValues() { + return this.values; + } + + public void setValues(final List values) { + this.values = values; + } + } + + public class TestListNodeByteStructured { + @AknotList(value = "elem") + public List values; + } + + public class TestListNodeFloat { + public List values; + } + + // Note this is set in static to test an other part of code... + public static class TestListNodeFloatFunc { + private List values; + + public List getValues() { + return this.values; + } + + public void setValues(final List values) { + this.values = values; + } + } + + public class TestNodeFloat { + public Float valueA; + public Float valueB; + public Float valueNull; + } + + public class TestNodeFloatFunc { + private Float valueA; + private Float valueB; + private Float valueNull; + + public Float getValueA() { + return this.valueA; + } + + public Float getValueB() { + return this.valueB; + } + + public Float getValueNull() { + return this.valueNull; + } + + public void setValueA(final Float valueA) { + this.valueA = valueA; + } + + public void setValueB(final Float valueB) { + this.valueB = valueB; + } + + public void setValueNull(final Float valueNull) { + this.valueNull = valueNull; + } + } + + static final String NODE_NAME = "elem"; + + @BeforeAll + public static void beforeClass() { + Log.warning("================================================================"); + } + + @Test + public void testArrayNodeFloatStructured() { + final TestArrayNodeFloatStructured elem = new TestArrayNodeFloatStructured(); + elem.values = new Float[] { (float) 12, (float) -13, (float) 33, (float) 78, (float) -127 }; + + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionFloat.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("", dataTest); - - final TestFloat root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestFloat.class, ExmlTestIntrospectionFloat.NODE_NAME)); - Assertions.assertEquals(12, root.valueA); - Assertions.assertEquals(-13, root.valueB); - Assertions.assertEquals(null, root.valueNull); - } - - @XmlDefaultAttibute - public class TestArrayFloat { - public Float[] values; - } - @Test - public void testModelArrayFloat() { - TestArrayFloat elem = new TestArrayFloat(); - elem.values = new Float[] {(float)12, (float)-13, (float)33, (float)78, (float)-127}; + Assertions.assertEquals(""" + + + 12.0 + -13.0 + 33.0 + 78.0 + -127.0 + + """, dataTest); - StringBuilder builder = new StringBuilder(); + final TestArrayNodeFloatStructured root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeFloatStructured.class, ExmlTestIntrospectionFloat.NODE_NAME)); + Assertions.assertEquals(5, root.values.length); + Assertions.assertEquals(12, root.values[0]); + Assertions.assertEquals(-13, root.values[1]); + Assertions.assertEquals(33, root.values[2]); + Assertions.assertEquals(78, root.values[3]); + Assertions.assertEquals(-127, root.values[4]); + } + + @Test + public void testListNodeByteStructured() { + final TestListNodeByteStructured elem = new TestListNodeByteStructured(); + elem.values = List.of((float) 12, (float) -13, (float) 33, (float) 78, (float) -127); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionByte.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + + 12.0 + -13.0 + 33.0 + 78.0 + -127.0 + + """, dataTest); + + final TestListNodeByteStructured root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListNodeByteStructured.class, ExmlTestIntrospectionByte.NODE_NAME)); + Assertions.assertEquals(5, root.values.size()); + Assertions.assertEquals(12, root.values.get(0)); + Assertions.assertEquals(-13, root.values.get(1)); + Assertions.assertEquals(33, root.values.get(2)); + Assertions.assertEquals(78, root.values.get(3)); + Assertions.assertEquals(-127, root.values.get(4)); + } + + @Test + public void testModelArrayFloat() { + final TestArrayFloat elem = new TestArrayFloat(); + elem.values = new Float[] { (float) 12, (float) -13, (float) 33, (float) 78, (float) -127 }; + + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionFloat.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); Assertions.assertEquals("", dataTest); - + final TestArrayFloat root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayFloat.class, ExmlTestIntrospectionFloat.NODE_NAME)); Assertions.assertEquals(5, root.values.length); Assertions.assertEquals(12, root.values[0]); @@ -71,99 +255,17 @@ public class ExmlTestIntrospectionFloat { Assertions.assertEquals(-127, root.values[4]); } - @XmlDefaultAttibute - public class TestListFloat { - public List values; - } @Test - public void testModelListFloat() { - TestListFloat elem = new TestListFloat(); - elem.values = List.of((float)12, (float)-13, (float)33, (float)78, (float)-127); + public void testModelArrayFloatFunc() { + final TestArrayFloatFunc elem = new TestArrayFloatFunc(); + elem.setValues(new Float[] { (float) 12, (float) -13, (float) 33, (float) 78, (float) -127 }); - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionFloat.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); Assertions.assertEquals("", dataTest); - - final TestListFloat root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListFloat.class, ExmlTestIntrospectionFloat.NODE_NAME)); - Assertions.assertEquals(5, root.values.size()); - Assertions.assertEquals(12, root.values.get(0)); - Assertions.assertEquals(-13, root.values.get(1)); - Assertions.assertEquals(33, root.values.get(2)); - Assertions.assertEquals(78, root.values.get(3)); - Assertions.assertEquals(-127, root.values.get(4)); - } - - - @XmlDefaultAttibute - public class TestFloatFunc { - private Float valueA; - private Float valueB; - private Float valueNull; - public Float getValueA() { - return this.valueA; - } - public void setValueA(final Float valueA) { - this.valueA = valueA; - } - public Float getValueB() { - return this.valueB; - } - public void setValueB(final Float valueB) { - this.valueB = valueB; - } - public Float getValueNull() { - return this.valueNull; - } - public void setValueNull(final Float valueNull) { - this.valueNull = valueNull; - } - } - - @Test - public void testModelFloatFunc() { - TestFloatFunc elem = new TestFloatFunc(); - elem.setValueA((float)-55); - elem.setValueB((float)57); - elem.setValueNull(null); - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionFloat.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("", dataTest); - - final TestFloatFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestFloatFunc.class, ExmlTestIntrospectionFloat.NODE_NAME)); - Assertions.assertEquals(-55, root.getValueA()); - Assertions.assertEquals(57, root.getValueB()); - Assertions.assertEquals(null, root.getValueNull()); - } - - @XmlDefaultAttibute - public class TestArrayFloatFunc { - private Float[] values; - - public Float[] getValues() { - return this.values; - } - - public void setValues(final Float[] values) { - this.values = values; - } - - } - @Test - public void testModelArrayFloatFunc() { - TestArrayFloatFunc elem = new TestArrayFloatFunc(); - elem.setValues(new Float[] {(float)12, (float)-13, (float)33, (float)78, (float)-127}); - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionFloat.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("", dataTest); - final TestArrayFloatFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayFloatFunc.class, ExmlTestIntrospectionFloat.NODE_NAME)); Assertions.assertEquals(5, root.getValues().length); Assertions.assertEquals(12, root.getValues()[0]); @@ -173,85 +275,24 @@ public class ExmlTestIntrospectionFloat { Assertions.assertEquals(-127, root.getValues()[4]); } - @XmlDefaultAttibute - public class TestListFloatFunc { - private List values; - - public List getValues() { - return this.values; - } - - public void setValues(final List values) { - this.values = values; - } - } @Test - public void testModelListFloatFunc() { - TestListFloatFunc elem = new TestListFloatFunc(); - elem.setValues(List.of((float)12, (float)-13, (float)33, (float)78, (float)-127)); + public void testModelArrayNodeFloat() { + final TestArrayNodeFloat elem = new TestArrayNodeFloat(); + elem.values = new Float[] { (float) 12, (float) -13, (float) 33, (float) 78, (float) -127 }; - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionFloat.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("", dataTest); - - final TestListFloatFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListFloatFunc.class, ExmlTestIntrospectionFloat.NODE_NAME)); - Assertions.assertEquals(5, root.getValues().size()); - Assertions.assertEquals(12, root.getValues().get(0)); - Assertions.assertEquals(-13, root.getValues().get(1)); - Assertions.assertEquals(33, root.getValues().get(2)); - Assertions.assertEquals(78, root.getValues().get(3)); - Assertions.assertEquals(-127, root.getValues().get(4)); - } - - public class TestNodeFloat { - public Float valueA; - public Float valueB; - public Float valueNull; - } - @Test - public void testModelNodeFloat() { - TestNodeFloat elem = new TestNodeFloat(); - elem.valueA = (float)11; - elem.valueB = (float)-120; - elem.valueNull = null; + Assertions.assertEquals(""" + + 12.0 + -13.0 + 33.0 + 78.0 + -127.0 + """, dataTest); - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionFloat.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 11.0\n" - + " -120.0\n" - + "", dataTest); - - final TestNodeFloat root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeFloat.class, ExmlTestIntrospectionFloat.NODE_NAME)); - Assertions.assertEquals(11, root.valueA); - Assertions.assertEquals(-120, root.valueB); - Assertions.assertEquals(null, root.valueNull); - } - - public class TestArrayNodeFloat { - public Float[] values; - } - @Test - public void testModelArrayNodeFloat() { - TestArrayNodeFloat elem = new TestArrayNodeFloat(); - elem.values = new Float[] {(float)12, (float)-13, (float)33, (float)78, (float)-127}; - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionFloat.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 12.0\n" - + " -13.0\n" - + " 33.0\n" - + " 78.0\n" - + " -127.0\n" - + "", dataTest); - final TestArrayNodeFloat root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeFloat.class, ExmlTestIntrospectionFloat.NODE_NAME)); Assertions.assertEquals(5, root.values.length); Assertions.assertEquals(12, root.values[0]); @@ -261,111 +302,24 @@ public class ExmlTestIntrospectionFloat { Assertions.assertEquals(-127, root.values[4]); } - public class TestListNodeFloat { - public List values; - } @Test - public void testModelListNodeFloat() { - TestListNodeFloat elem = new TestListNodeFloat(); - elem.values = List.of((float)12, (float)-13, (float)33, (float)78, (float)-127); + public void testModelArrayNodeFloatFunc() { + final TestArrayNodeFloatFunc elem = new TestArrayNodeFloatFunc(); + elem.setValues(new Float[] { (float) 12, (float) -13, (float) 33, (float) 78, (float) -127 }); - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionFloat.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 12.0\n" - + " -13.0\n" - + " 33.0\n" - + " 78.0\n" - + " -127.0\n" - + "", dataTest); - - final TestListNodeFloat root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListNodeFloat.class, ExmlTestIntrospectionFloat.NODE_NAME)); - Assertions.assertEquals(5, root.values.size()); - Assertions.assertEquals(12, root.values.get(0)); - Assertions.assertEquals(-13, root.values.get(1)); - Assertions.assertEquals(33, root.values.get(2)); - Assertions.assertEquals(78, root.values.get(3)); - Assertions.assertEquals(-127, root.values.get(4)); - } - - - public class TestNodeFloatFunc { - private Float valueA; - private Float valueB; - private Float valueNull; - public Float getValueA() { - return this.valueA; - } - public void setValueA(final Float valueA) { - this.valueA = valueA; - } - public Float getValueB() { - return this.valueB; - } - public void setValueB(final Float valueB) { - this.valueB = valueB; - } - public Float getValueNull() { - return this.valueNull; - } - public void setValueNull(final Float valueNull) { - this.valueNull = valueNull; - } - } - - @Test - public void testModelNodeFloatFunc() { - TestNodeFloatFunc elem = new TestNodeFloatFunc(); - elem.setValueA((float)54); - elem.setValueB((float)-68); - elem.setValueNull(null); + Assertions.assertEquals(""" + + 12.0 + -13.0 + 33.0 + 78.0 + -127.0 + """, dataTest); - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionFloat.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 54.0\n" - + " -68.0\n" - + "", dataTest); - - final TestNodeFloatFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeFloatFunc.class, ExmlTestIntrospectionFloat.NODE_NAME)); - Assertions.assertEquals(54, root.getValueA()); - Assertions.assertEquals(-68, root.getValueB()); - Assertions.assertEquals(null, root.getValueNull()); - } - - public class TestArrayNodeFloatFunc { - private Float[] values; - - public Float[] getValues() { - return this.values; - } - - public void setValues(final Float[] values) { - this.values = values; - } - - } - @Test - public void testModelArrayNodeFloatFunc() { - TestArrayNodeFloatFunc elem = new TestArrayNodeFloatFunc(); - elem.setValues(new Float[] {(float)12, (float)-13, (float)33, (float)78, (float)-127}); - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionFloat.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 12.0\n" - + " -13.0\n" - + " 33.0\n" - + " 78.0\n" - + " -127.0\n" - + "", dataTest); - final TestArrayNodeFloatFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeFloatFunc.class, ExmlTestIntrospectionFloat.NODE_NAME)); Assertions.assertEquals(5, root.getValues().length); Assertions.assertEquals(12, root.getValues()[0]); @@ -375,35 +329,129 @@ public class ExmlTestIntrospectionFloat { Assertions.assertEquals(-127, root.getValues()[4]); } - // Note this is set in static to test an other part of code... - public static class TestListNodeFloatFunc { - private List values; - - public List getValues() { - return this.values; - } - - public void setValues(final List values) { - this.values = values; - } - } @Test - public void testModelListNodeFloatFunc() { - TestListNodeFloatFunc elem = new TestListNodeFloatFunc(); - elem.setValues(List.of((float)12, (float)-13, (float)33, (float)78, (float)-127)); + public void testModelFloat() { + final TestFloat elem = new TestFloat(); + elem.valueA = (float) 12; + elem.valueB = (float) -13; + elem.valueNull = null; - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionFloat.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 12.0\n" - + " -13.0\n" - + " 33.0\n" - + " 78.0\n" - + " -127.0\n" - + "", dataTest); - + Assertions.assertEquals("", dataTest); + + final TestFloat root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestFloat.class, ExmlTestIntrospectionFloat.NODE_NAME)); + Assertions.assertEquals(12, root.valueA); + Assertions.assertEquals(-13, root.valueB); + Assertions.assertEquals(null, root.valueNull); + } + + @Test + public void testModelFloatFunc() { + final TestFloatFunc elem = new TestFloatFunc(); + elem.setValueA((float) -55); + elem.setValueB((float) 57); + elem.setValueNull(null); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionFloat.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals("", dataTest); + + final TestFloatFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestFloatFunc.class, ExmlTestIntrospectionFloat.NODE_NAME)); + Assertions.assertEquals(-55, root.getValueA()); + Assertions.assertEquals(57, root.getValueB()); + Assertions.assertEquals(null, root.getValueNull()); + } + + @Test + public void testModelListFloat() { + final TestListFloat elem = new TestListFloat(); + elem.values = List.of((float) 12, (float) -13, (float) 33, (float) 78, (float) -127); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionFloat.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals("", dataTest); + + final TestListFloat root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListFloat.class, ExmlTestIntrospectionFloat.NODE_NAME)); + Assertions.assertEquals(5, root.values.size()); + Assertions.assertEquals(12, root.values.get(0)); + Assertions.assertEquals(-13, root.values.get(1)); + Assertions.assertEquals(33, root.values.get(2)); + Assertions.assertEquals(78, root.values.get(3)); + Assertions.assertEquals(-127, root.values.get(4)); + } + + @Test + public void testModelListFloatFunc() { + final TestListFloatFunc elem = new TestListFloatFunc(); + elem.setValues(List.of((float) 12, (float) -13, (float) 33, (float) 78, (float) -127)); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionFloat.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals("", dataTest); + + final TestListFloatFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListFloatFunc.class, ExmlTestIntrospectionFloat.NODE_NAME)); + Assertions.assertEquals(5, root.getValues().size()); + Assertions.assertEquals(12, root.getValues().get(0)); + Assertions.assertEquals(-13, root.getValues().get(1)); + Assertions.assertEquals(33, root.getValues().get(2)); + Assertions.assertEquals(78, root.getValues().get(3)); + Assertions.assertEquals(-127, root.getValues().get(4)); + } + + @Test + public void testModelListNodeFloat() { + final TestListNodeFloat elem = new TestListNodeFloat(); + elem.values = List.of((float) 12, (float) -13, (float) 33, (float) 78, (float) -127); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionFloat.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + 12.0 + -13.0 + 33.0 + 78.0 + -127.0 + """, dataTest); + + final TestListNodeFloat root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListNodeFloat.class, ExmlTestIntrospectionFloat.NODE_NAME)); + Assertions.assertEquals(5, root.values.size()); + Assertions.assertEquals(12, root.values.get(0)); + Assertions.assertEquals(-13, root.values.get(1)); + Assertions.assertEquals(33, root.values.get(2)); + Assertions.assertEquals(78, root.values.get(3)); + Assertions.assertEquals(-127, root.values.get(4)); + } + + @Test + public void testModelListNodeFloatFunc() { + final TestListNodeFloatFunc elem = new TestListNodeFloatFunc(); + elem.setValues(List.of((float) 12, (float) -13, (float) 33, (float) 78, (float) -127)); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionFloat.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + 12.0 + -13.0 + 33.0 + 78.0 + -127.0 + """, dataTest); + final TestListNodeFloatFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListNodeFloatFunc.class, ExmlTestIntrospectionFloat.NODE_NAME)); Assertions.assertEquals(5, root.getValues().size()); Assertions.assertEquals(12, root.getValues().get(0)); @@ -413,68 +461,49 @@ public class ExmlTestIntrospectionFloat { Assertions.assertEquals(-127, root.getValues().get(4)); } - - public class TestListNodeByteStructured { - @XmlList(value="elem") - public List values; - } @Test - public void testListNodeByteStructured() { - TestListNodeByteStructured elem = new TestListNodeByteStructured(); - elem.values = List.of((float)12, (float)-13, (float)33, (float)78, (float)-127); + public void testModelNodeFloat() { + final TestNodeFloat elem = new TestNodeFloat(); + elem.valueA = (float) 11; + elem.valueB = (float) -120; + elem.valueNull = null; - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionByte.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " \n" - + " 12.0\n" - + " -13.0\n" - + " 33.0\n" - + " 78.0\n" - + " -127.0\n" - + " \n" - + "", dataTest); - - final TestListNodeByteStructured root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListNodeByteStructured.class, ExmlTestIntrospectionByte.NODE_NAME)); - Assertions.assertEquals(5, root.values.size()); - Assertions.assertEquals(12, root.values.get(0)); - Assertions.assertEquals(-13, root.values.get(1)); - Assertions.assertEquals(33, root.values.get(2)); - Assertions.assertEquals(78, root.values.get(3)); - Assertions.assertEquals(-127, root.values.get(4)); - } - public class TestArrayNodeFloatStructured { - @XmlList(value="elem") - public Float[] values; - } - @Test - public void testArrayNodeFloatStructured() { - TestArrayNodeFloatStructured elem = new TestArrayNodeFloatStructured(); - elem.values = new Float[] {(float)12, (float)-13, (float)33, (float)78, (float)-127}; - - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionFloat.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " \n" - + " 12.0\n" - + " -13.0\n" - + " 33.0\n" - + " 78.0\n" - + " -127.0\n" - + " \n" - + "", dataTest); - - final TestArrayNodeFloatStructured root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeFloatStructured.class, ExmlTestIntrospectionFloat.NODE_NAME)); - Assertions.assertEquals(5, root.values.length); - Assertions.assertEquals(12, root.values[0]); - Assertions.assertEquals(-13, root.values[1]); - Assertions.assertEquals(33, root.values[2]); - Assertions.assertEquals(78, root.values[3]); - Assertions.assertEquals(-127, root.values[4]); + Assertions.assertEquals(""" + + 11.0 + -120.0 + """, dataTest); + + final TestNodeFloat root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeFloat.class, ExmlTestIntrospectionFloat.NODE_NAME)); + Assertions.assertEquals(11, root.valueA); + Assertions.assertEquals(-120, root.valueB); + Assertions.assertEquals(null, root.valueNull); + } + + @Test + public void testModelNodeFloatFunc() { + final TestNodeFloatFunc elem = new TestNodeFloatFunc(); + elem.setValueA((float) 54); + elem.setValueB((float) -68); + elem.setValueNull(null); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionFloat.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + 54.0 + -68.0 + """, dataTest); + + final TestNodeFloatFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeFloatFunc.class, ExmlTestIntrospectionFloat.NODE_NAME)); + Assertions.assertEquals(54, root.getValueA()); + Assertions.assertEquals(-68, root.getValueB()); + Assertions.assertEquals(null, root.getValueNull()); } } - diff --git a/test/src/test/atriasoft/exml/ExmlTestIntrospectionFloatNative.java b/test/src/test/atriasoft/exml/ExmlTestIntrospectionFloatNative.java index 40eec6d..e294a52 100644 --- a/test/src/test/atriasoft/exml/ExmlTestIntrospectionFloatNative.java +++ b/test/src/test/atriasoft/exml/ExmlTestIntrospectionFloatNative.java @@ -5,286 +5,136 @@ */ package test.atriasoft.exml; +import org.atriasoft.aknot.annotation.AknotList; +import org.atriasoft.aknot.annotation.AknotDefaultAttribute; import org.atriasoft.exml.Exml; -import org.atriasoft.exml.annotation.XmlDefaultAttibute; -import org.atriasoft.exml.annotation.XmlList; - import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; public class ExmlTestIntrospectionFloatNative { - static final String NODE_NAME = "elem"; - @BeforeAll - public static void beforeClass() { - Log.warning("================================================================"); + @AknotDefaultAttribute + public class TestArrayFloatFunc { + private float[] values; + + public float[] getValues() { + return this.values; + } + + public void setValues(final float[] values) { + this.values = values; + } + } - - @XmlDefaultAttibute + + @AknotDefaultAttribute + public class TestArrayFloatNative { + public float[] values; + } + + public class TestArrayNodeFloatFunc { + private float[] values; + + public float[] getValues() { + return this.values; + } + + public void setValues(final float[] values) { + this.values = values; + } + + } + + public class TestArrayNodeFloatNative { + public float[] values; + } + + public class TestArrayNodeFloatNativeStructured { + @AknotList(value = "elem") + public float[] values; + } + + @AknotDefaultAttribute + public class TestfloatFunc { + private float valueA; + private float valueB; + + public float getValueA() { + return this.valueA; + } + + public float getValueB() { + return this.valueB; + } + + public void setValueA(final float valueA) { + this.valueA = valueA; + } + + public void setValueB(final float valueB) { + this.valueB = valueB; + } + } + + @AknotDefaultAttribute public class TestFloatNative { public float valueA; public float valueB; } - @Test - public void testModelFloatNative() { - TestFloatNative elem = new TestFloatNative(); - elem.valueA = 12; - elem.valueB = -13; - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionFloat.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("", dataTest); - - final TestFloatNative root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestFloatNative.class, ExmlTestIntrospectionFloat.NODE_NAME)); - Assertions.assertEquals(12, root.valueA); - Assertions.assertEquals(-13, root.valueB); - } - - @XmlDefaultAttibute - public class TestArrayFloatNative { - public float[] values; - } - @Test - public void testModelArrayFloatNative() { - TestArrayFloatNative elem = new TestArrayFloatNative(); - elem.values = new float[] {12, -13, 33, 78, -127}; - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionFloat.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("", dataTest); - - final TestArrayFloatNative root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayFloatNative.class, ExmlTestIntrospectionFloat.NODE_NAME)); - Assertions.assertEquals(5, root.values.length); - Assertions.assertEquals(12, root.values[0]); - Assertions.assertEquals(-13, root.values[1]); - Assertions.assertEquals(33, root.values[2]); - Assertions.assertEquals(78, root.values[3]); - Assertions.assertEquals(-127, root.values[4]); - } - - @XmlDefaultAttibute - public class TestfloatFunc { + + public class TestNodefloatFunc { private float valueA; private float valueB; + public float getValueA() { return this.valueA; } - public void setValueA(final float valueA) { - this.valueA = valueA; - } + public float getValueB() { return this.valueB; } + + public void setValueA(final float valueA) { + this.valueA = valueA; + } + public void setValueB(final float valueB) { this.valueB = valueB; } } - @Test - public void testModelFloatFunc() { - TestfloatFunc elem = new TestfloatFunc(); - elem.setValueA(-55); - elem.setValueB(57); - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionFloat.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("", dataTest); - - final TestfloatFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestfloatFunc.class, ExmlTestIntrospectionFloat.NODE_NAME)); - Assertions.assertEquals(-55, root.getValueA()); - Assertions.assertEquals(57, root.getValueB()); - } - - @XmlDefaultAttibute - public class TestArrayFloatFunc { - private float[] values; - - public float[] getValues() { - return this.values; - } - - public void setValues(final float[] values) { - this.values = values; - } - - } - @Test - public void testModelArrayFloatFunc() { - TestArrayFloatFunc elem = new TestArrayFloatFunc(); - elem.setValues(new float[] {12, -13, 33, 78, -127}); - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionFloat.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("", dataTest); - - final TestArrayFloatFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayFloatFunc.class, ExmlTestIntrospectionFloat.NODE_NAME)); - Assertions.assertEquals(5, root.getValues().length); - Assertions.assertEquals(12, root.getValues()[0]); - Assertions.assertEquals(-13, root.getValues()[1]); - Assertions.assertEquals(33, root.getValues()[2]); - Assertions.assertEquals(78, root.getValues()[3]); - Assertions.assertEquals(-127, root.getValues()[4]); - } - public class TestNodeFloatNative { public float valueA; public float valueB; } - @Test - public void testModelNodeFloatNative() { - TestNodeFloatNative elem = new TestNodeFloatNative(); - elem.valueA = 11; - elem.valueB = -120; - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionFloat.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 11.0\n" - + " -120.0\n" - + "", dataTest); - - final TestNodeFloatNative root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeFloatNative.class, ExmlTestIntrospectionFloat.NODE_NAME)); - Assertions.assertEquals(11, root.valueA); - Assertions.assertEquals(-120, root.valueB); - } - - public class TestArrayNodeFloatNative { - public float[] values; - } - @Test - public void testModelArrayNodeFloatNative() { - TestArrayNodeFloatNative elem = new TestArrayNodeFloatNative(); - elem.values = new float[] {12, -13, 33, 78, -127}; - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionFloat.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 12.0\n" - + " -13.0\n" - + " 33.0\n" - + " 78.0\n" - + " -127.0\n" - + "", dataTest); - - final TestArrayNodeFloatNative root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeFloatNative.class, ExmlTestIntrospectionFloat.NODE_NAME)); - Assertions.assertEquals(5, root.values.length); - Assertions.assertEquals(12, root.values[0]); - Assertions.assertEquals(-13, root.values[1]); - Assertions.assertEquals(33, root.values[2]); - Assertions.assertEquals(78, root.values[3]); - Assertions.assertEquals(-127, root.values[4]); - } - - public class TestNodefloatFunc { - private float valueA; - private float valueB; - public float getValueA() { - return this.valueA; - } - public void setValueA(final float valueA) { - this.valueA = valueA; - } - public float getValueB() { - return this.valueB; - } - public void setValueB(final float valueB) { - this.valueB = valueB; - } + + static final String NODE_NAME = "elem"; + + @BeforeAll + public static void beforeClass() { + Log.warning("================================================================"); } @Test - public void testModelNodeFloatFunc() { - TestNodefloatFunc elem = new TestNodefloatFunc(); - elem.setValueA(54); - elem.setValueB(-68); + public void testArrayNodeFloatNativeStructured() { + final TestArrayNodeFloatNativeStructured elem = new TestArrayNodeFloatNativeStructured(); + elem.values = new float[] { 12, -13, 33, 78, -127 }; - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionFloat.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 54.0\n" - + " -68.0\n" - + "", dataTest); - - final TestNodefloatFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodefloatFunc.class, ExmlTestIntrospectionFloat.NODE_NAME)); - Assertions.assertEquals(54, root.getValueA()); - Assertions.assertEquals(-68, root.getValueB()); - } - - public class TestArrayNodeFloatFunc { - private float[] values; - - public float[] getValues() { - return this.values; - } - - public void setValues(final float[] values) { - this.values = values; - } + Assertions.assertEquals(""" + + + 12.0 + -13.0 + 33.0 + 78.0 + -127.0 + + """, dataTest); - } - @Test - public void testModelArrayNodeFloatFunc() { - TestArrayNodeFloatFunc elem = new TestArrayNodeFloatFunc(); - elem.setValues(new float[] {12, -13, 33, 78, -127}); - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionFloat.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 12.0\n" - + " -13.0\n" - + " 33.0\n" - + " 78.0\n" - + " -127.0\n" - + "", dataTest); - - final TestArrayNodeFloatFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeFloatFunc.class, ExmlTestIntrospectionFloat.NODE_NAME)); - Assertions.assertEquals(5, root.getValues().length); - Assertions.assertEquals(12, root.getValues()[0]); - Assertions.assertEquals(-13, root.getValues()[1]); - Assertions.assertEquals(33, root.getValues()[2]); - Assertions.assertEquals(78, root.getValues()[3]); - Assertions.assertEquals(-127, root.getValues()[4]); - } - - public class TestArrayNodeFloatNativeStructured { - @XmlList(value="elem") - public float[] values; - } - @Test - public void testArrayNodeFloatNativeStructured() { - TestArrayNodeFloatNativeStructured elem = new TestArrayNodeFloatNativeStructured(); - elem.values = new float[] {12, -13, 33, 78, -127}; - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionFloat.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " \n" - + " 12.0\n" - + " -13.0\n" - + " 33.0\n" - + " 78.0\n" - + " -127.0\n" - + " \n" - + "", dataTest); - final TestArrayNodeFloatNativeStructured root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeFloatNativeStructured.class, ExmlTestIntrospectionFloat.NODE_NAME)); Assertions.assertEquals(5, root.values.length); Assertions.assertEquals(12, root.values[0]); @@ -293,5 +143,174 @@ public class ExmlTestIntrospectionFloatNative { Assertions.assertEquals(78, root.values[3]); Assertions.assertEquals(-127, root.values[4]); } + + @Test + public void testModelArrayFloatFunc() { + final TestArrayFloatFunc elem = new TestArrayFloatFunc(); + elem.setValues(new float[] { 12, -13, 33, 78, -127 }); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionFloat.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals("", dataTest); + + final TestArrayFloatFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayFloatFunc.class, ExmlTestIntrospectionFloat.NODE_NAME)); + Assertions.assertEquals(5, root.getValues().length); + Assertions.assertEquals(12, root.getValues()[0]); + Assertions.assertEquals(-13, root.getValues()[1]); + Assertions.assertEquals(33, root.getValues()[2]); + Assertions.assertEquals(78, root.getValues()[3]); + Assertions.assertEquals(-127, root.getValues()[4]); + } + + @Test + public void testModelArrayFloatNative() { + final TestArrayFloatNative elem = new TestArrayFloatNative(); + elem.values = new float[] { 12, -13, 33, 78, -127 }; + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionFloat.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals("", dataTest); + + final TestArrayFloatNative root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayFloatNative.class, ExmlTestIntrospectionFloat.NODE_NAME)); + Assertions.assertEquals(5, root.values.length); + Assertions.assertEquals(12, root.values[0]); + Assertions.assertEquals(-13, root.values[1]); + Assertions.assertEquals(33, root.values[2]); + Assertions.assertEquals(78, root.values[3]); + Assertions.assertEquals(-127, root.values[4]); + } + + @Test + public void testModelArrayNodeFloatFunc() { + final TestArrayNodeFloatFunc elem = new TestArrayNodeFloatFunc(); + elem.setValues(new float[] { 12, -13, 33, 78, -127 }); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionFloat.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + 12.0 + -13.0 + 33.0 + 78.0 + -127.0 + """, dataTest); + + final TestArrayNodeFloatFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeFloatFunc.class, ExmlTestIntrospectionFloat.NODE_NAME)); + Assertions.assertEquals(5, root.getValues().length); + Assertions.assertEquals(12, root.getValues()[0]); + Assertions.assertEquals(-13, root.getValues()[1]); + Assertions.assertEquals(33, root.getValues()[2]); + Assertions.assertEquals(78, root.getValues()[3]); + Assertions.assertEquals(-127, root.getValues()[4]); + } + + @Test + public void testModelArrayNodeFloatNative() { + final TestArrayNodeFloatNative elem = new TestArrayNodeFloatNative(); + elem.values = new float[] { 12, -13, 33, 78, -127 }; + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionFloat.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + 12.0 + -13.0 + 33.0 + 78.0 + -127.0 + """, dataTest); + + final TestArrayNodeFloatNative root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeFloatNative.class, ExmlTestIntrospectionFloat.NODE_NAME)); + Assertions.assertEquals(5, root.values.length); + Assertions.assertEquals(12, root.values[0]); + Assertions.assertEquals(-13, root.values[1]); + Assertions.assertEquals(33, root.values[2]); + Assertions.assertEquals(78, root.values[3]); + Assertions.assertEquals(-127, root.values[4]); + } + + @Test + public void testModelFloatFunc() { + final TestfloatFunc elem = new TestfloatFunc(); + elem.setValueA(-55); + elem.setValueB(57); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionFloat.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals("", dataTest); + + final TestfloatFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestfloatFunc.class, ExmlTestIntrospectionFloat.NODE_NAME)); + Assertions.assertEquals(-55, root.getValueA()); + Assertions.assertEquals(57, root.getValueB()); + } + + @Test + public void testModelFloatNative() { + final TestFloatNative elem = new TestFloatNative(); + elem.valueA = 12; + elem.valueB = -13; + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionFloat.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals("", dataTest); + + final TestFloatNative root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestFloatNative.class, ExmlTestIntrospectionFloat.NODE_NAME)); + Assertions.assertEquals(12, root.valueA); + Assertions.assertEquals(-13, root.valueB); + } + + @Test + public void testModelNodeFloatFunc() { + final TestNodefloatFunc elem = new TestNodefloatFunc(); + elem.setValueA(54); + elem.setValueB(-68); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionFloat.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + 54.0 + -68.0 + """, dataTest); + + final TestNodefloatFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodefloatFunc.class, ExmlTestIntrospectionFloat.NODE_NAME)); + Assertions.assertEquals(54, root.getValueA()); + Assertions.assertEquals(-68, root.getValueB()); + } + + @Test + public void testModelNodeFloatNative() { + final TestNodeFloatNative elem = new TestNodeFloatNative(); + elem.valueA = 11; + elem.valueB = -120; + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionFloat.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + 11.0 + -120.0 + """, dataTest); + + final TestNodeFloatNative root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeFloatNative.class, ExmlTestIntrospectionFloat.NODE_NAME)); + Assertions.assertEquals(11, root.valueA); + Assertions.assertEquals(-120, root.valueB); + } } - diff --git a/test/src/test/atriasoft/exml/ExmlTestIntrospectionInteger.java b/test/src/test/atriasoft/exml/ExmlTestIntrospectionInteger.java index a2e8a25..486f5fc 100644 --- a/test/src/test/atriasoft/exml/ExmlTestIntrospectionInteger.java +++ b/test/src/test/atriasoft/exml/ExmlTestIntrospectionInteger.java @@ -7,61 +7,245 @@ package test.atriasoft.exml; import java.util.List; +import org.atriasoft.aknot.annotation.AknotList; +import org.atriasoft.aknot.annotation.AknotDefaultAttribute; import org.atriasoft.exml.Exml; -import org.atriasoft.exml.annotation.XmlDefaultAttibute; -import org.atriasoft.exml.annotation.XmlList; - import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; public class ExmlTestIntrospectionInteger { - static final String NODE_NAME = "elem"; - @BeforeAll - public static void beforeClass() { - Log.warning("================================================================"); + @AknotDefaultAttribute + public class TestArrayInteger { + public Integer[] values; } - - @XmlDefaultAttibute + + @AknotDefaultAttribute + public class TestArrayIntegerFunc { + private Integer[] values; + + public Integer[] getValues() { + return this.values; + } + + public void setValues(final Integer[] values) { + this.values = values; + } + + } + + public class TestArrayNodeInteger { + public Integer[] values; + } + + public class TestArrayNodeIntegerFunc { + private Integer[] values; + + public Integer[] getValues() { + return this.values; + } + + public void setValues(final Integer[] values) { + this.values = values; + } + + } + + public class TestArrayNodeIntegerStructured { + @AknotList(value = "elem") + public Integer[] values; + } + + @AknotDefaultAttribute public class TestInteger { public Integer valueA; public Integer valueB; public Integer valueNull; } - @Test - public void testModelInteger() { - TestInteger elem = new TestInteger(); - elem.valueA = (int)12; - elem.valueB = (int)-13; - elem.valueNull = null; + + @AknotDefaultAttribute + public class TestIntegerFunc { + private Integer valueA; + private Integer valueB; + private Integer valueNull; - StringBuilder builder = new StringBuilder(); + public Integer getValueA() { + return this.valueA; + } + + public Integer getValueB() { + return this.valueB; + } + + public Integer getValueNull() { + return this.valueNull; + } + + public void setValueA(final Integer valueA) { + this.valueA = valueA; + } + + public void setValueB(final Integer valueB) { + this.valueB = valueB; + } + + public void setValueNull(final Integer valueNull) { + this.valueNull = valueNull; + } + } + + @AknotDefaultAttribute + public class TestListInteger { + public List values; + } + + @AknotDefaultAttribute + public class TestListIntegerFunc { + private List values; + + public List getValues() { + return this.values; + } + + public void setValues(final List values) { + this.values = values; + } + } + + public class TestListNodeInteger { + public List values; + } + + // Note this is set in static to test an other part of code... + public static class TestListNodeIntegerFunc { + private List values; + + public List getValues() { + return this.values; + } + + public void setValues(final List values) { + this.values = values; + } + } + + public class TestListNodeIntegerStructured { + @AknotList(value = "elem") + public List values; + } + + public class TestNodeInteger { + public Integer valueA; + public Integer valueB; + public Integer valueNull; + } + + public class TestNodeIntegerFunc { + private Integer valueA; + private Integer valueB; + private Integer valueNull; + + public Integer getValueA() { + return this.valueA; + } + + public Integer getValueB() { + return this.valueB; + } + + public Integer getValueNull() { + return this.valueNull; + } + + public void setValueA(final Integer valueA) { + this.valueA = valueA; + } + + public void setValueB(final Integer valueB) { + this.valueB = valueB; + } + + public void setValueNull(final Integer valueNull) { + this.valueNull = valueNull; + } + } + + static final String NODE_NAME = "elem"; + + @BeforeAll + public static void beforeClass() { + Log.warning("================================================================"); + } + + @Test + public void testArrayNodeIntegerStructured() { + final TestArrayNodeIntegerStructured elem = new TestArrayNodeIntegerStructured(); + elem.values = new Integer[] { 12, -13, 33, 78, -127 }; + + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionInteger.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("", dataTest); - - final TestInteger root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestInteger.class, ExmlTestIntrospectionInteger.NODE_NAME)); - Assertions.assertEquals(12, root.valueA); - Assertions.assertEquals(-13, root.valueB); - Assertions.assertEquals(null, root.valueNull); - } - - @XmlDefaultAttibute - public class TestArrayInteger { - public Integer[] values; - } - @Test - public void testModelArrayInteger() { - TestArrayInteger elem = new TestArrayInteger(); - elem.values = new Integer[] {12, -13, 33, 78, -127}; + Assertions.assertEquals(""" + + + 12 + -13 + 33 + 78 + -127 + + """, dataTest); - StringBuilder builder = new StringBuilder(); + final TestArrayNodeIntegerStructured root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeIntegerStructured.class, ExmlTestIntrospectionInteger.NODE_NAME)); + Assertions.assertEquals(5, root.values.length); + Assertions.assertEquals(12, root.values[0]); + Assertions.assertEquals(-13, root.values[1]); + Assertions.assertEquals(33, root.values[2]); + Assertions.assertEquals(78, root.values[3]); + Assertions.assertEquals(-127, root.values[4]); + } + + @Test + public void testListNodeIntegerStructured() { + final TestListNodeIntegerStructured elem = new TestListNodeIntegerStructured(); + elem.values = List.of(12, -13, 33, 78, -127); + + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionInteger.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + + 12 + -13 + 33 + 78 + -127 + + """, dataTest); + + final TestListNodeIntegerStructured root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListNodeIntegerStructured.class, ExmlTestIntrospectionInteger.NODE_NAME)); + Assertions.assertEquals(5, root.values.size()); + Assertions.assertEquals(12, root.values.get(0)); + Assertions.assertEquals(-13, root.values.get(1)); + Assertions.assertEquals(33, root.values.get(2)); + Assertions.assertEquals(78, root.values.get(3)); + Assertions.assertEquals(-127, root.values.get(4)); + } + + @Test + public void testModelArrayInteger() { + final TestArrayInteger elem = new TestArrayInteger(); + elem.values = new Integer[] { 12, -13, 33, 78, -127 }; + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionInteger.NODE_NAME, builder)); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); Assertions.assertEquals("", dataTest); - + final TestArrayInteger root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayInteger.class, ExmlTestIntrospectionInteger.NODE_NAME)); Assertions.assertEquals(5, root.values.length); Assertions.assertEquals(12, root.values[0]); @@ -71,99 +255,17 @@ public class ExmlTestIntrospectionInteger { Assertions.assertEquals(-127, root.values[4]); } - @XmlDefaultAttibute - public class TestListInteger { - public List values; - } @Test - public void testModelListInteger() { - TestListInteger elem = new TestListInteger(); - elem.values = List.of(12, -13, 33, 78, -127); + public void testModelArrayIntegerFunc() { + final TestArrayIntegerFunc elem = new TestArrayIntegerFunc(); + elem.setValues(new Integer[] { 12, -13, 33, 78, -127 }); - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionInteger.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); Assertions.assertEquals("", dataTest); - - final TestListInteger root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListInteger.class, ExmlTestIntrospectionInteger.NODE_NAME)); - Assertions.assertEquals(5, root.values.size()); - Assertions.assertEquals(12, root.values.get(0)); - Assertions.assertEquals(-13, root.values.get(1)); - Assertions.assertEquals(33, root.values.get(2)); - Assertions.assertEquals(78, root.values.get(3)); - Assertions.assertEquals(-127, root.values.get(4)); - } - - - @XmlDefaultAttibute - public class TestIntegerFunc { - private Integer valueA; - private Integer valueB; - private Integer valueNull; - public Integer getValueA() { - return this.valueA; - } - public void setValueA(final Integer valueA) { - this.valueA = valueA; - } - public Integer getValueB() { - return this.valueB; - } - public void setValueB(final Integer valueB) { - this.valueB = valueB; - } - public Integer getValueNull() { - return this.valueNull; - } - public void setValueNull(final Integer valueNull) { - this.valueNull = valueNull; - } - } - - @Test - public void testModelIntegerFunc() { - TestIntegerFunc elem = new TestIntegerFunc(); - elem.setValueA(-55); - elem.setValueB(57); - elem.setValueNull(null); - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionInteger.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("", dataTest); - - final TestIntegerFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestIntegerFunc.class, ExmlTestIntrospectionInteger.NODE_NAME)); - Assertions.assertEquals(-55, root.getValueA()); - Assertions.assertEquals(57, root.getValueB()); - Assertions.assertEquals(null, root.getValueNull()); - } - - @XmlDefaultAttibute - public class TestArrayIntegerFunc { - private Integer[] values; - - public Integer[] getValues() { - return this.values; - } - - public void setValues(final Integer[] values) { - this.values = values; - } - - } - @Test - public void testModelArrayIntegerFunc() { - TestArrayIntegerFunc elem = new TestArrayIntegerFunc(); - elem.setValues(new Integer[] {12, -13, 33, 78, -127}); - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionInteger.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("", dataTest); - final TestArrayIntegerFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayIntegerFunc.class, ExmlTestIntrospectionInteger.NODE_NAME)); Assertions.assertEquals(5, root.getValues().length); Assertions.assertEquals(12, root.getValues()[0]); @@ -173,85 +275,24 @@ public class ExmlTestIntrospectionInteger { Assertions.assertEquals(-127, root.getValues()[4]); } - @XmlDefaultAttibute - public class TestListIntegerFunc { - private List values; - - public List getValues() { - return this.values; - } - - public void setValues(final List values) { - this.values = values; - } - } @Test - public void testModelListIntegerFunc() { - TestListIntegerFunc elem = new TestListIntegerFunc(); - elem.setValues(List.of(12, -13, 33, 78, -127)); + public void testModelArrayNodeInteger() { + final TestArrayNodeInteger elem = new TestArrayNodeInteger(); + elem.values = new Integer[] { 12, -13, 33, 78, -127 }; - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionInteger.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("", dataTest); - - final TestListIntegerFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListIntegerFunc.class, ExmlTestIntrospectionInteger.NODE_NAME)); - Assertions.assertEquals(5, root.getValues().size()); - Assertions.assertEquals(12, root.getValues().get(0)); - Assertions.assertEquals(-13, root.getValues().get(1)); - Assertions.assertEquals(33, root.getValues().get(2)); - Assertions.assertEquals(78, root.getValues().get(3)); - Assertions.assertEquals(-127, root.getValues().get(4)); - } - - public class TestNodeInteger { - public Integer valueA; - public Integer valueB; - public Integer valueNull; - } - @Test - public void testModelNodeInteger() { - TestNodeInteger elem = new TestNodeInteger(); - elem.valueA = (int)11; - elem.valueB = (int)-120; - elem.valueNull = null; + Assertions.assertEquals(""" + + 12 + -13 + 33 + 78 + -127 + """, dataTest); - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionInteger.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 11\n" - + " -120\n" - + "", dataTest); - - final TestNodeInteger root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeInteger.class, ExmlTestIntrospectionInteger.NODE_NAME)); - Assertions.assertEquals(11, root.valueA); - Assertions.assertEquals(-120, root.valueB); - Assertions.assertEquals(null, root.valueNull); - } - - public class TestArrayNodeInteger { - public Integer[] values; - } - @Test - public void testModelArrayNodeInteger() { - TestArrayNodeInteger elem = new TestArrayNodeInteger(); - elem.values = new Integer[] {12, -13, 33, 78, -127}; - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionInteger.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 12\n" - + " -13\n" - + " 33\n" - + " 78\n" - + " -127\n" - + "", dataTest); - final TestArrayNodeInteger root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeInteger.class, ExmlTestIntrospectionInteger.NODE_NAME)); Assertions.assertEquals(5, root.values.length); Assertions.assertEquals(12, root.values[0]); @@ -261,111 +302,24 @@ public class ExmlTestIntrospectionInteger { Assertions.assertEquals(-127, root.values[4]); } - public class TestListNodeInteger { - public List values; - } @Test - public void testModelListNodeInteger() { - TestListNodeInteger elem = new TestListNodeInteger(); - elem.values = List.of(12, -13, 33, 78, -127); + public void testModelArrayNodeIntegerFunc() { + final TestArrayNodeIntegerFunc elem = new TestArrayNodeIntegerFunc(); + elem.setValues(new Integer[] { 12, -13, 33, 78, -127 }); - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionInteger.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 12\n" - + " -13\n" - + " 33\n" - + " 78\n" - + " -127\n" - + "", dataTest); - - final TestListNodeInteger root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListNodeInteger.class, ExmlTestIntrospectionInteger.NODE_NAME)); - Assertions.assertEquals(5, root.values.size()); - Assertions.assertEquals(12, root.values.get(0)); - Assertions.assertEquals(-13, root.values.get(1)); - Assertions.assertEquals(33, root.values.get(2)); - Assertions.assertEquals(78, root.values.get(3)); - Assertions.assertEquals(-127, root.values.get(4)); - } - - - public class TestNodeIntegerFunc { - private Integer valueA; - private Integer valueB; - private Integer valueNull; - public Integer getValueA() { - return this.valueA; - } - public void setValueA(final Integer valueA) { - this.valueA = valueA; - } - public Integer getValueB() { - return this.valueB; - } - public void setValueB(final Integer valueB) { - this.valueB = valueB; - } - public Integer getValueNull() { - return this.valueNull; - } - public void setValueNull(final Integer valueNull) { - this.valueNull = valueNull; - } - } - - @Test - public void testModelNodeIntegerFunc() { - TestNodeIntegerFunc elem = new TestNodeIntegerFunc(); - elem.setValueA(54); - elem.setValueB(-68); - elem.setValueNull(null); + Assertions.assertEquals(""" + + 12 + -13 + 33 + 78 + -127 + """, dataTest); - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionInteger.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 54\n" - + " -68\n" - + "", dataTest); - - final TestNodeIntegerFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeIntegerFunc.class, ExmlTestIntrospectionInteger.NODE_NAME)); - Assertions.assertEquals(54, root.getValueA()); - Assertions.assertEquals(-68, root.getValueB()); - Assertions.assertEquals(null, root.getValueNull()); - } - - public class TestArrayNodeIntegerFunc { - private Integer[] values; - - public Integer[] getValues() { - return this.values; - } - - public void setValues(final Integer[] values) { - this.values = values; - } - - } - @Test - public void testModelArrayNodeIntegerFunc() { - TestArrayNodeIntegerFunc elem = new TestArrayNodeIntegerFunc(); - elem.setValues(new Integer[] {12, -13, 33, 78, -127}); - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionInteger.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 12\n" - + " -13\n" - + " 33\n" - + " 78\n" - + " -127\n" - + "", dataTest); - final TestArrayNodeIntegerFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeIntegerFunc.class, ExmlTestIntrospectionInteger.NODE_NAME)); Assertions.assertEquals(5, root.getValues().length); Assertions.assertEquals(12, root.getValues()[0]); @@ -375,35 +329,129 @@ public class ExmlTestIntrospectionInteger { Assertions.assertEquals(-127, root.getValues()[4]); } - // Note this is set in static to test an other part of code... - public static class TestListNodeIntegerFunc { - private List values; - - public List getValues() { - return this.values; - } - - public void setValues(final List values) { - this.values = values; - } - } @Test - public void testModelListNodeIntegerFunc() { - TestListNodeIntegerFunc elem = new TestListNodeIntegerFunc(); + public void testModelInteger() { + final TestInteger elem = new TestInteger(); + elem.valueA = (int) 12; + elem.valueB = (int) -13; + elem.valueNull = null; + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionInteger.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals("", dataTest); + + final TestInteger root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestInteger.class, ExmlTestIntrospectionInteger.NODE_NAME)); + Assertions.assertEquals(12, root.valueA); + Assertions.assertEquals(-13, root.valueB); + Assertions.assertEquals(null, root.valueNull); + } + + @Test + public void testModelIntegerFunc() { + final TestIntegerFunc elem = new TestIntegerFunc(); + elem.setValueA(-55); + elem.setValueB(57); + elem.setValueNull(null); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionInteger.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals("", dataTest); + + final TestIntegerFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestIntegerFunc.class, ExmlTestIntrospectionInteger.NODE_NAME)); + Assertions.assertEquals(-55, root.getValueA()); + Assertions.assertEquals(57, root.getValueB()); + Assertions.assertEquals(null, root.getValueNull()); + } + + @Test + public void testModelListInteger() { + final TestListInteger elem = new TestListInteger(); + elem.values = List.of(12, -13, 33, 78, -127); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionInteger.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals("", dataTest); + + final TestListInteger root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListInteger.class, ExmlTestIntrospectionInteger.NODE_NAME)); + Assertions.assertEquals(5, root.values.size()); + Assertions.assertEquals(12, root.values.get(0)); + Assertions.assertEquals(-13, root.values.get(1)); + Assertions.assertEquals(33, root.values.get(2)); + Assertions.assertEquals(78, root.values.get(3)); + Assertions.assertEquals(-127, root.values.get(4)); + } + + @Test + public void testModelListIntegerFunc() { + final TestListIntegerFunc elem = new TestListIntegerFunc(); elem.setValues(List.of(12, -13, 33, 78, -127)); - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionInteger.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 12\n" - + " -13\n" - + " 33\n" - + " 78\n" - + " -127\n" - + "", dataTest); - + Assertions.assertEquals("", dataTest); + + final TestListIntegerFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListIntegerFunc.class, ExmlTestIntrospectionInteger.NODE_NAME)); + Assertions.assertEquals(5, root.getValues().size()); + Assertions.assertEquals(12, root.getValues().get(0)); + Assertions.assertEquals(-13, root.getValues().get(1)); + Assertions.assertEquals(33, root.getValues().get(2)); + Assertions.assertEquals(78, root.getValues().get(3)); + Assertions.assertEquals(-127, root.getValues().get(4)); + } + + @Test + public void testModelListNodeInteger() { + final TestListNodeInteger elem = new TestListNodeInteger(); + elem.values = List.of(12, -13, 33, 78, -127); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionInteger.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + 12 + -13 + 33 + 78 + -127 + """, dataTest); + + final TestListNodeInteger root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListNodeInteger.class, ExmlTestIntrospectionInteger.NODE_NAME)); + Assertions.assertEquals(5, root.values.size()); + Assertions.assertEquals(12, root.values.get(0)); + Assertions.assertEquals(-13, root.values.get(1)); + Assertions.assertEquals(33, root.values.get(2)); + Assertions.assertEquals(78, root.values.get(3)); + Assertions.assertEquals(-127, root.values.get(4)); + } + + @Test + public void testModelListNodeIntegerFunc() { + final TestListNodeIntegerFunc elem = new TestListNodeIntegerFunc(); + elem.setValues(List.of(12, -13, 33, 78, -127)); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionInteger.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + 12 + -13 + 33 + 78 + -127 + """, dataTest); + final TestListNodeIntegerFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListNodeIntegerFunc.class, ExmlTestIntrospectionInteger.NODE_NAME)); Assertions.assertEquals(5, root.getValues().size()); Assertions.assertEquals(12, root.getValues().get(0)); @@ -413,71 +461,49 @@ public class ExmlTestIntrospectionInteger { Assertions.assertEquals(-127, root.getValues().get(4)); } - - - - - public class TestListNodeIntegerStructured { - @XmlList(value="elem") - public List values; - } @Test - public void testListNodeIntegerStructured() { - TestListNodeIntegerStructured elem = new TestListNodeIntegerStructured(); - elem.values = List.of(12, -13, 33, 78, -127); + public void testModelNodeInteger() { + final TestNodeInteger elem = new TestNodeInteger(); + elem.valueA = (int) 11; + elem.valueB = (int) -120; + elem.valueNull = null; - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionInteger.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " \n" - + " 12\n" - + " -13\n" - + " 33\n" - + " 78\n" - + " -127\n" - + " \n" - + "", dataTest); - - final TestListNodeIntegerStructured root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListNodeIntegerStructured.class, ExmlTestIntrospectionInteger.NODE_NAME)); - Assertions.assertEquals(5, root.values.size()); - Assertions.assertEquals(12, root.values.get(0)); - Assertions.assertEquals(-13, root.values.get(1)); - Assertions.assertEquals(33, root.values.get(2)); - Assertions.assertEquals(78, root.values.get(3)); - Assertions.assertEquals(-127, root.values.get(4)); - } - public class TestArrayNodeIntegerStructured { - @XmlList(value="elem") - public Integer[] values; + Assertions.assertEquals(""" + + 11 + -120 + """, dataTest); + + final TestNodeInteger root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeInteger.class, ExmlTestIntrospectionInteger.NODE_NAME)); + Assertions.assertEquals(11, root.valueA); + Assertions.assertEquals(-120, root.valueB); + Assertions.assertEquals(null, root.valueNull); } + @Test - public void testArrayNodeIntegerStructured() { - TestArrayNodeIntegerStructured elem = new TestArrayNodeIntegerStructured(); - elem.values = new Integer[] {12, -13, 33, 78, -127}; + public void testModelNodeIntegerFunc() { + final TestNodeIntegerFunc elem = new TestNodeIntegerFunc(); + elem.setValueA(54); + elem.setValueB(-68); + elem.setValueNull(null); - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionInteger.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " \n" - + " 12\n" - + " -13\n" - + " 33\n" - + " 78\n" - + " -127\n" - + " \n" - + "", dataTest); - - final TestArrayNodeIntegerStructured root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeIntegerStructured.class, ExmlTestIntrospectionInteger.NODE_NAME)); - Assertions.assertEquals(5, root.values.length); - Assertions.assertEquals(12, root.values[0]); - Assertions.assertEquals(-13, root.values[1]); - Assertions.assertEquals(33, root.values[2]); - Assertions.assertEquals(78, root.values[3]); - Assertions.assertEquals(-127, root.values[4]); + Assertions.assertEquals(""" + + 54 + -68 + """, dataTest); + + final TestNodeIntegerFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeIntegerFunc.class, ExmlTestIntrospectionInteger.NODE_NAME)); + Assertions.assertEquals(54, root.getValueA()); + Assertions.assertEquals(-68, root.getValueB()); + Assertions.assertEquals(null, root.getValueNull()); } } - diff --git a/test/src/test/atriasoft/exml/ExmlTestIntrospectionIntegerNative.java b/test/src/test/atriasoft/exml/ExmlTestIntrospectionIntegerNative.java index aac5fb7..3b2d7a7 100644 --- a/test/src/test/atriasoft/exml/ExmlTestIntrospectionIntegerNative.java +++ b/test/src/test/atriasoft/exml/ExmlTestIntrospectionIntegerNative.java @@ -5,126 +5,157 @@ */ package test.atriasoft.exml; +import org.atriasoft.aknot.annotation.AknotList; +import org.atriasoft.aknot.annotation.AknotDefaultAttribute; import org.atriasoft.exml.Exml; -import org.atriasoft.exml.annotation.XmlDefaultAttibute; -import org.atriasoft.exml.annotation.XmlList; - import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; public class ExmlTestIntrospectionIntegerNative { - static final String NODE_NAME = "elem"; - @BeforeAll - public static void beforeClass() { - Log.warning("================================================================"); - } - - @XmlDefaultAttibute - public class TestIntegerNative { - public int valueA; - public int valueB; - } - @Test - public void testModelIntegerNative() { - TestIntegerNative elem = new TestIntegerNative(); - elem.valueA = 12; - elem.valueB = -13; - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionInteger.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("", dataTest); - - final TestIntegerNative root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestIntegerNative.class, ExmlTestIntrospectionInteger.NODE_NAME)); - Assertions.assertEquals(12, root.valueA); - Assertions.assertEquals(-13, root.valueB); - } - - @XmlDefaultAttibute - public class TestArrayIntegerNative { - public int[] values; - } - @Test - public void testModelArrayIntegerNative() { - TestArrayIntegerNative elem = new TestArrayIntegerNative(); - elem.values = new int[] {12, -13, 33, 78, -127}; - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionInteger.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("", dataTest); - - final TestArrayIntegerNative root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayIntegerNative.class, ExmlTestIntrospectionInteger.NODE_NAME)); - Assertions.assertEquals(5, root.values.length); - Assertions.assertEquals(12, root.values[0]); - Assertions.assertEquals(-13, root.values[1]); - Assertions.assertEquals(33, root.values[2]); - Assertions.assertEquals(78, root.values[3]); - Assertions.assertEquals(-127, root.values[4]); - } - - @XmlDefaultAttibute - public class TestintFunc { - private int valueA; - private int valueB; - public int getValueA() { - return this.valueA; - } - public void setValueA(final int valueA) { - this.valueA = valueA; - } - public int getValueB() { - return this.valueB; - } - public void setValueB(final int valueB) { - this.valueB = valueB; - } - } - - @Test - public void testModelIntegerFunc() { - TestintFunc elem = new TestintFunc(); - elem.setValueA(-55); - elem.setValueB(57); - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionInteger.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("", dataTest); - - final TestintFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestintFunc.class, ExmlTestIntrospectionInteger.NODE_NAME)); - Assertions.assertEquals(-55, root.getValueA()); - Assertions.assertEquals(57, root.getValueB()); - } - - @XmlDefaultAttibute + @AknotDefaultAttribute public class TestArrayIntegerFunc { private int[] values; - + public int[] getValues() { return this.values; } - + public void setValues(final int[] values) { this.values = values; } } - @Test - public void testModelArrayIntegerFunc() { - TestArrayIntegerFunc elem = new TestArrayIntegerFunc(); - elem.setValues(new int[] {12, -13, 33, 78, -127}); + + @AknotDefaultAttribute + public class TestArrayIntegerNative { + public int[] values; + } + + public class TestArrayNodeIntegerFunc { + private int[] values; - StringBuilder builder = new StringBuilder(); + public int[] getValues() { + return this.values; + } + + public void setValues(final int[] values) { + this.values = values; + } + + } + + public class TestArrayNodeIntegerNative { + public int[] values; + } + + public class TestArrayNodeIntegerNativeStructured { + @AknotList(value = "elem") + public byte[] values; + } + + @AknotDefaultAttribute + public class TestIntegerNative { + public int valueA; + public int valueB; + } + + @AknotDefaultAttribute + public class TestintFunc { + private int valueA; + private int valueB; + + public int getValueA() { + return this.valueA; + } + + public int getValueB() { + return this.valueB; + } + + public void setValueA(final int valueA) { + this.valueA = valueA; + } + + public void setValueB(final int valueB) { + this.valueB = valueB; + } + } + + public class TestNodeIntegerNative { + public int valueA; + public int valueB; + } + + public class TestNodeintFunc { + private int valueA; + private int valueB; + + public int getValueA() { + return this.valueA; + } + + public int getValueB() { + return this.valueB; + } + + public void setValueA(final int valueA) { + this.valueA = valueA; + } + + public void setValueB(final int valueB) { + this.valueB = valueB; + } + } + + static final String NODE_NAME = "elem"; + + @BeforeAll + public static void beforeClass() { + Log.warning("================================================================"); + } + + @Test + public void testArrayNodeIntegerNativeStructured() { + final TestArrayNodeIntegerNativeStructured elem = new TestArrayNodeIntegerNativeStructured(); + elem.values = new byte[] { 12, -13, 33, 78, -127 }; + + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionInteger.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + + 12 + -13 + 33 + 78 + -127 + + """, dataTest); + + final TestArrayNodeIntegerNativeStructured root = Assertions + .assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeIntegerNativeStructured.class, ExmlTestIntrospectionInteger.NODE_NAME)); + Assertions.assertEquals(5, root.values.length); + Assertions.assertEquals((byte) 12, root.values[0]); + Assertions.assertEquals((byte) -13, root.values[1]); + Assertions.assertEquals((byte) 33, root.values[2]); + Assertions.assertEquals((byte) 78, root.values[3]); + Assertions.assertEquals((byte) -127, root.values[4]); + } + + @Test + public void testModelArrayIntegerFunc() { + final TestArrayIntegerFunc elem = new TestArrayIntegerFunc(); + elem.setValues(new int[] { 12, -13, 33, 78, -127 }); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionInteger.NODE_NAME, builder)); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); Assertions.assertEquals("", dataTest); - + final TestArrayIntegerFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayIntegerFunc.class, ExmlTestIntrospectionInteger.NODE_NAME)); Assertions.assertEquals(5, root.getValues().length); Assertions.assertEquals(12, root.getValues()[0]); @@ -133,52 +164,19 @@ public class ExmlTestIntrospectionIntegerNative { Assertions.assertEquals(78, root.getValues()[3]); Assertions.assertEquals(-127, root.getValues()[4]); } - - public class TestNodeIntegerNative { - public int valueA; - public int valueB; - } + @Test - public void testModelNodeIntegerNative() { - TestNodeIntegerNative elem = new TestNodeIntegerNative(); - elem.valueA = 11; - elem.valueB = -120; + public void testModelArrayIntegerNative() { + final TestArrayIntegerNative elem = new TestArrayIntegerNative(); + elem.values = new int[] { 12, -13, 33, 78, -127 }; - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionInteger.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 11\n" - + " -120\n" - + "", dataTest); - - final TestNodeIntegerNative root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeIntegerNative.class, ExmlTestIntrospectionInteger.NODE_NAME)); - Assertions.assertEquals(11, root.valueA); - Assertions.assertEquals(-120, root.valueB); - } - - public class TestArrayNodeIntegerNative { - public int[] values; - } - @Test - public void testModelArrayNodeintNative() { - TestArrayNodeIntegerNative elem = new TestArrayNodeIntegerNative(); - elem.values = new int[] {12, -13, 33, 78, -127}; + Assertions.assertEquals("", dataTest); - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionInteger.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 12\n" - + " -13\n" - + " 33\n" - + " 78\n" - + " -127\n" - + "", dataTest); - - final TestArrayNodeIntegerNative root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeIntegerNative.class, ExmlTestIntrospectionInteger.NODE_NAME)); + final TestArrayIntegerNative root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayIntegerNative.class, ExmlTestIntrospectionInteger.NODE_NAME)); Assertions.assertEquals(5, root.values.length); Assertions.assertEquals(12, root.values[0]); Assertions.assertEquals(-13, root.values[1]); @@ -186,73 +184,25 @@ public class ExmlTestIntrospectionIntegerNative { Assertions.assertEquals(78, root.values[3]); Assertions.assertEquals(-127, root.values[4]); } - - public class TestNodeintFunc { - private int valueA; - private int valueB; - public int getValueA() { - return this.valueA; - } - public void setValueA(final int valueA) { - this.valueA = valueA; - } - public int getValueB() { - return this.valueB; - } - public void setValueB(final int valueB) { - this.valueB = valueB; - } - } @Test - public void testModelNodeIntegerFunc() { - TestNodeintFunc elem = new TestNodeintFunc(); - elem.setValueA(54); - elem.setValueB(-68); + public void testModelArrayNodeIntegerFunc() { + final TestArrayNodeIntegerFunc elem = new TestArrayNodeIntegerFunc(); + elem.setValues(new int[] { 12, -13, 33, 78, -127 }); - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionInteger.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 54\n" - + " -68\n" - + "", dataTest); - - final TestNodeintFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeintFunc.class, ExmlTestIntrospectionInteger.NODE_NAME)); - Assertions.assertEquals(54, root.getValueA()); - Assertions.assertEquals(-68, root.getValueB()); - } - - public class TestArrayNodeIntegerFunc { - private int[] values; - - public int[] getValues() { - return this.values; - } - - public void setValues(final int[] values) { - this.values = values; - } + Assertions.assertEquals(""" + + 12 + -13 + 33 + 78 + -127 + """, dataTest); - } - @Test - public void testModelArrayNodeIntegerFunc() { - TestArrayNodeIntegerFunc elem = new TestArrayNodeIntegerFunc(); - elem.setValues(new int[] {12, -13, 33, 78, -127}); - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionInteger.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 12\n" - + " -13\n" - + " 33\n" - + " 78\n" - + " -127\n" - + "", dataTest); - final TestArrayNodeIntegerFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeIntegerFunc.class, ExmlTestIntrospectionInteger.NODE_NAME)); Assertions.assertEquals(5, root.getValues().length); Assertions.assertEquals(12, root.getValues()[0]); @@ -261,37 +211,107 @@ public class ExmlTestIntrospectionIntegerNative { Assertions.assertEquals(78, root.getValues()[3]); Assertions.assertEquals(-127, root.getValues()[4]); } - - public class TestArrayNodeIntegerNativeStructured { - @XmlList(value="elem") - public byte[] values; - } + @Test - public void testArrayNodeIntegerNativeStructured() { - TestArrayNodeIntegerNativeStructured elem = new TestArrayNodeIntegerNativeStructured(); - elem.values = new byte[] {12, -13, 33, 78, -127}; + public void testModelArrayNodeintNative() { + final TestArrayNodeIntegerNative elem = new TestArrayNodeIntegerNative(); + elem.values = new int[] { 12, -13, 33, 78, -127 }; - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionInteger.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " \n" - + " 12\n" - + " -13\n" - + " 33\n" - + " 78\n" - + " -127\n" - + " \n" - + "", dataTest); - - final TestArrayNodeIntegerNativeStructured root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeIntegerNativeStructured.class, ExmlTestIntrospectionInteger.NODE_NAME)); + Assertions.assertEquals(""" + + 12 + -13 + 33 + 78 + -127 + """, dataTest); + + final TestArrayNodeIntegerNative root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeIntegerNative.class, ExmlTestIntrospectionInteger.NODE_NAME)); Assertions.assertEquals(5, root.values.length); - Assertions.assertEquals((byte)12, root.values[0]); - Assertions.assertEquals((byte)-13, root.values[1]); - Assertions.assertEquals((byte)33, root.values[2]); - Assertions.assertEquals((byte)78, root.values[3]); - Assertions.assertEquals((byte)-127, root.values[4]); + Assertions.assertEquals(12, root.values[0]); + Assertions.assertEquals(-13, root.values[1]); + Assertions.assertEquals(33, root.values[2]); + Assertions.assertEquals(78, root.values[3]); + Assertions.assertEquals(-127, root.values[4]); + } + + @Test + public void testModelIntegerFunc() { + final TestintFunc elem = new TestintFunc(); + elem.setValueA(-55); + elem.setValueB(57); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionInteger.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals("", dataTest); + + final TestintFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestintFunc.class, ExmlTestIntrospectionInteger.NODE_NAME)); + Assertions.assertEquals(-55, root.getValueA()); + Assertions.assertEquals(57, root.getValueB()); + } + + @Test + public void testModelIntegerNative() { + final TestIntegerNative elem = new TestIntegerNative(); + elem.valueA = 12; + elem.valueB = -13; + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionInteger.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals("", dataTest); + + final TestIntegerNative root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestIntegerNative.class, ExmlTestIntrospectionInteger.NODE_NAME)); + Assertions.assertEquals(12, root.valueA); + Assertions.assertEquals(-13, root.valueB); + } + + @Test + public void testModelNodeIntegerFunc() { + final TestNodeintFunc elem = new TestNodeintFunc(); + elem.setValueA(54); + elem.setValueB(-68); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionInteger.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + 54 + -68 + """, dataTest); + + final TestNodeintFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeintFunc.class, ExmlTestIntrospectionInteger.NODE_NAME)); + Assertions.assertEquals(54, root.getValueA()); + Assertions.assertEquals(-68, root.getValueB()); + } + + @Test + public void testModelNodeIntegerNative() { + final TestNodeIntegerNative elem = new TestNodeIntegerNative(); + elem.valueA = 11; + elem.valueB = -120; + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionInteger.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + 11 + -120 + """, dataTest); + + final TestNodeIntegerNative root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeIntegerNative.class, ExmlTestIntrospectionInteger.NODE_NAME)); + Assertions.assertEquals(11, root.valueA); + Assertions.assertEquals(-120, root.valueB); } } - diff --git a/test/src/test/atriasoft/exml/ExmlTestIntrospectionObject.java b/test/src/test/atriasoft/exml/ExmlTestIntrospectionObject.java index b01a181..502e07f 100644 --- a/test/src/test/atriasoft/exml/ExmlTestIntrospectionObject.java +++ b/test/src/test/atriasoft/exml/ExmlTestIntrospectionObject.java @@ -7,68 +7,119 @@ package test.atriasoft.exml; import java.util.List; +import org.atriasoft.aknot.annotation.AknotList; +import org.atriasoft.aknot.annotation.AknotAttribute; import org.atriasoft.exml.Exml; -import org.atriasoft.exml.annotation.XmlAttribute; -import org.atriasoft.exml.annotation.XmlList; - import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; public class ExmlTestIntrospectionObject { - static final String NODE_NAME = "elem"; - @BeforeAll - public static void beforeClass() { - Log.warning("================================================================"); - } - public class SimpleObject { - @XmlAttribute + @AknotAttribute public int value1; public float value2; } + public class TestArrayNodeObject { + public SimpleObject[] values; + } + + public class TestArrayNodeObjectFunc { + private SimpleObject[] values; + + public SimpleObject[] getValues() { + return this.values; + } + + public void setValues(final SimpleObject[] values) { + this.values = values; + } + + } + + public class TestArrayNodeStructuredObjectFunc { + private SimpleObject[] values; + + @AknotList(value = "elem") + public SimpleObject[] getValues() { + return this.values; + } + + public void setValues(final SimpleObject[] values) { + this.values = values; + } + + } + + public class TestListNodeObject { + public List values; + } + + // Note this is set in static to test an other part of code... + public static class TestListNodeObjectFunc { + private List values; + + public List getValues() { + return this.values; + } + + public void setValues(final List values) { + this.values = values; + } + } + + // Note this is set in static to test an other part of code... + public static class TestListNodeStructuredObjectFunc { + private List values; + + @AknotList(value = "elem") + public List getValues() { + return this.values; + } + + public void setValues(final List values) { + this.values = values; + } + } + public class TestNodeObject { public SimpleObject valueA; public SimpleObject valueB; } - @Test - public void testModelNodeObject() { - TestNodeObject elem = new TestNodeObject(); - elem.valueA = new SimpleObject(); - elem.valueA.value1 = 55; - elem.valueA.value2 = 12568.0f; - elem.valueB = new SimpleObject(); - elem.valueB.value1 = -55; - elem.valueB.value2 = -12568.0f; + + public class TestNodeObjectFunc { + private SimpleObject valueA; + private SimpleObject valueB; - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionObject.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " \n" - + " 12568.0\n" - + " \n" - + " \n" - + " -12568.0\n" - + " \n" - + "", dataTest); - - final TestNodeObject root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeObject.class, ExmlTestIntrospectionObject.NODE_NAME)); - Assertions.assertEquals(55, root.valueA.value1); - Assertions.assertEquals(12568.0f, root.valueA.value2); - Assertions.assertEquals(-55, root.valueB.value1); - Assertions.assertEquals(-12568.0f, root.valueB.value2); + public SimpleObject getValueA() { + return this.valueA; + } + + public SimpleObject getValueB() { + return this.valueB; + } + + public void setValueA(final SimpleObject valueA) { + this.valueA = valueA; + } + + public void setValueB(final SimpleObject valueB) { + this.valueB = valueB; + } } - - public class TestArrayNodeObject { - public SimpleObject[] values; + + static final String NODE_NAME = "elem"; + + @BeforeAll + public static void beforeClass() { + Log.warning("================================================================"); } + @Test - public void testModelArrayNodeObject() { - TestArrayNodeObject elem = new TestArrayNodeObject(); - elem.values = new SimpleObject[] {new SimpleObject(), new SimpleObject(), new SimpleObject()}; + public void testModelArrayNodeObject() { + final TestArrayNodeObject elem = new TestArrayNodeObject(); + elem.values = new SimpleObject[] { new SimpleObject(), new SimpleObject(), new SimpleObject() }; elem.values[0].value1 = 55; elem.values[0].value2 = 12568.0f; elem.values[1].value1 = 77; @@ -76,22 +127,23 @@ public class ExmlTestIntrospectionObject { elem.values[2].value1 = 152654; elem.values[2].value2 = -75.0f; - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionObject.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " \n" - + " 12568.0\n" - + " \n" - + " \n" - + " 15.0\n" - + " \n" - + " \n" - + " -75.0\n" - + " \n" - + "", dataTest); - + Assertions.assertEquals(""" + + + 12568.0 + + + 15.0 + + + -75.0 + + """, dataTest); + final TestArrayNodeObject root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeObject.class, ExmlTestIntrospectionObject.NODE_NAME)); Assertions.assertEquals(3, root.values.length); Assertions.assertEquals(55, root.values[0].value1); @@ -102,110 +154,10 @@ public class ExmlTestIntrospectionObject { Assertions.assertEquals(-75.0f, root.values[2].value2); } - public class TestListNodeObject { - public List values; - } @Test - public void testModelListNodeObject() { - TestListNodeObject elem = new TestListNodeObject(); - elem.values = List.of(new SimpleObject(), new SimpleObject(), new SimpleObject()); - elem.values.get(0).value1 = 55; - elem.values.get(0).value2 = 12568.0f; - elem.values.get(1).value1 = 77; - elem.values.get(1).value2 = 15.0f; - elem.values.get(2).value1 = 152654; - elem.values.get(2).value2 = -75.0f; - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionObject.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " \n" - + " 12568.0\n" - + " \n" - + " \n" - + " 15.0\n" - + " \n" - + " \n" - + " -75.0\n" - + " \n" - + "", dataTest); - - final TestListNodeObject root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListNodeObject.class, ExmlTestIntrospectionObject.NODE_NAME)); - Assertions.assertEquals(3, root.values.size()); - Assertions.assertEquals(55, root.values.get(0).value1); - Assertions.assertEquals(12568.0f, root.values.get(0).value2); - Assertions.assertEquals(77, root.values.get(1).value1); - Assertions.assertEquals(15.0f, root.values.get(1).value2); - Assertions.assertEquals(152654, root.values.get(2).value1); - Assertions.assertEquals(-75.0f, root.values.get(2).value2); - } - - - public class TestNodeObjectFunc { - private SimpleObject valueA; - private SimpleObject valueB; - public SimpleObject getValueA() { - return this.valueA; - } - public void setValueA(final SimpleObject valueA) { - this.valueA = valueA; - } - public SimpleObject getValueB() { - return this.valueB; - } - public void setValueB(final SimpleObject valueB) { - this.valueB = valueB; - } - } - - @Test - public void testModelNodeObjectFunc() { - TestNodeObjectFunc elem = new TestNodeObjectFunc(); - elem.setValueA(new SimpleObject()); - elem.getValueA().value1 = 4564; - elem.getValueA().value2 = 152.0f; - elem.setValueB(new SimpleObject()); - elem.getValueB().value1 = 454564; - elem.getValueB().value2 = 85422.0f; - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionObject.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " \n" - + " 152.0\n" - + " \n" - + " \n" - + " 85422.0\n" - + " \n" - + "", dataTest); - - final TestNodeObjectFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeObjectFunc.class, ExmlTestIntrospectionObject.NODE_NAME)); - Assertions.assertEquals(4564, root.getValueA().value1); - Assertions.assertEquals(152.0f, root.getValueA().value2); - Assertions.assertEquals(454564, root.getValueB().value1); - Assertions.assertEquals(85422.0f, root.getValueB().value2); - } - - public class TestArrayNodeObjectFunc { - private SimpleObject[] values; - - public SimpleObject[] getValues() { - return this.values; - } - - public void setValues(final SimpleObject[] values) { - this.values = values; - } - - } - @Test - public void testModelArrayNodeObjectFunc() { - TestArrayNodeObjectFunc elem = new TestArrayNodeObjectFunc(); - elem.setValues(new SimpleObject[] {new SimpleObject(), new SimpleObject(), new SimpleObject()}); + public void testModelArrayNodeObjectFunc() { + final TestArrayNodeObjectFunc elem = new TestArrayNodeObjectFunc(); + elem.setValues(new SimpleObject[] { new SimpleObject(), new SimpleObject(), new SimpleObject() }); elem.getValues()[0].value1 = 55; elem.getValues()[0].value2 = 12568.0f; elem.getValues()[1].value1 = 77; @@ -213,22 +165,23 @@ public class ExmlTestIntrospectionObject { elem.getValues()[2].value1 = 152654; elem.getValues()[2].value2 = -75.0f; - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionObject.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " \n" - + " 12568.0\n" - + " \n" - + " \n" - + " 15.0\n" - + " \n" - + " \n" - + " -75.0\n" - + " \n" - + "", dataTest); - + Assertions.assertEquals(""" + + + 12568.0 + + + 15.0 + + + -75.0 + + """, dataTest); + final TestArrayNodeObjectFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeObjectFunc.class, ExmlTestIntrospectionObject.NODE_NAME)); Assertions.assertEquals(3, root.getValues().length); Assertions.assertEquals(55, root.getValues()[0].value1); @@ -239,76 +192,10 @@ public class ExmlTestIntrospectionObject { Assertions.assertEquals(-75.0f, root.getValues()[2].value2); } - // Note this is set in static to test an other part of code... - public static class TestListNodeObjectFunc { - private List values; - - public List getValues() { - return this.values; - } - - public void setValues(final List values) { - this.values = values; - } - } @Test - public void testModelListNodeObjectFunc() { - TestListNodeObjectFunc elem = new TestListNodeObjectFunc(); - elem.values = List.of(new SimpleObject(), new SimpleObject(), new SimpleObject()); - elem.getValues().get(0).value1 = 55; - elem.getValues().get(0).value2 = 12568.0f; - elem.getValues().get(1).value1 = 77; - elem.getValues().get(1).value2 = 15.0f; - elem.getValues().get(2).value1 = 152654; - elem.getValues().get(2).value2 = -75.0f; - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionObject.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " \n" - + " 12568.0\n" - + " \n" - + " \n" - + " 15.0\n" - + " \n" - + " \n" - + " -75.0\n" - + " \n" - + "", dataTest); - - final TestListNodeObjectFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListNodeObjectFunc.class, ExmlTestIntrospectionObject.NODE_NAME)); - Assertions.assertEquals(3, root.getValues().size()); - Assertions.assertEquals(55, root.getValues().get(0).value1); - Assertions.assertEquals(12568.0f, root.getValues().get(0).value2); - Assertions.assertEquals(77, root.getValues().get(1).value1); - Assertions.assertEquals(15.0f, root.getValues().get(1).value2); - Assertions.assertEquals(152654, root.getValues().get(2).value1); - Assertions.assertEquals(-75.0f, root.getValues().get(2).value2); - } - - - - - - public class TestArrayNodeStructuredObjectFunc { - private SimpleObject[] values; - - @XmlList(value="elem") - public SimpleObject[] getValues() { - return this.values; - } - - public void setValues(final SimpleObject[] values) { - this.values = values; - } - - } - @Test - public void testModelArrayNodeStructuredObjectFunc() { - TestArrayNodeStructuredObjectFunc elem = new TestArrayNodeStructuredObjectFunc(); - elem.setValues(new SimpleObject[] {new SimpleObject(), new SimpleObject(), new SimpleObject()}); + public void testModelArrayNodeStructuredObjectFunc() { + final TestArrayNodeStructuredObjectFunc elem = new TestArrayNodeStructuredObjectFunc(); + elem.setValues(new SimpleObject[] { new SimpleObject(), new SimpleObject(), new SimpleObject() }); elem.getValues()[0].value1 = 55; elem.getValues()[0].value2 = 12568.0f; elem.getValues()[1].value1 = 77; @@ -316,24 +203,25 @@ public class ExmlTestIntrospectionObject { elem.getValues()[2].value1 = 152654; elem.getValues()[2].value2 = -75.0f; - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionObject.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " \n" - + " \n" - + " 12568.0\n" - + " \n" - + " \n" - + " 15.0\n" - + " \n" - + " \n" - + " -75.0\n" - + " \n" - + " \n" - + "", dataTest); - + Assertions.assertEquals(""" + + + + 12568.0 + + + 15.0 + + + -75.0 + + + """, dataTest); + final TestArrayNodeStructuredObjectFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeStructuredObjectFunc.class, ExmlTestIntrospectionObject.NODE_NAME)); Assertions.assertEquals(3, root.getValues().length); Assertions.assertEquals(55, root.getValues()[0].value1); @@ -344,22 +232,47 @@ public class ExmlTestIntrospectionObject { Assertions.assertEquals(-75.0f, root.getValues()[2].value2); } - // Note this is set in static to test an other part of code... - public static class TestListNodeStructuredObjectFunc { - private List values; - - @XmlList(value="elem") - public List getValues() { - return this.values; - } - - public void setValues(final List values) { - this.values = values; - } - } @Test - public void testModelListNodeStructuredObjectFunc() { - TestListNodeStructuredObjectFunc elem = new TestListNodeStructuredObjectFunc(); + public void testModelListNodeObject() { + final TestListNodeObject elem = new TestListNodeObject(); + elem.values = List.of(new SimpleObject(), new SimpleObject(), new SimpleObject()); + elem.values.get(0).value1 = 55; + elem.values.get(0).value2 = 12568.0f; + elem.values.get(1).value1 = 77; + elem.values.get(1).value2 = 15.0f; + elem.values.get(2).value1 = 152654; + elem.values.get(2).value2 = -75.0f; + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionObject.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + + 12568.0 + + + 15.0 + + + -75.0 + + """, dataTest); + + final TestListNodeObject root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListNodeObject.class, ExmlTestIntrospectionObject.NODE_NAME)); + Assertions.assertEquals(3, root.values.size()); + Assertions.assertEquals(55, root.values.get(0).value1); + Assertions.assertEquals(12568.0f, root.values.get(0).value2); + Assertions.assertEquals(77, root.values.get(1).value1); + Assertions.assertEquals(15.0f, root.values.get(1).value2); + Assertions.assertEquals(152654, root.values.get(2).value1); + Assertions.assertEquals(-75.0f, root.values.get(2).value2); + } + + @Test + public void testModelListNodeObjectFunc() { + final TestListNodeObjectFunc elem = new TestListNodeObjectFunc(); elem.values = List.of(new SimpleObject(), new SimpleObject(), new SimpleObject()); elem.getValues().get(0).value1 = 55; elem.getValues().get(0).value2 = 12568.0f; @@ -368,24 +281,63 @@ public class ExmlTestIntrospectionObject { elem.getValues().get(2).value1 = 152654; elem.getValues().get(2).value2 = -75.0f; - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionObject.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " \n" - + " \n" - + " 12568.0\n" - + " \n" - + " \n" - + " 15.0\n" - + " \n" - + " \n" - + " -75.0\n" - + " \n" - + " \n" - + "", dataTest); + Assertions.assertEquals(""" + + + 12568.0 + + + 15.0 + + + -75.0 + + """, dataTest); + + final TestListNodeObjectFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListNodeObjectFunc.class, ExmlTestIntrospectionObject.NODE_NAME)); + Assertions.assertEquals(3, root.getValues().size()); + Assertions.assertEquals(55, root.getValues().get(0).value1); + Assertions.assertEquals(12568.0f, root.getValues().get(0).value2); + Assertions.assertEquals(77, root.getValues().get(1).value1); + Assertions.assertEquals(15.0f, root.getValues().get(1).value2); + Assertions.assertEquals(152654, root.getValues().get(2).value1); + Assertions.assertEquals(-75.0f, root.getValues().get(2).value2); + } + @Test + public void testModelListNodeStructuredObjectFunc() { + final TestListNodeStructuredObjectFunc elem = new TestListNodeStructuredObjectFunc(); + elem.values = List.of(new SimpleObject(), new SimpleObject(), new SimpleObject()); + elem.getValues().get(0).value1 = 55; + elem.getValues().get(0).value2 = 12568.0f; + elem.getValues().get(1).value1 = 77; + elem.getValues().get(1).value2 = 15.0f; + elem.getValues().get(2).value1 = 152654; + elem.getValues().get(2).value2 = -75.0f; + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionObject.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + + + 12568.0 + + + 15.0 + + + -75.0 + + + """, dataTest); + final TestListNodeStructuredObjectFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListNodeStructuredObjectFunc.class, ExmlTestIntrospectionObject.NODE_NAME)); Assertions.assertEquals(3, root.getValues().size()); Assertions.assertEquals(55, root.getValues().get(0).value1); @@ -396,5 +348,66 @@ public class ExmlTestIntrospectionObject { Assertions.assertEquals(-75.0f, root.getValues().get(2).value2); } + @Test + public void testModelNodeObject() { + final TestNodeObject elem = new TestNodeObject(); + elem.valueA = new SimpleObject(); + elem.valueA.value1 = 55; + elem.valueA.value2 = 12568.0f; + elem.valueB = new SimpleObject(); + elem.valueB.value1 = -55; + elem.valueB.value2 = -12568.0f; + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionObject.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + + 12568.0 + + + -12568.0 + + """, dataTest); + + final TestNodeObject root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeObject.class, ExmlTestIntrospectionObject.NODE_NAME)); + Assertions.assertEquals(55, root.valueA.value1); + Assertions.assertEquals(12568.0f, root.valueA.value2); + Assertions.assertEquals(-55, root.valueB.value1); + Assertions.assertEquals(-12568.0f, root.valueB.value2); + } + + @Test + public void testModelNodeObjectFunc() { + final TestNodeObjectFunc elem = new TestNodeObjectFunc(); + elem.setValueA(new SimpleObject()); + elem.getValueA().value1 = 4564; + elem.getValueA().value2 = 152.0f; + elem.setValueB(new SimpleObject()); + elem.getValueB().value1 = 454564; + elem.getValueB().value2 = 85422.0f; + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionObject.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + + 152.0 + + + 85422.0 + + """, dataTest); + + final TestNodeObjectFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeObjectFunc.class, ExmlTestIntrospectionObject.NODE_NAME)); + Assertions.assertEquals(4564, root.getValueA().value1); + Assertions.assertEquals(152.0f, root.getValueA().value2); + Assertions.assertEquals(454564, root.getValueB().value1); + Assertions.assertEquals(85422.0f, root.getValueB().value2); + } + } - diff --git a/test/src/test/atriasoft/exml/ExmlTestIntrospectionObjectConstructor.java b/test/src/test/atriasoft/exml/ExmlTestIntrospectionObjectConstructor.java index 3fd8f96..ae58169 100644 --- a/test/src/test/atriasoft/exml/ExmlTestIntrospectionObjectConstructor.java +++ b/test/src/test/atriasoft/exml/ExmlTestIntrospectionObjectConstructor.java @@ -5,96 +5,105 @@ */ package test.atriasoft.exml; +import org.atriasoft.aknot.annotation.AknotName; +import org.atriasoft.aknot.annotation.AknotAttribute; import org.atriasoft.exml.Exml; -import org.atriasoft.exml.annotation.XmlAttribute; -import org.atriasoft.exml.annotation.XmlName; - import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; public class ExmlTestIntrospectionObjectConstructor { - static final String NODE_NAME = "elem"; - @BeforeAll - public static void beforeClass() { - Log.warning("================================================================"); - } - public class TestMultiConstructor { - @XmlAttribute - public Integer valueA; - public double valueB; - public TestMultiConstructor(final Integer valueA, final double valueB) { - this.valueA = valueA; - this.valueB = valueB; - } - public TestMultiConstructor() { - } - } - @Test - public void testModelMultiConstructor() { - TestMultiConstructor elem = new TestMultiConstructor(66, 18523.0); - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionObject.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 18523.0\n" - + "", dataTest); - - final TestMultiConstructor root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestMultiConstructor.class, ExmlTestIntrospectionObject.NODE_NAME)); - Assertions.assertEquals(66, root.valueA); - Assertions.assertEquals(18523.0f, root.valueB); - } - - public class TestConstructorSpecificParameter { - @XmlAttribute - public Integer valueA; - public double valueB; - public TestConstructorSpecificParameter(@XmlName("valueA") final Integer valueA, @XmlName("valueB") final double valueB) { - this.valueA = valueA; - this.valueB = valueB; - } - } - @Test - public void testModelConstructorSpecificParameter() { - TestConstructorSpecificParameter elem = new TestConstructorSpecificParameter(66, 18523.0); - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionObject.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 18523.0\n" - + "", dataTest); - - final TestConstructorSpecificParameter root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestConstructorSpecificParameter.class, ExmlTestIntrospectionObject.NODE_NAME)); - Assertions.assertEquals(66, root.valueA); - Assertions.assertEquals(18523.0f, root.valueB); - } - public class TestConstructorSpecific { - @XmlAttribute + @AknotAttribute public Integer valueA; public double valueB; - @XmlName({"valueA", "valueB"}) + + @AknotName({ "valueA", "valueB" }) public TestConstructorSpecific(final Integer valueA, final double valueB) { this.valueA = valueA; this.valueB = valueB; } } + + public class TestConstructorSpecificParameter { + @AknotAttribute + public Integer valueA; + public double valueB; + + public TestConstructorSpecificParameter(@AknotName("valueA") final Integer valueA, @AknotName("valueB") final double valueB) { + this.valueA = valueA; + this.valueB = valueB; + } + } + + public class TestMultiConstructor { + @AknotAttribute + public Integer valueA; + public double valueB; + + public TestMultiConstructor() {} + + public TestMultiConstructor(final Integer valueA, final double valueB) { + this.valueA = valueA; + this.valueB = valueB; + } + } + + static final String NODE_NAME = "elem"; + + @BeforeAll + public static void beforeClass() { + Log.warning("================================================================"); + } + @Test - public void testModelConstructorSpecific() { - TestConstructorSpecific elem = new TestConstructorSpecific(66, 18523.0); - StringBuilder builder = new StringBuilder(); + public void testModelConstructorSpecific() { + final TestConstructorSpecific elem = new TestConstructorSpecific(66, 18523.0); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionObject.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 18523.0\n" - + "", dataTest); - + Assertions.assertEquals(""" + + 18523.0 + """, dataTest); + final TestConstructorSpecific root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestConstructorSpecific.class, ExmlTestIntrospectionObject.NODE_NAME)); Assertions.assertEquals(66, root.valueA); Assertions.assertEquals(18523.0f, root.valueB); } + + @Test + public void testModelConstructorSpecificParameter() { + final TestConstructorSpecificParameter elem = new TestConstructorSpecificParameter(66, 18523.0); + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionObject.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + 18523.0 + """, dataTest); + + final TestConstructorSpecificParameter root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestConstructorSpecificParameter.class, ExmlTestIntrospectionObject.NODE_NAME)); + Assertions.assertEquals(66, root.valueA); + Assertions.assertEquals(18523.0f, root.valueB); + } + + @Test + public void testModelMultiConstructor() { + final TestMultiConstructor elem = new TestMultiConstructor(66, 18523.0); + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionObject.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + 18523.0 + """, dataTest); + + final TestMultiConstructor root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestMultiConstructor.class, ExmlTestIntrospectionObject.NODE_NAME)); + Assertions.assertEquals(66, root.valueA); + Assertions.assertEquals(18523.0f, root.valueB); + } } - diff --git a/test/src/test/atriasoft/exml/ExmlTestIntrospectionRecord.java b/test/src/test/atriasoft/exml/ExmlTestIntrospectionRecord.java index 3646d5e..f24ec73 100644 --- a/test/src/test/atriasoft/exml/ExmlTestIntrospectionRecord.java +++ b/test/src/test/atriasoft/exml/ExmlTestIntrospectionRecord.java @@ -5,63 +5,59 @@ */ package test.atriasoft.exml; +import org.atriasoft.aknot.annotation.AknotName; +import org.atriasoft.aknot.annotation.AknotAttribute; import org.atriasoft.exml.Exml; -import org.atriasoft.exml.annotation.XmlAttribute; -import org.atriasoft.exml.annotation.XmlName; - import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; public class ExmlTestIntrospectionRecord { + public record TestRecord( + @AknotName("valueA") Integer valueA, + @AknotName("valueB") double valueB) {} + + public record TestRecordProperty( + @AknotName("valueA") @AknotAttribute Integer valueA, + @AknotName("valueB") @AknotAttribute double valueB) {} + static final String NODE_NAME = "elem"; + @BeforeAll public static void beforeClass() { Log.warning("================================================================"); } - - public record TestRecord( - @XmlName("valueA") Integer valueA, - @XmlName("valueB") double valueB) { - } @Test - public void testModelRecord() { - TestRecord elem = new TestRecord(66, 18523.0); - StringBuilder builder = new StringBuilder(); + public void testModelRecord() { + final TestRecord elem = new TestRecord(66, 18523.0); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionObject.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 66\n" - + " 18523.0\n" - + "", dataTest); - + Assertions.assertEquals(""" + + 66 + 18523.0 + """, dataTest); + final TestRecord root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestRecord.class, ExmlTestIntrospectionObject.NODE_NAME)); Assertions.assertEquals(66, root.valueA); Assertions.assertEquals(18523.0f, root.valueB); } - - public record TestRecordProperty ( - @XmlName("valueA") @XmlAttribute Integer valueA, - @XmlName("valueB") @XmlAttribute double valueB) { - } - @Test - public void testModelRecordProperty() { - TestRecordProperty elem = new TestRecordProperty(66, 18523.0); - StringBuilder builder = new StringBuilder(); + public void testModelRecordProperty() { + final TestRecordProperty elem = new TestRecordProperty(66, 18523.0); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionObject.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); Assertions.assertEquals("", dataTest); - + final TestRecordProperty root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestRecordProperty.class, ExmlTestIntrospectionObject.NODE_NAME)); Assertions.assertEquals(66, root.valueA); Assertions.assertEquals(18523.0f, root.valueB); } - } - diff --git a/test/src/test/atriasoft/exml/ExmlTestIntrospectionShort.java b/test/src/test/atriasoft/exml/ExmlTestIntrospectionShort.java index b4a424b..75836d1 100644 --- a/test/src/test/atriasoft/exml/ExmlTestIntrospectionShort.java +++ b/test/src/test/atriasoft/exml/ExmlTestIntrospectionShort.java @@ -7,478 +7,503 @@ package test.atriasoft.exml; import java.util.List; +import org.atriasoft.aknot.annotation.AknotList; +import org.atriasoft.aknot.annotation.AknotDefaultAttribute; import org.atriasoft.exml.Exml; -import org.atriasoft.exml.annotation.XmlDefaultAttibute; -import org.atriasoft.exml.annotation.XmlList; - import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; public class ExmlTestIntrospectionShort { - static final String NODE_NAME = "elem"; - @BeforeAll - public static void beforeClass() { - Log.warning("================================================================"); - } - - @XmlDefaultAttibute - public class TestShort { - public Short valueA; - public Short valueB; - public Short valueNull; - } - @Test - public void testModelShort() { - TestShort elem = new TestShort(); - elem.valueA = (short)12; - elem.valueB = (short)-13; - elem.valueNull = null; - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionShort.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("", dataTest); - - final TestShort root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestShort.class, ExmlTestIntrospectionShort.NODE_NAME)); - Assertions.assertEquals((short)12, root.valueA); - Assertions.assertEquals((short)-13, root.valueB); - Assertions.assertEquals(null, root.valueNull); - } - - @XmlDefaultAttibute - public class TestArrayShort { + public class TestArrayNodeShort { public Short[] values; } - @Test - public void testModelArrayShort() { - TestArrayShort elem = new TestArrayShort(); - elem.values = new Short[] {12, -13, 33, 78, -127}; - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionShort.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("", dataTest); - - final TestArrayShort root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayShort.class, ExmlTestIntrospectionShort.NODE_NAME)); - Assertions.assertEquals(5, root.values.length); - Assertions.assertEquals((short)12, root.values[0]); - Assertions.assertEquals((short)-13, root.values[1]); - Assertions.assertEquals((short)33, root.values[2]); - Assertions.assertEquals((short)78, root.values[3]); - Assertions.assertEquals((short)-127, root.values[4]); - } - @XmlDefaultAttibute - public class TestListShort { - public List values; - } - @Test - public void testModelListShort() { - TestListShort elem = new TestListShort(); - elem.values = List.of((short)12, (short)-13, (short)33, (short)78, (short)-127); - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionShort.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("", dataTest); - - final TestListShort root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListShort.class, ExmlTestIntrospectionShort.NODE_NAME)); - Assertions.assertEquals(5, root.values.size()); - Assertions.assertEquals((short)12, root.values.get(0)); - Assertions.assertEquals((short)-13, root.values.get(1)); - Assertions.assertEquals((short)33, root.values.get(2)); - Assertions.assertEquals((short)78, root.values.get(3)); - Assertions.assertEquals((short)-127, root.values.get(4)); - } - - - @XmlDefaultAttibute - public class TestShortFunc { - private Short valueA; - private Short valueB; - private Short valueNull; - public Short getValueA() { - return this.valueA; - } - public void setValueA(final Short valueA) { - this.valueA = valueA; - } - public Short getValueB() { - return this.valueB; - } - public void setValueB(final Short valueB) { - this.valueB = valueB; - } - public Short getValueNull() { - return this.valueNull; - } - public void setValueNull(final Short valueNull) { - this.valueNull = valueNull; - } - } - - @Test - public void testModelShortFunc() { - TestShortFunc elem = new TestShortFunc(); - elem.setValueA((short)-55); - elem.setValueB((short)57); - elem.setValueNull(null); - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionShort.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("", dataTest); - - final TestShortFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestShortFunc.class, ExmlTestIntrospectionShort.NODE_NAME)); - Assertions.assertEquals((short)-55, root.getValueA()); - Assertions.assertEquals((short)57, root.getValueB()); - Assertions.assertEquals(null, root.getValueNull()); - } - - @XmlDefaultAttibute - public class TestArrayShortFunc { + public class TestArrayNodeShortFunc { private Short[] values; - + public Short[] getValues() { return this.values; } - + public void setValues(final Short[] values) { this.values = values; } } - @Test - public void testModelArrayShortFunc() { - TestArrayShortFunc elem = new TestArrayShortFunc(); - elem.setValues(new Short[] {12, -13, 33, 78, -127}); - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionShort.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("", dataTest); - - final TestArrayShortFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayShortFunc.class, ExmlTestIntrospectionShort.NODE_NAME)); - Assertions.assertEquals(5, root.getValues().length); - Assertions.assertEquals((short)12, root.getValues()[0]); - Assertions.assertEquals((short)-13, root.getValues()[1]); - Assertions.assertEquals((short)33, root.getValues()[2]); - Assertions.assertEquals((short)78, root.getValues()[3]); - Assertions.assertEquals((short)-127, root.getValues()[4]); - } - @XmlDefaultAttibute - public class TestListShortFunc { - private List values; - - public List getValues() { - return this.values; - } - - public void setValues(final List values) { - this.values = values; - } - } - @Test - public void testModelListShortFunc() { - TestListShortFunc elem = new TestListShortFunc(); - elem.setValues(List.of((short)12, (short)-13, (short)33, (short)78, (short)-127)); - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionShort.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("", dataTest); - - final TestListShortFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListShortFunc.class, ExmlTestIntrospectionShort.NODE_NAME)); - Assertions.assertEquals(5, root.getValues().size()); - Assertions.assertEquals((short)12, root.getValues().get(0)); - Assertions.assertEquals((short)-13, root.getValues().get(1)); - Assertions.assertEquals((short)33, root.getValues().get(2)); - Assertions.assertEquals((short)78, root.getValues().get(3)); - Assertions.assertEquals((short)-127, root.getValues().get(4)); - } - - public class TestNodeShort { - public Short valueA; - public Short valueB; - public Short valueNull; - } - @Test - public void testModelNodeShort() { - TestNodeShort elem = new TestNodeShort(); - elem.valueA = (short)11; - elem.valueB = (short)-120; - elem.valueNull = null; - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionShort.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 11\n" - + " -120\n" - + "", dataTest); - - final TestNodeShort root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeShort.class, ExmlTestIntrospectionShort.NODE_NAME)); - Assertions.assertEquals((short)11, root.valueA); - Assertions.assertEquals((short)-120, root.valueB); - Assertions.assertEquals(null, root.valueNull); - } - - public class TestArrayNodeShort { + public class TestArrayNodeShortStructured { + @AknotList(value = "elem") public Short[] values; } - @Test - public void testModelArrayNodeShort() { - TestArrayNodeShort elem = new TestArrayNodeShort(); - elem.values = new Short[] {12, -13, 33, 78, -127}; + + @AknotDefaultAttribute + public class TestArrayShort { + public Short[] values; + } + + @AknotDefaultAttribute + public class TestArrayShortFunc { + private Short[] values; + + public Short[] getValues() { + return this.values; + } + + public void setValues(final Short[] values) { + this.values = values; + } - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionShort.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 12\n" - + " -13\n" - + " 33\n" - + " 78\n" - + " -127\n" - + "", dataTest); - - final TestArrayNodeShort root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeShort.class, ExmlTestIntrospectionShort.NODE_NAME)); - Assertions.assertEquals(5, root.values.length); - Assertions.assertEquals((short)12, root.values[0]); - Assertions.assertEquals((short)-13, root.values[1]); - Assertions.assertEquals((short)33, root.values[2]); - Assertions.assertEquals((short)78, root.values[3]); - Assertions.assertEquals((short)-127, root.values[4]); } public class TestListNodeShort { public List values; } - @Test - public void testModelListNodeShort() { - TestListNodeShort elem = new TestListNodeShort(); - elem.values = List.of((short)12, (short)-13, (short)33, (short)78, (short)-127); + + // Note this is set in static to test an other part of code... + public static class TestListNodeShortFunc { + private List values; - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionShort.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 12\n" - + " -13\n" - + " 33\n" - + " 78\n" - + " -127\n" - + "", dataTest); - - final TestListNodeShort root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListNodeShort.class, ExmlTestIntrospectionShort.NODE_NAME)); - Assertions.assertEquals(5, root.values.size()); - Assertions.assertEquals((short)12, root.values.get(0)); - Assertions.assertEquals((short)-13, root.values.get(1)); - Assertions.assertEquals((short)33, root.values.get(2)); - Assertions.assertEquals((short)78, root.values.get(3)); - Assertions.assertEquals((short)-127, root.values.get(4)); + public List getValues() { + return this.values; + } + + public void setValues(final List values) { + this.values = values; + } + } + + public class TestListNodeShortStructured { + @AknotList(value = "elem") + public List values; + } + + @AknotDefaultAttribute + public class TestListShort { + public List values; + } + + @AknotDefaultAttribute + public class TestListShortFunc { + private List values; + + public List getValues() { + return this.values; + } + + public void setValues(final List values) { + this.values = values; + } + } + + public class TestNodeShort { + public Short valueA; + public Short valueB; + public Short valueNull; } - public class TestNodeShortFunc { private Short valueA; private Short valueB; private Short valueNull; + public Short getValueA() { return this.valueA; } - public void setValueA(final Short valueA) { - this.valueA = valueA; - } + public Short getValueB() { return this.valueB; } - public void setValueB(final Short valueB) { - this.valueB = valueB; - } + public Short getValueNull() { return this.valueNull; } + + public void setValueA(final Short valueA) { + this.valueA = valueA; + } + + public void setValueB(final Short valueB) { + this.valueB = valueB; + } + public void setValueNull(final Short valueNull) { this.valueNull = valueNull; } } - @Test - public void testModelNodeShortFunc() { - TestNodeShortFunc elem = new TestNodeShortFunc(); - elem.setValueA((short)54); - elem.setValueB((short)-68); - elem.setValueNull(null); - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionShort.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 54\n" - + " -68\n" - + "", dataTest); - - final TestNodeShortFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeShortFunc.class, ExmlTestIntrospectionShort.NODE_NAME)); - Assertions.assertEquals((short)54, root.getValueA()); - Assertions.assertEquals((short)-68, root.getValueB()); - Assertions.assertEquals(null, root.getValueNull()); + @AknotDefaultAttribute + public class TestShort { + public Short valueA; + public Short valueB; + public Short valueNull; } - - public class TestArrayNodeShortFunc { - private Short[] values; - - public Short[] getValues() { - return this.values; - } - - public void setValues(final Short[] values) { - this.values = values; + + @AknotDefaultAttribute + public class TestShortFunc { + private Short valueA; + private Short valueB; + private Short valueNull; + + public Short getValueA() { + return this.valueA; } - } - @Test - public void testModelArrayNodeShortFunc() { - TestArrayNodeShortFunc elem = new TestArrayNodeShortFunc(); - elem.setValues(new Short[] {12, -13, 33, 78, -127}); - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionShort.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 12\n" - + " -13\n" - + " 33\n" - + " 78\n" - + " -127\n" - + "", dataTest); - - final TestArrayNodeShortFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeShortFunc.class, ExmlTestIntrospectionShort.NODE_NAME)); - Assertions.assertEquals(5, root.getValues().length); - Assertions.assertEquals((short)12, root.getValues()[0]); - Assertions.assertEquals((short)-13, root.getValues()[1]); - Assertions.assertEquals((short)33, root.getValues()[2]); - Assertions.assertEquals((short)78, root.getValues()[3]); - Assertions.assertEquals((short)-127, root.getValues()[4]); - } - - // Note this is set in static to test an other part of code... - public static class TestListNodeShortFunc { - private List values; - - public List getValues() { - return this.values; + public Short getValueB() { + return this.valueB; } - - public void setValues(final List values) { - this.values = values; + + public Short getValueNull() { + return this.valueNull; + } + + public void setValueA(final Short valueA) { + this.valueA = valueA; + } + + public void setValueB(final Short valueB) { + this.valueB = valueB; + } + + public void setValueNull(final Short valueNull) { + this.valueNull = valueNull; } } + + static final String NODE_NAME = "elem"; + + @BeforeAll + public static void beforeClass() { + Log.warning("================================================================"); + } + @Test - public void testModelListNodeShortFunc() { - TestListNodeShortFunc elem = new TestListNodeShortFunc(); - elem.setValues(List.of((short)12, (short)-13, (short)33, (short)78, (short)-127)); + public void testArrayNodeShortStructured() { + final TestArrayNodeShortStructured elem = new TestArrayNodeShortStructured(); + elem.values = new Short[] { 12, -13, 33, 78, -127 }; - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionShort.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 12\n" - + " -13\n" - + " 33\n" - + " 78\n" - + " -127\n" - + "", dataTest); - - final TestListNodeShortFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListNodeShortFunc.class, ExmlTestIntrospectionShort.NODE_NAME)); - Assertions.assertEquals(5, root.getValues().size()); - Assertions.assertEquals((short)12, root.getValues().get(0)); - Assertions.assertEquals((short)-13, root.getValues().get(1)); - Assertions.assertEquals((short)33, root.getValues().get(2)); - Assertions.assertEquals((short)78, root.getValues().get(3)); - Assertions.assertEquals((short)-127, root.getValues().get(4)); - } - - - - - - - public class TestListNodeShortStructured { - @XmlList(value="elem") - public List values; - } - @Test - public void testListNodeShortStructured() { - TestListNodeShortStructured elem = new TestListNodeShortStructured(); - elem.values = List.of((short)12, (short)-13, (short)33, (short)78, (short)-127); + Assertions.assertEquals(""" + + + 12 + -13 + 33 + 78 + -127 + + """, dataTest); - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionShort.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " \n" - + " 12\n" - + " -13\n" - + " 33\n" - + " 78\n" - + " -127\n" - + " \n" - + "", dataTest); - - final TestListNodeShortStructured root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListNodeShortStructured.class, ExmlTestIntrospectionShort.NODE_NAME)); - Assertions.assertEquals(5, root.values.size()); - Assertions.assertEquals((short)12, root.values.get(0)); - Assertions.assertEquals((short)-13, root.values.get(1)); - Assertions.assertEquals((short)33, root.values.get(2)); - Assertions.assertEquals((short)78, root.values.get(3)); - Assertions.assertEquals((short)-127, root.values.get(4)); - } - public class TestArrayNodeShortStructured { - @XmlList(value="elem") - public Short[] values; - } - @Test - public void testArrayNodeShortStructured() { - TestArrayNodeShortStructured elem = new TestArrayNodeShortStructured(); - elem.values = new Short[] {12, -13, 33, 78, -127}; - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionShort.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " \n" - + " 12\n" - + " -13\n" - + " 33\n" - + " 78\n" - + " -127\n" - + " \n" - + "", dataTest); - final TestArrayNodeShortStructured root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeShortStructured.class, ExmlTestIntrospectionShort.NODE_NAME)); Assertions.assertEquals(5, root.values.length); - Assertions.assertEquals((short)12, root.values[0]); - Assertions.assertEquals((short)-13, root.values[1]); - Assertions.assertEquals((short)33, root.values[2]); - Assertions.assertEquals((short)78, root.values[3]); - Assertions.assertEquals((short)-127, root.values[4]); + Assertions.assertEquals((short) 12, root.values[0]); + Assertions.assertEquals((short) -13, root.values[1]); + Assertions.assertEquals((short) 33, root.values[2]); + Assertions.assertEquals((short) 78, root.values[3]); + Assertions.assertEquals((short) -127, root.values[4]); + } + + @Test + public void testListNodeShortStructured() { + final TestListNodeShortStructured elem = new TestListNodeShortStructured(); + elem.values = List.of((short) 12, (short) -13, (short) 33, (short) 78, (short) -127); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionShort.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + + 12 + -13 + 33 + 78 + -127 + + """, dataTest); + + final TestListNodeShortStructured root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListNodeShortStructured.class, ExmlTestIntrospectionShort.NODE_NAME)); + Assertions.assertEquals(5, root.values.size()); + Assertions.assertEquals((short) 12, root.values.get(0)); + Assertions.assertEquals((short) -13, root.values.get(1)); + Assertions.assertEquals((short) 33, root.values.get(2)); + Assertions.assertEquals((short) 78, root.values.get(3)); + Assertions.assertEquals((short) -127, root.values.get(4)); + } + + @Test + public void testModelArrayNodeShort() { + final TestArrayNodeShort elem = new TestArrayNodeShort(); + elem.values = new Short[] { 12, -13, 33, 78, -127 }; + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionShort.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + 12 + -13 + 33 + 78 + -127 + """, dataTest); + + final TestArrayNodeShort root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeShort.class, ExmlTestIntrospectionShort.NODE_NAME)); + Assertions.assertEquals(5, root.values.length); + Assertions.assertEquals((short) 12, root.values[0]); + Assertions.assertEquals((short) -13, root.values[1]); + Assertions.assertEquals((short) 33, root.values[2]); + Assertions.assertEquals((short) 78, root.values[3]); + Assertions.assertEquals((short) -127, root.values[4]); + } + + @Test + public void testModelArrayNodeShortFunc() { + final TestArrayNodeShortFunc elem = new TestArrayNodeShortFunc(); + elem.setValues(new Short[] { 12, -13, 33, 78, -127 }); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionShort.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + 12 + -13 + 33 + 78 + -127 + """, dataTest); + + final TestArrayNodeShortFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeShortFunc.class, ExmlTestIntrospectionShort.NODE_NAME)); + Assertions.assertEquals(5, root.getValues().length); + Assertions.assertEquals((short) 12, root.getValues()[0]); + Assertions.assertEquals((short) -13, root.getValues()[1]); + Assertions.assertEquals((short) 33, root.getValues()[2]); + Assertions.assertEquals((short) 78, root.getValues()[3]); + Assertions.assertEquals((short) -127, root.getValues()[4]); + } + + @Test + public void testModelArrayShort() { + final TestArrayShort elem = new TestArrayShort(); + elem.values = new Short[] { 12, -13, 33, 78, -127 }; + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionShort.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals("", dataTest); + + final TestArrayShort root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayShort.class, ExmlTestIntrospectionShort.NODE_NAME)); + Assertions.assertEquals(5, root.values.length); + Assertions.assertEquals((short) 12, root.values[0]); + Assertions.assertEquals((short) -13, root.values[1]); + Assertions.assertEquals((short) 33, root.values[2]); + Assertions.assertEquals((short) 78, root.values[3]); + Assertions.assertEquals((short) -127, root.values[4]); + } + + @Test + public void testModelArrayShortFunc() { + final TestArrayShortFunc elem = new TestArrayShortFunc(); + elem.setValues(new Short[] { 12, -13, 33, 78, -127 }); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionShort.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals("", dataTest); + + final TestArrayShortFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayShortFunc.class, ExmlTestIntrospectionShort.NODE_NAME)); + Assertions.assertEquals(5, root.getValues().length); + Assertions.assertEquals((short) 12, root.getValues()[0]); + Assertions.assertEquals((short) -13, root.getValues()[1]); + Assertions.assertEquals((short) 33, root.getValues()[2]); + Assertions.assertEquals((short) 78, root.getValues()[3]); + Assertions.assertEquals((short) -127, root.getValues()[4]); + } + + @Test + public void testModelListNodeShort() { + final TestListNodeShort elem = new TestListNodeShort(); + elem.values = List.of((short) 12, (short) -13, (short) 33, (short) 78, (short) -127); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionShort.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + 12 + -13 + 33 + 78 + -127 + """, dataTest); + + final TestListNodeShort root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListNodeShort.class, ExmlTestIntrospectionShort.NODE_NAME)); + Assertions.assertEquals(5, root.values.size()); + Assertions.assertEquals((short) 12, root.values.get(0)); + Assertions.assertEquals((short) -13, root.values.get(1)); + Assertions.assertEquals((short) 33, root.values.get(2)); + Assertions.assertEquals((short) 78, root.values.get(3)); + Assertions.assertEquals((short) -127, root.values.get(4)); + } + + @Test + public void testModelListNodeShortFunc() { + final TestListNodeShortFunc elem = new TestListNodeShortFunc(); + elem.setValues(List.of((short) 12, (short) -13, (short) 33, (short) 78, (short) -127)); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionShort.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + 12 + -13 + 33 + 78 + -127 + """, dataTest); + + final TestListNodeShortFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListNodeShortFunc.class, ExmlTestIntrospectionShort.NODE_NAME)); + Assertions.assertEquals(5, root.getValues().size()); + Assertions.assertEquals((short) 12, root.getValues().get(0)); + Assertions.assertEquals((short) -13, root.getValues().get(1)); + Assertions.assertEquals((short) 33, root.getValues().get(2)); + Assertions.assertEquals((short) 78, root.getValues().get(3)); + Assertions.assertEquals((short) -127, root.getValues().get(4)); + } + + @Test + public void testModelListShort() { + final TestListShort elem = new TestListShort(); + elem.values = List.of((short) 12, (short) -13, (short) 33, (short) 78, (short) -127); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionShort.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals("", dataTest); + + final TestListShort root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListShort.class, ExmlTestIntrospectionShort.NODE_NAME)); + Assertions.assertEquals(5, root.values.size()); + Assertions.assertEquals((short) 12, root.values.get(0)); + Assertions.assertEquals((short) -13, root.values.get(1)); + Assertions.assertEquals((short) 33, root.values.get(2)); + Assertions.assertEquals((short) 78, root.values.get(3)); + Assertions.assertEquals((short) -127, root.values.get(4)); + } + + @Test + public void testModelListShortFunc() { + final TestListShortFunc elem = new TestListShortFunc(); + elem.setValues(List.of((short) 12, (short) -13, (short) 33, (short) 78, (short) -127)); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionShort.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals("", dataTest); + + final TestListShortFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestListShortFunc.class, ExmlTestIntrospectionShort.NODE_NAME)); + Assertions.assertEquals(5, root.getValues().size()); + Assertions.assertEquals((short) 12, root.getValues().get(0)); + Assertions.assertEquals((short) -13, root.getValues().get(1)); + Assertions.assertEquals((short) 33, root.getValues().get(2)); + Assertions.assertEquals((short) 78, root.getValues().get(3)); + Assertions.assertEquals((short) -127, root.getValues().get(4)); + } + + @Test + public void testModelNodeShort() { + final TestNodeShort elem = new TestNodeShort(); + elem.valueA = (short) 11; + elem.valueB = (short) -120; + elem.valueNull = null; + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionShort.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + 11 + -120 + """, dataTest); + + final TestNodeShort root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeShort.class, ExmlTestIntrospectionShort.NODE_NAME)); + Assertions.assertEquals((short) 11, root.valueA); + Assertions.assertEquals((short) -120, root.valueB); + Assertions.assertEquals(null, root.valueNull); + } + + @Test + public void testModelNodeShortFunc() { + final TestNodeShortFunc elem = new TestNodeShortFunc(); + elem.setValueA((short) 54); + elem.setValueB((short) -68); + elem.setValueNull(null); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionShort.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + 54 + -68 + """, dataTest); + + final TestNodeShortFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeShortFunc.class, ExmlTestIntrospectionShort.NODE_NAME)); + Assertions.assertEquals((short) 54, root.getValueA()); + Assertions.assertEquals((short) -68, root.getValueB()); + Assertions.assertEquals(null, root.getValueNull()); + } + + @Test + public void testModelShort() { + final TestShort elem = new TestShort(); + elem.valueA = (short) 12; + elem.valueB = (short) -13; + elem.valueNull = null; + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionShort.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals("", dataTest); + + final TestShort root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestShort.class, ExmlTestIntrospectionShort.NODE_NAME)); + Assertions.assertEquals((short) 12, root.valueA); + Assertions.assertEquals((short) -13, root.valueB); + Assertions.assertEquals(null, root.valueNull); + } + + @Test + public void testModelShortFunc() { + final TestShortFunc elem = new TestShortFunc(); + elem.setValueA((short) -55); + elem.setValueB((short) 57); + elem.setValueNull(null); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionShort.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals("", dataTest); + + final TestShortFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestShortFunc.class, ExmlTestIntrospectionShort.NODE_NAME)); + Assertions.assertEquals((short) -55, root.getValueA()); + Assertions.assertEquals((short) 57, root.getValueB()); + Assertions.assertEquals(null, root.getValueNull()); } } - diff --git a/test/src/test/atriasoft/exml/ExmlTestIntrospectionShortNative.java b/test/src/test/atriasoft/exml/ExmlTestIntrospectionShortNative.java index aa9b343..78b554e 100644 --- a/test/src/test/atriasoft/exml/ExmlTestIntrospectionShortNative.java +++ b/test/src/test/atriasoft/exml/ExmlTestIntrospectionShortNative.java @@ -5,293 +5,312 @@ */ package test.atriasoft.exml; +import org.atriasoft.aknot.annotation.AknotList; +import org.atriasoft.aknot.annotation.AknotDefaultAttribute; import org.atriasoft.exml.Exml; -import org.atriasoft.exml.annotation.XmlDefaultAttibute; -import org.atriasoft.exml.annotation.XmlList; - import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.Test; public class ExmlTestIntrospectionShortNative { - static final String NODE_NAME = "elem"; - @BeforeAll - public static void beforeClass() { - Log.warning("================================================================"); - } - - @XmlDefaultAttibute - public class TestShortNative { - public short valueA; - public short valueB; - } - @Test - public void testModelShortNative() { - TestShortNative elem = new TestShortNative(); - elem.valueA = (short)12; - elem.valueB = (short)-13; - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionShort.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("", dataTest); - - final TestShortNative root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestShortNative.class, ExmlTestIntrospectionShort.NODE_NAME)); - Assertions.assertEquals((short)12, root.valueA); - Assertions.assertEquals((short)-13, root.valueB); - } - - @XmlDefaultAttibute - public class TestArrayShortNative { - public short[] values; - } - @Test - public void testModelArrayShortNative() { - TestArrayShortNative elem = new TestArrayShortNative(); - elem.values = new short[] {12, -13, 33, 78, -127}; - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionShort.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("", dataTest); - - final TestArrayShortNative root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayShortNative.class, ExmlTestIntrospectionShort.NODE_NAME)); - Assertions.assertEquals(5, root.values.length); - Assertions.assertEquals((short)12, root.values[0]); - Assertions.assertEquals((short)-13, root.values[1]); - Assertions.assertEquals((short)33, root.values[2]); - Assertions.assertEquals((short)78, root.values[3]); - Assertions.assertEquals((short)-127, root.values[4]); - } - - @XmlDefaultAttibute - public class TestshortFunc { - private short valueA; - private short valueB; - public short getValueA() { - return this.valueA; - } - public void setValueA(final short valueA) { - this.valueA = valueA; - } - public short getValueB() { - return this.valueB; - } - public void setValueB(final short valueB) { - this.valueB = valueB; - } - } - - @Test - public void testModelShortFunc() { - TestshortFunc elem = new TestshortFunc(); - elem.setValueA((short)-55); - elem.setValueB((short)57); - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionShort.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("", dataTest); - - final TestshortFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestshortFunc.class, ExmlTestIntrospectionShort.NODE_NAME)); - Assertions.assertEquals((short)-55, root.getValueA()); - Assertions.assertEquals((short)57, root.getValueB()); - } - - @XmlDefaultAttibute - public class TestArrayShortFunc { + public class TestArrayNodeShortFunc { private short[] values; - + public short[] getValues() { return this.values; } - + public void setValues(final short[] values) { this.values = values; } } - @Test - public void testModelArrayShortFunc() { - TestArrayShortFunc elem = new TestArrayShortFunc(); - elem.setValues(new short[] {12, -13, 33, 78, -127}); - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionShort.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("", dataTest); - - final TestArrayShortFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayShortFunc.class, ExmlTestIntrospectionShort.NODE_NAME)); - Assertions.assertEquals(5, root.getValues().length); - Assertions.assertEquals((short)12, root.getValues()[0]); - Assertions.assertEquals((short)-13, root.getValues()[1]); - Assertions.assertEquals((short)33, root.getValues()[2]); - Assertions.assertEquals((short)78, root.getValues()[3]); - Assertions.assertEquals((short)-127, root.getValues()[4]); + + public class TestArrayNodeShortNative { + public short[] values; } - + + public class TestArrayNodeShortNativeStructured { + @AknotList(value = "elem") + public short[] values; + } + + @AknotDefaultAttribute + public class TestArrayShortFunc { + private short[] values; + + public short[] getValues() { + return this.values; + } + + public void setValues(final short[] values) { + this.values = values; + } + + } + + @AknotDefaultAttribute + public class TestArrayShortNative { + public short[] values; + } + + public class TestNodeshortFunc { + private short valueA; + private short valueB; + + public short getValueA() { + return this.valueA; + } + + public short getValueB() { + return this.valueB; + } + + public void setValueA(final short valueA) { + this.valueA = valueA; + } + + public void setValueB(final short valueB) { + this.valueB = valueB; + } + } + public class TestNodeShortNative { public short valueA; public short valueB; } - @Test - public void testModelNodeShortNative() { - TestNodeShortNative elem = new TestNodeShortNative(); - elem.valueA = (short)11; - elem.valueB = (short)-120; - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionShort.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 11\n" - + " -120\n" - + "", dataTest); - - final TestNodeShortNative root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeShortNative.class, ExmlTestIntrospectionShort.NODE_NAME)); - Assertions.assertEquals((short)11, root.valueA); - Assertions.assertEquals((short)-120, root.valueB); - } - - public class TestArrayNodeShortNative { - public short[] values; - } - @Test - public void testModelArrayNodeshortNative() { - TestArrayNodeShortNative elem = new TestArrayNodeShortNative(); - elem.values = new short[] {12, -13, 33, 78, -127}; - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionShort.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 12\n" - + " -13\n" - + " 33\n" - + " 78\n" - + " -127\n" - + "", dataTest); - - final TestArrayNodeShortNative root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeShortNative.class, ExmlTestIntrospectionShort.NODE_NAME)); - Assertions.assertEquals(5, root.values.length); - Assertions.assertEquals((short)12, root.values[0]); - Assertions.assertEquals((short)-13, root.values[1]); - Assertions.assertEquals((short)33, root.values[2]); - Assertions.assertEquals((short)78, root.values[3]); - Assertions.assertEquals((short)-127, root.values[4]); - } - - public class TestNodeshortFunc { + + @AknotDefaultAttribute + public class TestshortFunc { private short valueA; private short valueB; + public short getValueA() { return this.valueA; } - public void setValueA(final short valueA) { - this.valueA = valueA; - } + public short getValueB() { return this.valueB; } + + public void setValueA(final short valueA) { + this.valueA = valueA; + } + public void setValueB(final short valueB) { this.valueB = valueB; } } + @AknotDefaultAttribute + public class TestShortNative { + public short valueA; + public short valueB; + } + + static final String NODE_NAME = "elem"; + + @BeforeAll + public static void beforeClass() { + Log.warning("================================================================"); + } + @Test - public void testModelNodeShortFunc() { - TestNodeshortFunc elem = new TestNodeshortFunc(); - elem.setValueA((short)54); - elem.setValueB((short)-68); + public void testArrayNodeShortNativeStructured() { + final TestArrayNodeShortNativeStructured elem = new TestArrayNodeShortNativeStructured(); + elem.values = new short[] { 12, -13, 33, 78, -127 }; - StringBuilder builder = new StringBuilder(); + final StringBuilder builder = new StringBuilder(); Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionShort.NODE_NAME, builder)); - String dataTest = builder.toString(); + final String dataTest = builder.toString(); Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 54\n" - + " -68\n" - + "", dataTest); - - final TestNodeshortFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeshortFunc.class, ExmlTestIntrospectionShort.NODE_NAME)); - Assertions.assertEquals((short)54, root.getValueA()); - Assertions.assertEquals((short)-68, root.getValueB()); - } - - public class TestArrayNodeShortFunc { - private short[] values; - - public short[] getValues() { - return this.values; - } - - public void setValues(final short[] values) { - this.values = values; - } + Assertions.assertEquals(""" + + + 12 + -13 + 33 + 78 + -127 + + """, dataTest); - } - @Test - public void testModelArrayNodeShortFunc() { - TestArrayNodeShortFunc elem = new TestArrayNodeShortFunc(); - elem.setValues(new short[] {12, -13, 33, 78, -127}); - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionShort.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " 12\n" - + " -13\n" - + " 33\n" - + " 78\n" - + " -127\n" - + "", dataTest); - - final TestArrayNodeShortFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeShortFunc.class, ExmlTestIntrospectionShort.NODE_NAME)); - Assertions.assertEquals(5, root.getValues().length); - Assertions.assertEquals((short)12, root.getValues()[0]); - Assertions.assertEquals((short)-13, root.getValues()[1]); - Assertions.assertEquals((short)33, root.getValues()[2]); - Assertions.assertEquals((short)78, root.getValues()[3]); - Assertions.assertEquals((short)-127, root.getValues()[4]); - } - - public class TestArrayNodeShortNativeStructured { - @XmlList(value="elem") - public short[] values; - } - @Test - public void testArrayNodeShortNativeStructured() { - TestArrayNodeShortNativeStructured elem = new TestArrayNodeShortNativeStructured(); - elem.values = new short[] {12, -13, 33, 78, -127}; - - StringBuilder builder = new StringBuilder(); - Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionShort.NODE_NAME, builder)); - String dataTest = builder.toString(); - Log.warning("data generated: " + builder.toString()); - Assertions.assertEquals("\n" - + " \n" - + " 12\n" - + " -13\n" - + " 33\n" - + " 78\n" - + " -127\n" - + " \n" - + "", dataTest); - final TestArrayNodeShortNativeStructured root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeShortNativeStructured.class, ExmlTestIntrospectionShort.NODE_NAME)); Assertions.assertEquals(5, root.values.length); - Assertions.assertEquals((short)12, root.values[0]); - Assertions.assertEquals((short)-13, root.values[1]); - Assertions.assertEquals((short)33, root.values[2]); - Assertions.assertEquals((short)78, root.values[3]); - Assertions.assertEquals((short)-127, root.values[4]); + Assertions.assertEquals((short) 12, root.values[0]); + Assertions.assertEquals((short) -13, root.values[1]); + Assertions.assertEquals((short) 33, root.values[2]); + Assertions.assertEquals((short) 78, root.values[3]); + Assertions.assertEquals((short) -127, root.values[4]); + } + + @Test + public void testModelArrayNodeShortFunc() { + final TestArrayNodeShortFunc elem = new TestArrayNodeShortFunc(); + elem.setValues(new short[] { 12, -13, 33, 78, -127 }); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionShort.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + 12 + -13 + 33 + 78 + -127 + """, dataTest); + + final TestArrayNodeShortFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeShortFunc.class, ExmlTestIntrospectionShort.NODE_NAME)); + Assertions.assertEquals(5, root.getValues().length); + Assertions.assertEquals((short) 12, root.getValues()[0]); + Assertions.assertEquals((short) -13, root.getValues()[1]); + Assertions.assertEquals((short) 33, root.getValues()[2]); + Assertions.assertEquals((short) 78, root.getValues()[3]); + Assertions.assertEquals((short) -127, root.getValues()[4]); + } + + @Test + public void testModelArrayNodeshortNative() { + final TestArrayNodeShortNative elem = new TestArrayNodeShortNative(); + elem.values = new short[] { 12, -13, 33, 78, -127 }; + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionShort.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + 12 + -13 + 33 + 78 + -127 + """, dataTest); + + final TestArrayNodeShortNative root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayNodeShortNative.class, ExmlTestIntrospectionShort.NODE_NAME)); + Assertions.assertEquals(5, root.values.length); + Assertions.assertEquals((short) 12, root.values[0]); + Assertions.assertEquals((short) -13, root.values[1]); + Assertions.assertEquals((short) 33, root.values[2]); + Assertions.assertEquals((short) 78, root.values[3]); + Assertions.assertEquals((short) -127, root.values[4]); + } + + @Test + public void testModelArrayShortFunc() { + final TestArrayShortFunc elem = new TestArrayShortFunc(); + elem.setValues(new short[] { 12, -13, 33, 78, -127 }); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionShort.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals("", dataTest); + + final TestArrayShortFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayShortFunc.class, ExmlTestIntrospectionShort.NODE_NAME)); + Assertions.assertEquals(5, root.getValues().length); + Assertions.assertEquals((short) 12, root.getValues()[0]); + Assertions.assertEquals((short) -13, root.getValues()[1]); + Assertions.assertEquals((short) 33, root.getValues()[2]); + Assertions.assertEquals((short) 78, root.getValues()[3]); + Assertions.assertEquals((short) -127, root.getValues()[4]); + } + + @Test + public void testModelArrayShortNative() { + final TestArrayShortNative elem = new TestArrayShortNative(); + elem.values = new short[] { 12, -13, 33, 78, -127 }; + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionShort.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals("", dataTest); + + final TestArrayShortNative root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestArrayShortNative.class, ExmlTestIntrospectionShort.NODE_NAME)); + Assertions.assertEquals(5, root.values.length); + Assertions.assertEquals((short) 12, root.values[0]); + Assertions.assertEquals((short) -13, root.values[1]); + Assertions.assertEquals((short) 33, root.values[2]); + Assertions.assertEquals((short) 78, root.values[3]); + Assertions.assertEquals((short) -127, root.values[4]); + } + + @Test + public void testModelNodeShortFunc() { + final TestNodeshortFunc elem = new TestNodeshortFunc(); + elem.setValueA((short) 54); + elem.setValueB((short) -68); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionShort.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + 54 + -68 + """, dataTest); + + final TestNodeshortFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeshortFunc.class, ExmlTestIntrospectionShort.NODE_NAME)); + Assertions.assertEquals((short) 54, root.getValueA()); + Assertions.assertEquals((short) -68, root.getValueB()); + } + + @Test + public void testModelNodeShortNative() { + final TestNodeShortNative elem = new TestNodeShortNative(); + elem.valueA = (short) 11; + elem.valueB = (short) -120; + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionShort.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals(""" + + 11 + -120 + """, dataTest); + + final TestNodeShortNative root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestNodeShortNative.class, ExmlTestIntrospectionShort.NODE_NAME)); + Assertions.assertEquals((short) 11, root.valueA); + Assertions.assertEquals((short) -120, root.valueB); + } + + @Test + public void testModelShortFunc() { + final TestshortFunc elem = new TestshortFunc(); + elem.setValueA((short) -55); + elem.setValueB((short) 57); + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionShort.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals("", dataTest); + + final TestshortFunc root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestshortFunc.class, ExmlTestIntrospectionShort.NODE_NAME)); + Assertions.assertEquals((short) -55, root.getValueA()); + Assertions.assertEquals((short) 57, root.getValueB()); + } + + @Test + public void testModelShortNative() { + final TestShortNative elem = new TestShortNative(); + elem.valueA = (short) 12; + elem.valueB = (short) -13; + + final StringBuilder builder = new StringBuilder(); + Assertions.assertDoesNotThrow(() -> Exml.generate(elem, ExmlTestIntrospectionShort.NODE_NAME, builder)); + final String dataTest = builder.toString(); + Log.warning("data generated: " + builder.toString()); + Assertions.assertEquals("", dataTest); + + final TestShortNative root = Assertions.assertDoesNotThrow(() -> Exml.parseOne(dataTest, TestShortNative.class, ExmlTestIntrospectionShort.NODE_NAME)); + Assertions.assertEquals((short) 12, root.valueA); + Assertions.assertEquals((short) -13, root.valueB); } } - diff --git a/test/src/test/atriasoft/exml/introspection/ClassInversion.java b/test/src/test/atriasoft/exml/introspection/ClassInversion.java index 908b9bf..fe0cd28 100644 --- a/test/src/test/atriasoft/exml/introspection/ClassInversion.java +++ b/test/src/test/atriasoft/exml/introspection/ClassInversion.java @@ -1,9 +1,8 @@ package test.atriasoft.exml.introspection; -import org.atriasoft.exml.annotation.XmlDefaultManaged; +import org.atriasoft.aknot.annotation.AknotDefaultManaged; -@XmlDefaultManaged(value = false) +@AknotDefaultManaged(value = false) public class ClassInversion { } - diff --git a/test/src/test/atriasoft/exml/introspection/ClassPublicMemberOnly.java b/test/src/test/atriasoft/exml/introspection/ClassPublicMemberOnly.java index ac92924..76a4c88 100644 --- a/test/src/test/atriasoft/exml/introspection/ClassPublicMemberOnly.java +++ b/test/src/test/atriasoft/exml/introspection/ClassPublicMemberOnly.java @@ -1,8 +1,8 @@ package test.atriasoft.exml.introspection; -import org.atriasoft.exml.annotation.XmlDefaultAttibute; +import org.atriasoft.aknot.annotation.AknotDefaultAttribute; -@XmlDefaultAttibute +@AknotDefaultAttribute public class ClassPublicMemberOnly { public boolean[] memberArrayBoolean; public Boolean[] memberArrayBooleanClass; @@ -16,7 +16,7 @@ public class ClassPublicMemberOnly { public Short[] memberArrayShortClass; public boolean memberBoolean; public Boolean memberBooleanClass; - //this work !!! @XmlName(value = "jhkjhhkj") + //this work !!! @AKName(value = "jhkjhhkj") public byte memberByte; public Byte memberByteClass; public int memberInteger; diff --git a/test/src/test/atriasoft/exml/introspection/ClassPublicMethodOnly.java b/test/src/test/atriasoft/exml/introspection/ClassPublicMethodOnly.java index 8d1ad46..9a01727 100644 --- a/test/src/test/atriasoft/exml/introspection/ClassPublicMethodOnly.java +++ b/test/src/test/atriasoft/exml/introspection/ClassPublicMethodOnly.java @@ -1,8 +1,8 @@ package test.atriasoft.exml.introspection; -import org.atriasoft.exml.annotation.XmlDefaultAttibute; +import org.atriasoft.aknot.annotation.AknotDefaultAttribute; -@XmlDefaultAttibute +@AknotDefaultAttribute public class ClassPublicMethodOnly { private boolean[] memberArrayBoolean; private Boolean[] memberArrayBooleanClass; diff --git a/test/src/test/atriasoft/exml/introspection/ClassPublicMethodeNode.java b/test/src/test/atriasoft/exml/introspection/ClassPublicMethodeNode.java index 27fc70e..a869eb9 100644 --- a/test/src/test/atriasoft/exml/introspection/ClassPublicMethodeNode.java +++ b/test/src/test/atriasoft/exml/introspection/ClassPublicMethodeNode.java @@ -2,11 +2,11 @@ package test.atriasoft.exml.introspection; import java.util.List; -import org.atriasoft.exml.annotation.XmlDefaultManaged; +import org.atriasoft.aknot.annotation.AknotDefaultManaged; -@XmlDefaultManaged(value = false) +@AknotDefaultManaged(value = false) public class ClassPublicMethodeNode { - + private boolean[] memberArrayBoolean; private Boolean[] memberArrayBooleanClass; private byte[] memberArrayByte; @@ -34,50 +34,6 @@ public class ClassPublicMethodeNode { private Short memberShortClass; private String memberStringClass; - public List getMemberListBooleanClass() { - return memberListBooleanClass; - } - - public void setMemberListBooleanClass(List memberListBooleanClass) { - this.memberListBooleanClass = memberListBooleanClass; - } - - public List getMemberListByteClass() { - return memberListByteClass; - } - - public void setMemberListByteClass(List memberListByteClass) { - this.memberListByteClass = memberListByteClass; - } - - public List getMemberListIntegerClass() { - return memberListIntegerClass; - } - - public void setMemberListIntegerClass(List memberListIntegerClass) { - this.memberListIntegerClass = memberListIntegerClass; - } - - public List getMemberListLongClass() { - return memberListLongClass; - } - - public void setMemberListLongClass(List memberListLongClass) { - this.memberListLongClass = memberListLongClass; - } - - public List getMemberListShortClass() { - return memberListShortClass; - } - - public void setMemberListShortClass(List memberListShortClass) { - this.memberListShortClass = memberListShortClass; - } - - public Boolean getMemberBooleanClass() { - return memberBooleanClass; - } - public boolean[] getMemberArrayBoolean() { return this.memberArrayBoolean; } @@ -118,6 +74,10 @@ public class ClassPublicMethodeNode { return this.memberArrayShortClass; } + public Boolean getMemberBooleanClass() { + return this.memberBooleanClass; + } + public byte getMemberByte() { return this.memberByte; } @@ -134,6 +94,26 @@ public class ClassPublicMethodeNode { return this.memberIntegerClass; } + public List getMemberListBooleanClass() { + return this.memberListBooleanClass; + } + + public List getMemberListByteClass() { + return this.memberListByteClass; + } + + public List getMemberListIntegerClass() { + return this.memberListIntegerClass; + } + + public List getMemberListLongClass() { + return this.memberListLongClass; + } + + public List getMemberListShortClass() { + return this.memberListShortClass; + } + public long getMemberLong() { return this.memberLong; } @@ -226,6 +206,26 @@ public class ClassPublicMethodeNode { this.memberIntegerClass = memberIntegerClass; } + public void setMemberListBooleanClass(final List memberListBooleanClass) { + this.memberListBooleanClass = memberListBooleanClass; + } + + public void setMemberListByteClass(final List memberListByteClass) { + this.memberListByteClass = memberListByteClass; + } + + public void setMemberListIntegerClass(final List memberListIntegerClass) { + this.memberListIntegerClass = memberListIntegerClass; + } + + public void setMemberListLongClass(final List memberListLongClass) { + this.memberListLongClass = memberListLongClass; + } + + public void setMemberListShortClass(final List memberListShortClass) { + this.memberListShortClass = memberListShortClass; + } + public void setMemberLong(final long memberLong) { this.memberLong = memberLong; } @@ -246,4 +246,3 @@ public class ClassPublicMethodeNode { this.memberStringClass = memberStringClass; } } - diff --git a/test/src/test/atriasoft/exml/introspection/ClassPublicMethodeStructured.java b/test/src/test/atriasoft/exml/introspection/ClassPublicMethodeStructured.java index 7ba5f64..9f39211 100644 --- a/test/src/test/atriasoft/exml/introspection/ClassPublicMethodeStructured.java +++ b/test/src/test/atriasoft/exml/introspection/ClassPublicMethodeStructured.java @@ -2,29 +2,31 @@ package test.atriasoft.exml.introspection; import java.util.List; -import org.atriasoft.exml.annotation.XmlDefaultManaged; -import org.atriasoft.exml.annotation.XmlList; +import org.atriasoft.aknot.annotation.AknotDefaultManaged; +import org.atriasoft.aknot.annotation.AknotList; -@XmlDefaultManaged(value = false) +@AknotDefaultManaged(value = false) public class ClassPublicMethodeStructured { - // note: when private the decorator must be set on getter or setter, liker this you can use the internal name you want... + // note: when private the decorator must be set on getter or setter, liker this you can use the internal name you want... private byte[] memberArrayByte; private List memberListByte; - - @XmlList(value="value") + + @AknotList(value = "value") public byte[] getMemberArrayByte() { return this.memberArrayByte; } - public void setMemberArrayByte(final byte[] memberArrayByte) { - this.memberArrayByte = memberArrayByte; - } - @XmlList(value="elem") + + @AknotList(value = "elem") public List getMemberListByte() { return this.memberListByte; } + + public void setMemberArrayByte(final byte[] memberArrayByte) { + this.memberArrayByte = memberArrayByte; + } + public void setMemberListByte(final List memberListByte) { this.memberListByte = memberListByte; } } -