@Test
public void testToString() {

  assertToString(Tags.builder(), "{}");
  assertToString(Tags.builder().addTag("foo").addTag("bar"), "{bar=[], foo=[]}");
  assertToString(Tags.builder().addTag("foo", "value"), "{foo=[value]}");
  assertToString(Tags.builder().addTag("foo", ""), "{foo=[]}");
  // Mixed types will be rare but should be sorted stably in the same order as the tag type enum:
  // boolean < string < integer < double
  assertToString(
      Tags.builder()
          .addTag("foo", "bar")
          .addTag("foo", true)
          .addTag("foo", 12.3)
          .addTag("foo", 42),
      "{foo=[true, bar, 42, 12.3]}");
}