# This is the testrecu module. It contains code that tests the output and input of
# YAML with recursive structures.

import yaml;

# We start with sequences.

RecSeq1 = [];
RecSeq1.append(RecSeq1);
print RecSeq1;

RecSeq2 = [];
RecSeq2.append(u"a");
RecSeq2.append(RecSeq2);
RecSeq2.append(u"b");
print RecSeq2;

RecSeq3 = [];
RecSeq3a = [];
RecSeq3.append(RecSeq3a);
RecSeq3a.append(RecSeq3);
print RecSeq3;

RecSeq4 = [];
RecSeq4a = [];
RecSeq4.append(RecSeq4a);
RecSeq4a.append(u"a");
RecSeq4a.append(RecSeq4);
RecSeq4a.append(u"b");
print RecSeq4;

RecMap1 = {};
RecMap1["a"]= RecMap1;
print RecMap1;

RecMap2 = {};
RecMap2["a"] = u"d";
RecMap2["b"] = RecMap1;
RecMap2["c"] = u"e";
print RecSeq2;

RecMap3 = {};
RecMap3a = {};
RecMap3["a"] = RecMap3a;
RecMap3a["b"] = RecMap3;
print RecSeq3;

RecMap4 = {};
RecMap4a = {};
RecMap4["a"] = RecMap4a;
RecMap4a["b"] = u"c";
RecMap4a["d"] = RecMap4;
RecMap4a["e"] = u"f";
print RecSeq4;





print "YAML" 
print yaml.dump(RecSeq1);
print yaml.dump(RecSeq2);
print yaml.dump(RecSeq3);
print yaml.dump(RecSeq4);

print yaml.dump(RecMap1);
print yaml.dump(RecMap2);
print yaml.dump(RecMap3);
print yaml.dump(RecMap4);
