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("""
+
+