private static void ValidateBodyContent(DataServiceContext ctx, string expectedContent, SaveChangesOptions options = SaveChangesOptions.None)
        {
            var sr = new TestBaseSaveResult(ctx, "SaveChanges", options, null, null);
            var s  = sr.GetChangeStream().FirstOrDefault();

            s.Seek(0, SeekOrigin.Begin);
            StreamReader r      = new StreamReader(s);
            String       actual = r.ReadToEnd();

            actual.Should().Be(expectedContent);
        }
        private static void ClientSerializeGeographyTest_ValidateUpdate(DataServiceContext ctx)
        {
            ctx.EnableAtom = true;
            var sr = new TestBaseSaveResult(ctx, "SaveChanges", SaveChangesOptions.None, null, null);
            var s  = sr.GetChangeStream().FirstOrDefault();

            s.Seek(0, SeekOrigin.Begin);
            StreamReader r      = new StreamReader(s);
            String       actual = r.ReadToEnd();

            // namespace declared with entry
            actual.Should().Contain("<entry xmlns=\"http://www.w3.org/2005/Atom\" xmlns:d=\"http://docs.oasis-open.org/odata/ns/data\" xmlns:m=\"http://docs.oasis-open.org/odata/ns/metadata\" xmlns:georss=\"http://www.georss.org/georss\" xmlns:gml=\"http://www.opengis.net/gml\">");

            // namespace not repeated for properties
            actual.Should().Contain("<d:Prop1 m:type=\"GeographyPoint\"><gml:Point gml:srsName=\"http://www.opengis.net/def/crs/EPSG/0/4326\"><gml:pos>42.123 -121.321</gml:pos></gml:Point></d:Prop1>");
        }
        private static void ClientSerializeGeographyTest_Validate(DataServiceContext ctx)
        {
            ctx.EnableAtom = true;
            var sr = new TestBaseSaveResult(ctx, "SaveChanges", SaveChangesOptions.None, null, null);
            var s = sr.GetChangeStream().FirstOrDefault();

            s.Seek(0, SeekOrigin.Begin);
            StreamReader r = new StreamReader(s);
            String actual = r.ReadToEnd();

            // namespace declared with entry
            actual.Should().Contain("<entry xmlns=\"http://www.w3.org/2005/Atom\" xmlns:d=\"http://docs.oasis-open.org/odata/ns/data\" xmlns:m=\"http://docs.oasis-open.org/odata/ns/metadata\" xmlns:georss=\"http://www.georss.org/georss\" xmlns:gml=\"http://www.opengis.net/gml\">");

            // namespace not repeated for properties
            actual.Should().Contain("<d:PropBase m:type=\"GeographyPoint\"><gml:Point gml:srsName=\"http://www.opengis.net/def/crs/EPSG/0/4326\"><gml:pos>55.8 -126.543</gml:pos></gml:Point></d:PropBase>");
            actual.Should().Contain("<d:Prop1 m:type=\"GeographyPoint\"><gml:Point gml:srsName=\"http://www.opengis.net/def/crs/EPSG/0/4326\"><gml:pos>42.123 -121.321</gml:pos></gml:Point></d:Prop1>");
            actual.Should().Contain("<d:Prop2 m:type=\"GeographyLineString\"><gml:LineString gml:srsName=\"http://www.opengis.net/def/crs/EPSG/0/4326\"><gml:pos>42.321 -121.123</gml:pos><gml:pos>42.111 -121.222</gml:pos></gml:LineString></d:Prop2>");
        }