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 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_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 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);
        }