// 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); } }