aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/ext_depends/D-YAML/source/dyaml/test/compare.d
diff options
context:
space:
mode:
Diffstat (limited to 'src/ext_depends/D-YAML/source/dyaml/test/compare.d')
-rw-r--r--src/ext_depends/D-YAML/source/dyaml/test/compare.d51
1 files changed, 51 insertions, 0 deletions
diff --git a/src/ext_depends/D-YAML/source/dyaml/test/compare.d b/src/ext_depends/D-YAML/source/dyaml/test/compare.d
new file mode 100644
index 0000000..5a37fd0
--- /dev/null
+++ b/src/ext_depends/D-YAML/source/dyaml/test/compare.d
@@ -0,0 +1,51 @@
+
+// Copyright Ferdinand Majerech 2011.
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+
+module dyaml.test.compare;
+
+@safe unittest
+{
+ import dyaml : Loader;
+ import dyaml.test.common : assertNodesEqual, compareEvents, run;
+
+ /**
+ Test parser by comparing output from parsing two equivalent YAML files.
+
+ Params:
+ dataFilename = YAML file to parse.
+ canonicalFilename = Another file to parse, in canonical YAML format.
+ */
+ static void testParser(string dataFilename, string canonicalFilename) @safe
+ {
+ auto dataEvents = Loader.fromFile(dataFilename).parse();
+ auto canonicalEvents = Loader.fromFile(canonicalFilename).parse();
+
+ //BUG: the return value isn't checked! This test currently fails...
+ compareEvents(dataEvents, canonicalEvents);
+ }
+
+ /**
+ Test loader by comparing output from loading two equivalent YAML files.
+
+ Params:
+ dataFilename = YAML file to load.
+ canonicalFilename = Another file to load, in canonical YAML format.
+ */
+ static void testLoader(string dataFilename, string canonicalFilename) @safe
+ {
+ import std.array : array;
+ auto data = Loader.fromFile(dataFilename).array;
+ auto canonical = Loader.fromFile(canonicalFilename).array;
+
+ assert(data.length == canonical.length, "Unequal node count");
+ foreach (n; 0 .. data.length)
+ {
+ assertNodesEqual(data[n], canonical[n]);
+ }
+ }
+ run(&testParser, ["data", "canonical"]);
+ run(&testLoader, ["data", "canonical"], ["test_loader_skip"]);
+}