public void IsInstanceOfType_GeometryType(GeoJsonGeometryType type) { // arrange GeoJsonTypeSerializer serializer = GeoJsonTypeSerializer.Default; // act // assert Assert.True(serializer.IsInstanceOfType(type)); }
public void IsInstanceOfType_GeometryType(GeoJsonGeometryType geometryType) { // arrange var type = new Mock <IType>(); GeoJsonTypeSerializer serializer = GeoJsonTypeSerializer.Default; // act // assert Assert.True(serializer.IsInstanceOfType(type.Object, geometryType)); }
public void TryDeserialize_Should_Serialize_Enum( GeoJsonGeometryType value) { // arrange GeoJsonTypeSerializer serializer = GeoJsonTypeSerializer.Default; // act // assert Assert.True(serializer.TryDeserialize(value, out object?resultValue)); Assert.Equal(value, resultValue); }
public void TryDeserialize_Should_Serialize_Enum( GeoJsonGeometryType value) { // arrange var type = new Mock <IType>(); GeoJsonTypeSerializer serializer = GeoJsonTypeSerializer.Default; // act // assert Assert.True(serializer.TryDeserialize(type.Object, value, out var resultValue)); Assert.Equal(value, resultValue); }
public void ParseLiteral_Should_Parse_StringValueNode( GeoJsonGeometryType value, string stringValue) { // arrange GeoJsonTypeSerializer serializer = GeoJsonTypeSerializer.Default; // act object?resultValue = serializer.ParseLiteral(new StringValueNode(stringValue)); // assert Assert.Equal(value, resultValue); }
public void ParseLiteral_Should_Parse_EnumValueNode( GeoJsonGeometryType value, string stringValue) { // arrange var type = new Mock <IType>(); GeoJsonTypeSerializer serializer = GeoJsonTypeSerializer.Default; // act var resultValue = serializer.ParseLiteral(type.Object, new EnumValueNode(stringValue)); // assert Assert.Equal(value, resultValue); }
public void TryDeserialize_Should_Serialize_NameString( GeoJsonGeometryType value, string stringValue) { // arrange GeoJsonTypeSerializer serializer = GeoJsonTypeSerializer.Default; var typeName = new NameString(stringValue); // act var success = serializer.TryDeserialize(typeName, out object?resultValue); // assert Assert.True(success); Assert.Equal(value, resultValue); }
public void ParseResult_Should_Parse_EnumValue( GeoJsonGeometryType value, string stringValue) { // arrange GeoJsonTypeSerializer serializer = GeoJsonTypeSerializer.Default; // act IValueNode resultValue = serializer.ParseResult(value); // assert EnumValueNode enumValue = Assert.IsType <EnumValueNode>(resultValue); Assert.Equal(stringValue, enumValue.Value); }
public void ParseValue_Should_Parse_EnumValue( GeoJsonGeometryType value, string stringValue) { // arrange var type = new Mock <IType>(); GeoJsonTypeSerializer serializer = GeoJsonTypeSerializer.Default; // act IValueNode resultValue = serializer.ParseValue(type.Object, value); // assert EnumValueNode enumValue = Assert.IsType <EnumValueNode>(resultValue); Assert.Equal(stringValue, enumValue.Value); }
private bool TryGetGeometryKind( ObjectValueNode valueSyntax, out GeoJsonGeometryType geometryType) { IReadOnlyList <ObjectFieldNode> fields = valueSyntax.Fields; for (var i = 0; i < fields.Count; i++) { if (fields[i].Name.Value == TypeFieldName && GeoJsonTypeSerializer.Default.ParseLiteral(fields[i].Value) is GeoJsonGeometryType type) { geometryType = type; return(true); } } geometryType = default; return(false); }
protected (GeoJsonGeometryType type, object coordinates, int?crs) ParseFields( ObjectValueNode obj) { GeoJsonGeometryType?type = null; object?coordinates = null; int? crs = null; for (var i = 0; i < obj.Fields.Count; i++) { var fieldName = obj.Fields[i].Name.Value; IValueNode syntaxNode = obj.Fields[i].Value; if (TypeFieldName.EqualsInvariantIgnoreCase(fieldName)) { type = GeoJsonTypeSerializer.Default.ParseLiteral(syntaxNode) as GeoJsonGeometryType?; } else if (CoordinatesFieldName.EqualsInvariantIgnoreCase(fieldName)) { coordinates = ParseCoordinates(syntaxNode); } else if (CrsFieldName.EqualsInvariantIgnoreCase(fieldName) && syntaxNode is IntValueNode node && !node.IsNull()) { crs = node.ToInt32(); } } if (type is null) { throw Serializer_TypeIsMissing(); } if (coordinates is null) { throw Serializer_CoordinatesIsMissing(); } return(type.Value, coordinates, crs); }
protected (GeoJsonGeometryType type, object coordinates, int?crs) ParseFields( IReadOnlyDictionary <string, object> obj) { GeoJsonGeometryType?type = null; object?coordinates = null; int? crs = null; if (obj.TryGetValue(TypeFieldName, out var typeObject)) { type = GeoJsonTypeSerializer.Default.Deserialize(typeObject) as GeoJsonGeometryType?; } if (obj.TryGetValue(CoordinatesFieldName, out var coordinateObject)) { coordinates = ParseCoordinates(coordinateObject); } if (obj.TryGetValue(CrsFieldName, out var crsObject) && crsObject is int crsInt) { crs = crsInt; } if (type is null) { throw Serializer_CoordinatesIsMissing(); } if (coordinates is null) { throw Serializer_CoordinatesIsMissing(); } return(type.Value, coordinates, crs); }
protected GeoJsonInputType(GeoJsonGeometryType geometryType) { _serializer = GeoJsonSerializers.Serializers[geometryType]; }
private bool TryGetGeometryKind( Geometry geometry, out GeoJsonGeometryType geometryType) => GeoJsonTypeSerializer.Default.TryParseString(geometry.GeometryType, out geometryType);
protected GeoJsonInputObjectSerializer(GeoJsonGeometryType geometryType) { _geometryType = geometryType; }
public static GeoJsonSerializationException Geometry_Serializer_NotFound( GeoJsonGeometryType type) => new GeoJsonSerializationException(Resources.Geometry_Serializer_NotFound, type);