public void ParseValue_With_Noncoordinate_Throws() { var type = new GeoJSONPositionScalar(); var item = "this is not a coordinate"; Assert.Throws <ArgumentException>(() => type.ParseValue(item)); }
public void ParseValue_With_Null() { var type = new GeoJSONPositionScalar(); var result = type.ParseValue(null); Assert.Null(Assert.IsType <NullValueNode>(result).Value); }
public void ParseLiteral_With_Invalid_Coordinates_Throws() { var type = new GeoJSONPositionScalar(); var coordinate = new StringValueNode("2.2"); Assert.Throws <ScalarSerializationException>(() => type.ParseLiteral(coordinate)); }
public void ParseLiteral_Null_Throws() { var type = new GeoJSONPositionScalar(); IValueNode coordinate = null; Assert.Throws <ArgumentNullException>(() => type.ParseLiteral(coordinate)); }
public void ParseLiteral_NullType_Null() { var type = new GeoJSONPositionScalar(); var coordinate = NullValueNode.Default; object result = type.ParseLiteral(coordinate); Assert.Null(result); }
public void ParseValue_With_2Valid_Coordinates() { var type = new GeoJSONPositionScalar(); var coordinate = new Coordinate(1.1, 2.2); var result = type.ParseValue(coordinate); Assert.Equal("1.10", Assert.IsType <ListValueNode>(result).Items[0].Value); Assert.Equal("2.20", Assert.IsType <ListValueNode>(result).Items[1].Value); }
public void TryDeserialize_With_Null() { var type = new GeoJSONPositionScalar(); object input = null; var result = type.TryDeserialize(input, out var value); Assert.True(result); Assert.Null(value); }
public void TryDeserialize_With_Non_List() { var type = new GeoJSONPositionScalar(); var input = "not null and not a list"; var result = type.TryDeserialize(input, out var value); Assert.False(result); Assert.Null(value); }
public void TrySerialize_With_Invalid_Object() { var type = new GeoJSONPositionScalar(); var input = "not a coordinate"; var result = type.TrySerialize(input, out var value); Assert.False(result); Assert.Null(value); }
public void TrySerialize_With_Nan_3dCoordinate() { var type = new GeoJSONPositionScalar(); var input = new CoordinateZ(1, 2, double.NaN); var result = type.TrySerialize(input, out var value); Assert.True(result); Assert.Equal(2, Assert.IsType <double[]>(value).Length); Assert.Equal(new [] { 1D, 2D }, Assert.IsType <double[]>(value)); }
public void IsInstanceOfType_Invalid2ElementCoordinate_False() { // arrange var type = new GeoJSONPositionScalar(); var coordinate = new ListValueNode(new StringValueNode("1"), new FloatValueNode(1.2)); // act bool result = type.IsInstanceOfType(coordinate); // assert Assert.False(result); }
public void IsInstanceOfType_NullType_True() { // arrange var type = new GeoJSONPositionScalar(); var coordinate = NullValueNode.Default; // act bool result = type.IsInstanceOfType(coordinate); // assert Assert.True(result); }
public void TryDeserialize_With_Invalid_3rdElement_Type3() { var type = new GeoJSONPositionScalar(); var input = new List <object>() { 1, 2, double.NegativeInfinity }; var result = type.TryDeserialize(input, out var value); Assert.False(result); Assert.Null(value); }
public void TryDeserialize_With_Invalid_Element_Type2() { var type = new GeoJSONPositionScalar(); var input = new List <object>() { 1, DateTime.Now }; var result = type.TryDeserialize(input, out var value); Assert.False(result); Assert.Null(value); }
public void TryDeserialize_With_Too_Few_Elements() { var type = new GeoJSONPositionScalar(); var input = new List <object>() { 1 }; var result = type.TryDeserialize(input, out var value); Assert.False(result); Assert.Null(value); }
public void ParseLiteral_With_2Valid_Coordinates() { var type = new GeoJSONPositionScalar(); var coordinate = new ListValueNode( new FloatValueNode(1.0), new IntValueNode(2) ); var result = type.ParseLiteral(coordinate); Assert.Equal(1.0, Assert.IsType <Coordinate>(result).X); Assert.Equal(2, Assert.IsType <Coordinate>(result).Y); }
public void IsInstanceOfType_Valid3ElementCoordinate_True() { // arrange var type = new GeoJSONPositionScalar(); var coordinate = new ListValueNode( new IntValueNode(1), new FloatValueNode(1.2), new FloatValueNode(3.2)); // act bool result = type.IsInstanceOfType(coordinate); // assert Assert.True(result); }
public void TryDeserialize_With_Valid_2Elements() { var type = new GeoJSONPositionScalar(); var input = new List <object>() { 1, 2 }; var result = type.TryDeserialize(input, out var value); Assert.True(result); Assert.Equal(1, Assert.IsType <Coordinate>(value).X); Assert.Equal(2, Assert.IsType <Coordinate>(value).Y); }
public void IsInstanceOfType_2ListElementCoordinate_False() { // arrange var type = new GeoJSONPositionScalar(); var coordinate = new ListValueNode( new ListValueNode(new FloatValueNode(1.1), new FloatValueNode(1.2)), new ListValueNode(new FloatValueNode(1.1), new FloatValueNode(1.2))); // act var result = type.IsInstanceOfType(coordinate); // assert Assert.False(result); }
public void IsInstanceOfType_Invalid4ElementCoordinate_False() { var type = new GeoJSONPositionScalar(); var coordinate = new ListValueNode( new IntValueNode(1), new IntValueNode(2), new IntValueNode(3), new IntValueNode(4) ); bool result = type.IsInstanceOfType(coordinate); Assert.False(result); }