diff --git a/src/test/java/org/yaml/snakeyaml/recursive/HumanTest.java b/src/test/java/org/yaml/snakeyaml/recursive/HumanTest.java
index 41da10c..bf00892 100644
--- a/src/test/java/org/yaml/snakeyaml/recursive/HumanTest.java
+++ b/src/test/java/org/yaml/snakeyaml/recursive/HumanTest.java
@@ -37,7 +37,6 @@
 import org.yaml.snakeyaml.Util;
 import org.yaml.snakeyaml.Yaml;
 import org.yaml.snakeyaml.constructor.Constructor;
-import org.yaml.snakeyaml.nodes.Tag;
 
 public class HumanTest extends TestCase {
 
@@ -628,11 +627,7 @@
         father.setChildren(children);
         mother.setChildren(children);
         //
-        DumperOptions options = new DumperOptions();
-        options.setDefaultFlowStyle(FlowStyle.FLOW);
-        options.setPrettyFlow(true);
-        options.setExplicitRoot(Tag.MAP);
-        Yaml beanDumper = new Yaml(options);
+        JavaBeanDumper beanDumper = new JavaBeanDumper();
         String output = beanDumper.dump(son);
         // System.out.println(output);
         String etalon = Util.getLocalResource("recursive/with-children-no-root-tag.yaml");
diff --git a/src/test/resources/recursive/with-children-no-root-tag.yaml b/src/test/resources/recursive/with-children-no-root-tag.yaml
index a18509e..fe73289 100644
--- a/src/test/resources/recursive/with-children-no-root-tag.yaml
+++ b/src/test/resources/recursive/with-children-no-root-tag.yaml
@@ -1,43 +1,35 @@
-&id002 {
-  bankAccountOwner: &id001 {
-    bankAccountOwner: *id001,
-    birthPlace: Leningrad,
-    birthday: !!timestamp '1970-01-12T13:46:40Z',
-    children: &id003 !!set {
-      *id002: null,
-      ? {
-        bankAccountOwner: *id001,
-        birthPlace: New York,
-        birthday: !!timestamp '1983-04-24T02:40:00Z',
-        children: !!set {
-          },
-        father: *id001,
-        mother: &id004 {
-          bankAccountOwner: *id001,
-          birthPlace: Saint-Petersburg,
-          birthday: !!timestamp '1973-03-03T09:46:40Z',
-          children: *id003,
-          father: null,
-          mother: null,
-          name: Mother,
-          partner: *id001
-        },
-        name: Daughter,
-        partner: null
-      }
-      : null
-    },
-    father: null,
-    mother: null,
-    name: Father,
-    partner: *id004
-  },
-  birthPlace: Munich,
-  birthday: !!timestamp '1979-10-28T23:06:40Z',
-  children: !!set {
-    },
-  father: *id001,
-  mother: *id004,
-  name: Son,
-  partner: null
-}
+&id002
+bankAccountOwner: &id001
+  bankAccountOwner: *id001
+  birthPlace: Leningrad
+  birthday: 1970-01-12T13:46:40Z
+  children: &id003 !!set
+    *id002: null
+    ? bankAccountOwner: *id001
+      birthPlace: New York
+      birthday: 1983-04-24T02:40:00Z
+      children: !!set {}
+      father: *id001
+      mother: &id004
+        bankAccountOwner: *id001
+        birthPlace: Saint-Petersburg
+        birthday: 1973-03-03T09:46:40Z
+        children: *id003
+        father: null
+        mother: null
+        name: Mother
+        partner: *id001
+      name: Daughter
+      partner: null
+    : null
+  father: null
+  mother: null
+  name: Father
+  partner: *id004
+birthPlace: Munich
+birthday: 1979-10-28T23:06:40Z
+children: !!set {}
+father: *id001
+mother: *id004
+name: Son
+partner: null
\ No newline at end of file
