diff --git a/src/main/java/org/metricshub/wmi/WmiStringConverter.java b/src/main/java/org/metricshub/wmi/WmiStringConverter.java index 34e072d..8c033fb 100644 --- a/src/main/java/org/metricshub/wmi/WmiStringConverter.java +++ b/src/main/java/org/metricshub/wmi/WmiStringConverter.java @@ -78,7 +78,8 @@ public WmiStringConverter() { * Convert the specified value/object to a string: *
a|b, a for a single item, an empty string for an empty array)
* String.valueOf()
@@ -96,7 +97,7 @@ public String convert(Object value) {
.of((Object[]) value)
.map(this::convert)
.map(item -> item.replace(arraySeparator, Utils.EMPTY))
- .collect(Collectors.joining(arraySeparator, Utils.EMPTY, arraySeparator));
+ .collect(Collectors.joining(arraySeparator));
}
if (value instanceof String) {
diff --git a/src/test/java/org/metricshub/wmi/WmiStringConverterTest.java b/src/test/java/org/metricshub/wmi/WmiStringConverterTest.java
new file mode 100644
index 0000000..fbd986a
--- /dev/null
+++ b/src/test/java/org/metricshub/wmi/WmiStringConverterTest.java
@@ -0,0 +1,20 @@
+package org.metricshub.wmi;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+
+import org.junit.jupiter.api.Test;
+
+class WmiStringConverterTest {
+
+ @Test
+ void testConvertArray() {
+ final WmiStringConverter converter = new WmiStringConverter();
+ assertEquals("192.0.2.10|fe80::1", converter.convert(new String[] { "192.0.2.10", "fe80::1" }));
+ assertEquals("fr-FR", converter.convert(new String[] { "fr-FR" }));
+ assertEquals("", converter.convert(new String[0]));
+ assertEquals("", converter.convert(null));
+ assertEquals("ab|c", converter.convert(new String[] { "a|b", "c" }));
+ assertEquals("2|True", converter.convert(new Object[] { 2, Boolean.TRUE }));
+ assertEquals("a, b", new WmiStringConverter(", ", true).convert(new String[] { "a", "b" }));
+ }
+}