public void DefaultEqualityTests() { // no impl for GeographyCurve DefaultEqualityTest<GeographyFullGlobe>(() => TestData.FullGlobe()); DefaultEqualityTest(() => GeographyFactory.Collection().Point(-19.99, -12.0).Build()); DefaultEqualityTest(() => GeographyFactory.LineString(33.1, -110.0).LineTo(35.97, -110).Build()); DefaultEqualityTest(() => GeographyFactory.MultiLineString().LineString(10.2, 11.2).LineTo(11.9, 11.6).LineString(16.2, 17.2).LineTo(18.9, 19.6).Build()); DefaultEqualityTest(() => GeographyFactory.MultiPoint().Point(10.2, 11.2).Point(11.9, 11.6).Build()); DefaultEqualityTest(() => GeographyFactory.MultiPolygon().Polygon().Ring(10.2, 11.2).LineTo(11.9, 11.6).LineTo(11.45, 87.75).Ring(16.2, 17.2).LineTo(18.9, 19.6).LineTo(11.45, 87.75).Build()); DefaultEqualityTest(() => GeographyFactory.Point(32.0, -100.0).Build()); DefaultEqualityTest(() => GeographyFactory.Polygon().Ring(33.1, -110.0).LineTo(35.97, -110.15).LineTo(11.45, 87.75).Ring(35.97, -110).LineTo(36.97, -110.15).LineTo(45.23, 23.18).Build()); // no impl for GeographySurface GeographyEqualityTestIncludingBaseObviousStuff(() => GeographyFactory.Point(32.0, -100.0).Build(), () => GeographyFactory.Point().Build()); // no impl for GeometryCurve DefaultEqualityTest(() => GeometryFactory.Collection().Point(-19.99, -12.0).Build()); DefaultEqualityTest(() => GeometryFactory.LineString(33.1, -11.5).LineTo(35.97, -11).Build()); DefaultEqualityTest(() => GeometryFactory.MultiLineString().LineString(10.2, 11.2).LineTo(11.9, 11.6).LineString(16.2, 17.2).LineTo(18.9, 19.6).Build()); DefaultEqualityTest(() => GeometryFactory.MultiPoint().Point(10.2, 11.2).Point(11.9, 11.6).Build()); DefaultEqualityTest(() => GeometryFactory.MultiPolygon().Polygon().Ring(10.2, 11.2).LineTo(11.9, 11.6).LineTo(11.45, 87.75).Ring(16.2, 17.2).LineTo(18.9, 19.6).LineTo(11.45, 87.75).Build()); DefaultEqualityTest(() => GeometryFactory.Point(32.0, -10.0).Build()); DefaultEqualityTest(() => GeometryFactory.Polygon().Ring(33.1, -13.6).LineTo(35.97, -11.15).LineTo(11.45, 87.75).Ring(35.97, -11).LineTo(36.97, -11.15).LineTo(45.23, 23.18).Build()); // no impl GeometrySurface GeometryEqualityTestIncludingBaseObviousStuff(() => GeometryFactory.Point(32.0, -10.0).Build(), () => GeometryFactory.Point().Build()); }
public void BuildCollection() { GeometryCollection c = GeometryFactory.Collection(NonDefaultGeometricCoords) .MultiPoint().Point(5, 5).Point(10, 10) .LineString(0, 0).LineTo(0, 5) .MultiPolygon() .Polygon().Ring(-5, -5).LineTo(0, -5).LineTo(0, -2) .Polygon().Ring(-10, -10).LineTo(-5, -10).LineTo(-5, -7) .Collection() .Point(5, 5); Assert.AreEqual(NonDefaultGeometricCoords, c.CoordinateSystem); c.VerifyAsCollection( (mp) => mp.VerifyAsMultiPoint(new PositionData(5, 5), new PositionData(10, 10)), (ls) => ls.VerifyAsLineString(new PositionData(0, 0), new PositionData(0, 5)), (mp) => mp.VerifyAsMultiPolygon( new PositionData[][] { new PositionData[] { new PositionData(-5, -5), new PositionData(0, -5), new PositionData(0, -2), new PositionData(-5, -5) } }, new PositionData[][] { new PositionData[] { new PositionData(-10, -10), new PositionData(-5, -10), new PositionData(-5, -7), new PositionData(-10, -10) } }), (col) => col.VerifyAsCollection( (p) => p.VerifyAsPoint(new PositionData(5, 5)))); c = GeometryFactory.Collection(); c.VerifyAsCollection(null); }
public void GeometryCollectionRoundtripJsonLightTest() { var values = new GeometryCollection[] { GeometryFactory.Collection().Build(), GeometryFactory.Collection().Point(0, 0).Build() }; this.VerifyPrimitiveValuesRoundtripWithTypeInformation(values, "GeometryCollection"); }
static ODataSpatialTypeUtil() { // Geometry type values. GeometryValue = GeometryFactory.Point(32.0, -10.0).Build(); GeometryPointValue = GeometryFactory.Point(33.1, -11.0).Build(); GeometryLineStringValue = GeometryFactory.LineString(33.1, -11.5).LineTo(35.97, -11).Build(); GeometryPolygonValue = GeometryFactory.Polygon().Ring(33.1, -13.6).LineTo(35.97, -11.15).LineTo(11.45, 87.75).Ring(35.97, -11).LineTo(36.97, -11.15).LineTo(45.23, 23.18).Build(); GeometryCollectionValue = GeometryFactory.Collection().Point(-19.99, -12.0).Build(); GeometryMultiPointValue = GeometryFactory.MultiPoint().Point(10.2, 11.2).Point(11.9, 11.6).Build(); GeometryMultiLineStringValue = GeometryFactory.MultiLineString().LineString(10.2, 11.2).LineTo(11.9, 11.6).LineString(16.2, 17.2).LineTo(18.9, 19.6).Build(); GeometryMultiPolygonValue = GeometryFactory.MultiPolygon().Polygon().Ring(10.2, 11.2).LineTo(11.9, 11.6).LineTo(11.45, 87.75).Ring(16.2, 17.2).LineTo(18.9, 19.6).LineTo(11.45, 87.75).Build(); // Geography type values. GeographyValue = GeographyFactory.Point(32.0, -100.0).Build(); GeographyPointValue = GeographyFactory.Point(33.1, -110.0).Build(); GeographyLineStringValue = GeographyFactory.LineString(33.1, -110.0).LineTo(35.97, -110).Build(); GeographyPolygonValue = GeographyFactory.Polygon().Ring(33.1, -110.0).LineTo(35.97, -110.15).LineTo(11.45, 87.75).Ring(35.97, -110).LineTo(36.97, -110.15).LineTo(45.23, 23.18).Build(); GeographyCollectionValue = GeographyFactory.Collection().Point(-19.99, -12.0).Build(); GeographyMultiPointValue = GeographyFactory.MultiPoint().Point(10.2, 11.2).Point(11.9, 11.6).Build(); GeographyMultiLineStringValue = GeographyFactory.MultiLineString().LineString(10.2, 11.2).LineTo(11.9, 11.6).LineString(16.2, 17.2).LineTo(18.9, 19.6).Build(); GeographyMultiPolygonValue = GeographyFactory.MultiPolygon().Polygon().Ring(10.2, 11.2).LineTo(11.9, 11.6).LineTo(11.45, 87.75).Ring(16.2, 17.2).LineTo(18.9, 19.6).LineTo(11.45, 87.75).Build(); }
public void CollectionRoundTrip_Geometry() { this.RoundTripTest( EmptyGeometry(SpatialType.Collection), GeometryFactory.Collection(nonDefaultGeometry) .Point(10, 10) .LineString(10, 10).LineTo(30, 30).LineTo(20, 20) .Polygon().Ring(10, 10, 10, 10).LineTo(20, 20, 20, 20).LineTo(30, 30, 30, 30) .Ring(-10, -10, 100, 100).LineTo(-20, -20, 200, 200).LineTo(-30, -30, 300, 300) .Collection() .Polygon().Ring(-10, -10).LineTo(-20, -20, -20, null).LineTo(-30, -30, -30, -30) .LineString(10, 10).LineTo(20, 20, 20, null) .Collection(), GeometryFactory.Collection() .Point(10, 10) .LineString(10, 10).LineTo(30, 30).LineTo(20, 20) .Polygon().Ring(10, 10, 10, 10).LineTo(20, 20, 20, 20).LineTo(30, 30, 30, 30) .Ring(-10, -10, 100, 100).LineTo(-20, -20, 200, 200).LineTo(-30, -30, 300, 300) .Collection() .Polygon().Ring(-10, -10).LineTo(-20, -20, -20, null).LineTo(-30, -30, -30, -30) .LineString(10, 10).LineTo(20, 20, 20, null) .Collection()); }
public void ConvertToUriLiteralPrimitiveVersionedTypesTest() { List <ConvertToUriLiteralTestCase> spatialTestCases = new List <ConvertToUriLiteralTestCase>(); List <ConvertToUriLiteralTestCase> otherTestCases = new List <ConvertToUriLiteralTestCase>(); List <ConvertToUriLiteralTestCase> testCases = new List <ConvertToUriLiteralTestCase>(); #region Other Primitive otherTestCases.Add( new ConvertToUriLiteralTestCase() { Parameter = new DateTimeOffset(), ExpectedValue = "0001-01-01T00:00:00Z", }); otherTestCases.Add( new ConvertToUriLiteralTestCase() { Parameter = new DateTimeOffset(new DateTime(2011, 2, 4), new TimeSpan(-8, 0, 0)), ExpectedValue = "2011-02-04T00:00:00-08:00", }); otherTestCases.Add( new ConvertToUriLiteralTestCase() { Parameter = new TimeSpan(), ExpectedValue = "duration'PT0S'", }); otherTestCases.Add( new ConvertToUriLiteralTestCase() { Parameter = new TimeSpan(2, 12, 4, 5, 55), ExpectedValue = "duration'P2DT12H4M5.055S'", }); #endregion #region Spatial Primitives spatialTestCases.Add( new ConvertToUriLiteralTestCase() { Parameter = GeographyFactory.Point(32.5, -100.3).Build(), ExpectedValue = "geography'SRID=4326;POINT (-100.3 32.5)'", }); spatialTestCases.Add( new ConvertToUriLiteralTestCase() { Parameter = GeometryFactory.Point().Build(), ExpectedValue = "geometry'SRID=0;POINT EMPTY'", }); spatialTestCases.Add( new ConvertToUriLiteralTestCase() { Parameter = GeographyFactory.LineString(1.5, 1.6).LineTo(2.1, 2.5).Build(), ExpectedValue = "geography'SRID=4326;LINESTRING (1.6 1.5, 2.5 2.1)'", }); spatialTestCases.Add( new ConvertToUriLiteralTestCase() { Parameter = GeometryFactory.LineString().Build(), ExpectedValue = "geometry'SRID=0;LINESTRING EMPTY'", }); spatialTestCases.Add( new ConvertToUriLiteralTestCase() { Parameter = GeographyFactory.Polygon().Ring(33.1, -110.0).LineTo(35.97, -110.15).LineTo(11.45, 87.75).Ring(35.97, -110).LineTo(36.97, -110.15).LineTo(45.23, 23.18).Build(), ExpectedValue = "geography'SRID=4326;POLYGON ((-110 33.1, -110.15 35.97, 87.75 11.45, -110 33.1), (-110 35.97, -110.15 36.97, 23.18 45.23, -110 35.97))'", }); spatialTestCases.Add( new ConvertToUriLiteralTestCase() { Parameter = GeometryFactory.Polygon().Build(), ExpectedValue = "geometry'SRID=0;POLYGON EMPTY'", }); spatialTestCases.Add( new ConvertToUriLiteralTestCase() { Parameter = GeometryFactory.Collection().Point(-19.99, -12.0).Build(), ExpectedValue = "geometry'SRID=0;GEOMETRYCOLLECTION (POINT (-19.99 -12))'", }); spatialTestCases.Add( new ConvertToUriLiteralTestCase() { Parameter = GeographyFactory.Collection().Build(), ExpectedValue = "geography'SRID=4326;GEOMETRYCOLLECTION EMPTY'", }); spatialTestCases.Add( new ConvertToUriLiteralTestCase() { Parameter = GeographyFactory.MultiPoint().Point(10.2, 11.2).Point(11.9, 11.6).Build(), ExpectedValue = "geography'SRID=4326;MULTIPOINT ((11.2 10.2), (11.6 11.9))'", }); spatialTestCases.Add( new ConvertToUriLiteralTestCase() { Parameter = GeometryFactory.MultiPoint().Build(), ExpectedValue = "geometry'SRID=0;MULTIPOINT EMPTY'", }); spatialTestCases.Add( new ConvertToUriLiteralTestCase() { Parameter = GeometryFactory.MultiLineString().LineString(10.2, 11.2).LineTo(11.9, 11.6).LineString(16.2, 17.2).LineTo(18.9, 19.6).Build(), ExpectedValue = "geometry'SRID=0;MULTILINESTRING ((10.2 11.2, 11.9 11.6), (16.2 17.2, 18.9 19.6))'", }); spatialTestCases.Add( new ConvertToUriLiteralTestCase() { Parameter = GeographyFactory.MultiLineString().Build(), ExpectedValue = "geography'SRID=4326;MULTILINESTRING EMPTY'", }); spatialTestCases.Add( new ConvertToUriLiteralTestCase() { Parameter = GeographyFactory.MultiPolygon().Polygon().Ring(10.2, 11.2).LineTo(11.9, 11.6).LineTo(11.45, 87.75).Ring(16.2, 17.2).LineTo(18.9, 19.6).LineTo(11.45, 87.75).Build(), ExpectedValue = "geography'SRID=4326;MULTIPOLYGON (((11.2 10.2, 11.6 11.9, 87.75 11.45, 11.2 10.2), (17.2 16.2, 19.6 18.9, 87.75 11.45, 17.2 16.2)))'", }); spatialTestCases.Add( new ConvertToUriLiteralTestCase() { Parameter = GeometryFactory.MultiPolygon().Build(), ExpectedValue = "geometry'SRID=0;MULTIPOLYGON EMPTY'", }); #endregion testCases.AddRange(otherTestCases); testCases.AddRange(spatialTestCases); this.RunTestCases(testCases); }
private DSPUnitTestServiceDefinition CreateTestService(bool openType = false) { DSPMetadata metadata = new DSPMetadata("SpatialQueryTests", "AstoriaUnitTests.Tests"); var entityType = metadata.AddEntityType("SpatialEntity", null, null, false); metadata.AddKeyProperty(entityType, "ID", typeof(int)); entityType.IsOpenType = openType; if (!openType) { metadata.AddPrimitiveProperty(entityType, "Geography", typeof(Geography)); metadata.AddPrimitiveProperty(entityType, "Point", typeof(GeographyPoint)); metadata.AddPrimitiveProperty(entityType, "Point2", typeof(GeographyPoint)); metadata.AddPrimitiveProperty(entityType, "LineString", typeof(GeographyLineString)); metadata.AddPrimitiveProperty(entityType, "Polygon", typeof(GeographyPolygon)); metadata.AddPrimitiveProperty(entityType, "GeographyCollection", typeof(GeographyCollection)); metadata.AddPrimitiveProperty(entityType, "MultiPoint", typeof(GeographyMultiPoint)); metadata.AddPrimitiveProperty(entityType, "MultiLineString", typeof(GeographyMultiLineString)); metadata.AddPrimitiveProperty(entityType, "MultiPolygon", typeof(GeographyMultiPolygon)); metadata.AddPrimitiveProperty(entityType, "Geometry", typeof(Geometry)); metadata.AddPrimitiveProperty(entityType, "GeometryPoint", typeof(GeometryPoint)); metadata.AddPrimitiveProperty(entityType, "GeometryPoint2", typeof(GeometryPoint)); metadata.AddPrimitiveProperty(entityType, "GeometryLineString", typeof(GeometryLineString)); metadata.AddPrimitiveProperty(entityType, "GeometryPolygon", typeof(GeometryPolygon)); metadata.AddPrimitiveProperty(entityType, "GeometryCollection", typeof(GeometryCollection)); metadata.AddPrimitiveProperty(entityType, "GeometryMultiPoint", typeof(GeometryMultiPoint)); metadata.AddPrimitiveProperty(entityType, "GeometryMultiLineString", typeof(GeometryMultiLineString)); metadata.AddPrimitiveProperty(entityType, "GeometryMultiPolygon", typeof(GeometryMultiPolygon)); } metadata.AddCollectionProperty(entityType, "CollectionOfPoints", typeof(GeographyPoint)); metadata.AddCollectionProperty(entityType, "GeometryCollectionOfPoints", typeof(GeometryPoint)); metadata.AddPrimitiveProperty(entityType, "GeographyNull", typeof(Geography)); metadata.AddPrimitiveProperty(entityType, "GeometryNull", typeof(Geometry)); metadata.AddResourceSet("Spatials", entityType); metadata.SetReadOnly(); DSPContext context = new DSPContext(); var set = context.GetResourceSetEntities("Spatials"); for (int i = 0; i < 3; ++i) { DSPResource spatialEntity = new DSPResource(entityType); spatialEntity.SetValue("ID", i); spatialEntity.SetValue("Geography", GeographyFactory.Point(32.0 - i, -100.0).Build()); spatialEntity.SetValue("Point", GeographyFactory.Point(33.1 - i, -110.0).Build()); spatialEntity.SetValue("Point2", GeographyFactory.Point(32.1 - i, -110.0).Build()); spatialEntity.SetValue("LineString", GeographyFactory.LineString(33.1 - i, -110.0).LineTo(35.97 - i, -110).Build()); spatialEntity.SetValue("Polygon", GeographyFactory.Polygon().Ring(33.1 - i, -110.0).LineTo(35.97 - i, -110.15).LineTo(11.45 - i, 87.75).Ring(35.97 - i, -110).LineTo(36.97 - i, -110.15).LineTo(45.23 - i, 23.18).Build()); spatialEntity.SetValue("GeographyCollection", GeographyFactory.Collection().Point(-19.99 - i, -12.0).Build()); spatialEntity.SetValue("MultiPoint", GeographyFactory.MultiPoint().Point(10.2 - i, 11.2).Point(11.9 - i, 11.6).Build()); spatialEntity.SetValue("MultiLineString", GeographyFactory.MultiLineString().LineString(10.2 - i, 11.2).LineTo(11.9 - i, 11.6).LineString(16.2 - i, 17.2).LineTo(18.9 - i, 19.6).Build()); spatialEntity.SetValue("MultiPolygon", GeographyFactory.MultiPolygon().Polygon().Ring(10.2 - i, 11.2).LineTo(11.9 - i, 11.6).LineTo(11.45 - i, 87.75).Ring(16.2 - i, 17.2).LineTo(18.9 - i, 19.6).LineTo(11.45 - i, 87.75).Build()); spatialEntity.SetValue("CollectionOfPoints", new List <GeographyPoint>() { GeographyFactory.Point(10.2, 99.5), GeographyFactory.Point(11.2, 100.5) }); spatialEntity.SetValue("Geometry", GeometryFactory.Point(32.0 - i, -10.0).Build()); spatialEntity.SetValue("GeometryPoint", GeometryFactory.Point(33.1 - i, -11.0).Build()); spatialEntity.SetValue("GeometryPoint2", GeometryFactory.Point(32.1 - i, -11.0).Build()); spatialEntity.SetValue("GeometryLineString", GeometryFactory.LineString(33.1 - i, -11.5).LineTo(35.97 - i, -11).Build()); spatialEntity.SetValue("GeometryPolygon", GeometryFactory.Polygon().Ring(33.1 - i, -13.6).LineTo(35.97 - i, -11.15).LineTo(11.45 - i, 87.75).Ring(35.97 - i, -11).LineTo(36.97 - i, -11.15).LineTo(45.23 - i, 23.18).Build()); spatialEntity.SetValue("GeometryCollection", GeometryFactory.Collection().Point(-19.99 - i, -12.0).Build()); spatialEntity.SetValue("GeometryMultiPoint", GeometryFactory.MultiPoint().Point(10.2 - i, 11.2).Point(11.9 - i, 11.6).Build()); spatialEntity.SetValue("GeometryMultiLineString", GeometryFactory.MultiLineString().LineString(10.2 - i, 11.2).LineTo(11.9 - i, 11.6).LineString(16.2 - i, 17.2).LineTo(18.9 - i, 19.6).Build()); spatialEntity.SetValue("GeometryMultiPolygon", GeometryFactory.MultiPolygon().Polygon().Ring(10.2 - i, 11.2).LineTo(11.9 - i, 11.6).LineTo(11.45 - i, 87.75).Ring(16.2 - i, 17.2).LineTo(18.9 - i, 19.6).LineTo(11.45 - i, 87.75).Build()); spatialEntity.SetValue("GeometryCollectionOfPoints", new List <GeometryPoint>() { GeometryFactory.Point(10.2, 99.5), GeometryFactory.Point(11.2, 100.5) }); spatialEntity.SetValue("GeographyNull", null); spatialEntity.SetValue("GeometryNull", null); set.Add(spatialEntity); } var service = new DSPUnitTestServiceDefinition(metadata, DSPDataProviderKind.CustomProvider, context); service.DataServiceBehavior.AcceptSpatialLiteralsInQuery = true; service.Writable = true; return(service); }
private PrimitiveValue GetValue(IEdmPrimitiveTypeReference edmTypeReference) { switch (edmTypeReference.PrimitiveDefinition().PrimitiveKind) { case EdmPrimitiveTypeKind.Binary: return(new PrimitiveValue("Edm.Binary", 45).WithTypeAnnotation(edmTypeReference)); case EdmPrimitiveTypeKind.Boolean: return(new PrimitiveValue("Edm.Boolean", false).WithTypeAnnotation(edmTypeReference)); case EdmPrimitiveTypeKind.Byte: return(new PrimitiveValue("Edm.Byte", (byte)1).WithTypeAnnotation(edmTypeReference)); case EdmPrimitiveTypeKind.DateTimeOffset: return(new PrimitiveValue("Edm.DateTimeOffset", new DateTimeOffset(new DateTime(2013, 10, 17), new TimeSpan(0, 0, 3, 0))).WithTypeAnnotation(edmTypeReference)); case EdmPrimitiveTypeKind.Decimal: return(new PrimitiveValue("Edm.Decimal", (decimal)4.3).WithTypeAnnotation(edmTypeReference)); case EdmPrimitiveTypeKind.Double: return(new PrimitiveValue("Edm.Double", (double)54.3333333333333).WithTypeAnnotation(edmTypeReference)); case EdmPrimitiveTypeKind.Duration: return(new PrimitiveValue("Edm.Duration", new TimeSpan(1, 3, 0, 0)).WithTypeAnnotation(edmTypeReference)); case EdmPrimitiveTypeKind.Geography: return(new PrimitiveValue("Edm.Geography", GeographyFactory.Point(5.3, 3.5).Build()).WithTypeAnnotation(edmTypeReference)); case EdmPrimitiveTypeKind.GeographyPoint: return(new PrimitiveValue("Edm.GeographyPoint", GeographyFactory.Point(3.5, 3.55555555).Build()).WithTypeAnnotation(edmTypeReference)); case EdmPrimitiveTypeKind.GeographyPolygon: return(new PrimitiveValue("Edm.GeographyPolygon", GeographyFactory.Polygon().Ring(3, 4).Ring(4, 5).Build()).WithTypeAnnotation(edmTypeReference)); case EdmPrimitiveTypeKind.GeographyCollection: return(new PrimitiveValue("Edm.GeographyCollection", GeographyFactory.Collection().Point(2, 3).Build()).WithTypeAnnotation(edmTypeReference)); case EdmPrimitiveTypeKind.GeographyLineString: return(new PrimitiveValue("Edm.GeographyLineString", GeographyFactory.LineString(5.3, 3.3)).WithTypeAnnotation(edmTypeReference)); case EdmPrimitiveTypeKind.GeographyMultiLineString: return(new PrimitiveValue("Edm.GeographyMultiLineString", GeographyFactory.MultiLineString().LineString(3, 4).LineString(5, 4).Build()).WithTypeAnnotation(edmTypeReference)); case EdmPrimitiveTypeKind.GeographyMultiPoint: return(new PrimitiveValue("Edm.GeographyMultiPoint", GeographyFactory.MultiPoint().Point(3, 2).Point(6, 4).Build()).WithTypeAnnotation(edmTypeReference)); case EdmPrimitiveTypeKind.GeographyMultiPolygon: return(new PrimitiveValue("Edm.GeographyMultiPolygon", GeographyFactory.MultiPolygon().Polygon().Ring(65, 23).Build()).WithTypeAnnotation(edmTypeReference)); case EdmPrimitiveTypeKind.Geometry: return(new PrimitiveValue("Edm.Geometry", GeometryFactory.Point(-3, 4, 5, 6)).WithTypeAnnotation(edmTypeReference)); case EdmPrimitiveTypeKind.GeometryCollection: return(new PrimitiveValue("Edm.GeometryCollection", GeometryFactory.Collection().Point(3, 2, 3, null).Point(3, 2, 10, null)).WithTypeAnnotation(edmTypeReference)); case EdmPrimitiveTypeKind.GeometryLineString: return(new PrimitiveValue("Edm.GeometryLineString", GeometryFactory.LineString(4.2, 12.3)).WithTypeAnnotation(edmTypeReference)); case EdmPrimitiveTypeKind.GeometryMultiLineString: return(new PrimitiveValue("Edm.GeometryMultiLineString", GeometryFactory.MultiLineString().LineString(3, 2).LineTo(3, 5).Build()).WithTypeAnnotation(edmTypeReference)); case EdmPrimitiveTypeKind.GeometryMultiPoint: return(new PrimitiveValue("Edm.GeometryMultiPoint", GeometryFactory.MultiPoint().Point(3, 2).Point(4.3, 3.9).Build()).WithTypeAnnotation(edmTypeReference)); case EdmPrimitiveTypeKind.GeometryMultiPolygon: return(new PrimitiveValue("Edm.GeometryMultiPolygon", GeometryFactory.MultiPolygon().Polygon().Ring(65, 23).Build()).WithTypeAnnotation(edmTypeReference)); case EdmPrimitiveTypeKind.GeometryPoint: return(new PrimitiveValue("Edm.GeometryPoint", GeometryFactory.Point(-2.3, 3.9)).WithTypeAnnotation(edmTypeReference)); case EdmPrimitiveTypeKind.GeometryPolygon: return(new PrimitiveValue("Edm.GeometryPolygon", GeometryFactory.Polygon().Ring(3, 4).Ring(4, 5).Build()).WithTypeAnnotation(edmTypeReference)); case EdmPrimitiveTypeKind.Guid: return(new PrimitiveValue("Edm.Guid", new Guid("00005259-2341-5431-5432-234234234234")).WithTypeAnnotation(edmTypeReference)); case EdmPrimitiveTypeKind.Int16: return(new PrimitiveValue("Edm.Int16", (Int16)6).WithTypeAnnotation(edmTypeReference)); case EdmPrimitiveTypeKind.Int32: return(new PrimitiveValue("Edm.Int32", 12).WithTypeAnnotation(edmTypeReference)); case EdmPrimitiveTypeKind.Int64: return(new PrimitiveValue("Edm.Int64", (Int64)18).WithTypeAnnotation(edmTypeReference)); case EdmPrimitiveTypeKind.SByte: return(new PrimitiveValue("Edm.SByte", (sbyte)-3).WithTypeAnnotation(edmTypeReference)); case EdmPrimitiveTypeKind.Single: return(new PrimitiveValue("Edm.Single", (Single)5.4).WithTypeAnnotation(edmTypeReference)); case EdmPrimitiveTypeKind.Stream: return(new PrimitiveValue("Edm.Stream", "232312").WithTypeAnnotation(edmTypeReference)); case EdmPrimitiveTypeKind.String: return(new PrimitiveValue("Edm.String", "Hello").WithTypeAnnotation(edmTypeReference)); default: throw new NotSupportedException("Primitive type kind not supported, please add new type kind."); } }