// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.prelude.hitfield;
import com.yahoo.data.access.simple.Value;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.assertEquals;
public class XmlRendererTestCase {
@Test
void testWeightedSet1() {
Value.ArrayValue top = new Value.ArrayValue();
top
.add(new Value.ArrayValue()
.add(new Value.StringValue("per"))
.add(new Value.LongValue(10)))
.add(new Value.ArrayValue()
.add(new Value.StringValue("paal"))
.add(new Value.LongValue(20)))
.add(new Value.ArrayValue()
.add(new Value.StringValue("espen"))
.add(new Value.LongValue(30)));
String rendered = XmlRenderer.render(new StringBuilder(), top).toString();
String correct = "\n"
+ " - per
\n"
+ " - paal
\n"
+ " - espen
\n"
+ " ";
assertEquals(correct, rendered);
}
@Test
void testWeightedSet2() {
Value.ObjectValue top = new Value.ObjectValue();
top
.put("foo", new Value.ArrayValue()
.add(new Value.ArrayValue()
.add(new Value.StringValue("per"))
.add(new Value.LongValue(10)))
.add(new Value.ArrayValue()
.add(new Value.StringValue("paal"))
.add(new Value.LongValue(20)))
.add(new Value.ArrayValue()
.add(new Value.StringValue("espen"))
.add(new Value.LongValue(30))))
.put("bar", new Value.ArrayValue()
.add(new Value.ObjectValue()
.put("item", new Value.StringValue("per"))
.put("weight", new Value.LongValue(10)))
.add(new Value.ObjectValue()
.put("item", new Value.StringValue("paal"))
.put("weight", new Value.LongValue(20)))
.add(new Value.ObjectValue()
.put("weight", new Value.LongValue(30))
.put("item", new Value.StringValue("espen"))));
String rendered = XmlRenderer.render(new StringBuilder(), top).toString();
String correct = "\n"
+ " \n"
+ " - per
\n"
+ " - paal
\n"
+ " - espen
\n"
+ " \n"
+ " \n"
+ " - per
\n"
+ " - paal
\n"
+ " - espen
\n"
+ " \n"
+ " ";
assertEquals(correct, rendered);
}
}