public void should_write_a_poco()
        {
            var parentFormat = new DocumentFormat("parent");

            var o = new Parent();

            o.AddChild("one");
            o.AddChild("于百");

            var id = _fs.Save(parentFormat, o);

            Assert.AreEqual(new BlobId(parentFormat, 1), id);

            var descriptor = _fs.GetDescriptor(id);

            Assert.AreEqual(
                new FileNameWithExtension("Parent.json"),
                descriptor.FileNameWithExtension
                );

            using (var stream = descriptor.OpenRead())
                using (var reader = new StreamReader(stream))
                {
                    var asString = reader.ReadToEnd();
                    Assert.AreEqual("{\"Format\":null,\"Childs\":[{\"Value\":\"one\"},{\"Value\":\"于百\"}]}", asString);

                    stream.Seek(0, SeekOrigin.Begin);
                    Assert.AreEqual(0xEF, stream.ReadByte(), "Missing UTF-8 BOM");
                    Assert.AreEqual(0xBB, stream.ReadByte(), "Missing UTF-8 BOM");
                    Assert.AreEqual(0xBF, stream.ReadByte(), "Missing UTF-8 BOM");
                }
        }