public void NamedCRSConstructorTest() { const string name = "testName"; NamedCRS target = new NamedCRS(name); Assert.AreEqual(name, target.Properties["name"]); Assert.AreEqual(CRSTypes.Name, target.Type); }
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { if (reader.TokenType == JsonToken.Null) { reader.Read(); return null; } if (reader.TokenType != JsonToken.StartObject) throw new ArgumentException("Expected token '{' not found."); reader.Read(); if (!(reader.TokenType == JsonToken.PropertyName && (string) reader.Value == "type")) throw new ArgumentException("Expected token 'type' not found."); reader.Read(); if (reader.TokenType != JsonToken.String) throw new ArgumentException("Expected string value not found."); string crsType = (string)reader.Value; reader.Read(); if (!(reader.TokenType == JsonToken.PropertyName && (string) reader.Value == "properties")) throw new ArgumentException("Expected token 'properties' not found."); reader.Read(); if (reader.TokenType != JsonToken.StartObject) throw new ArgumentException("Expected token '{' not found."); Dictionary<string, object> dictionary = serializer.Deserialize<Dictionary<string, object>>(reader); CRSBase result = null; switch (crsType) { case "link": object href = dictionary["href"]; object type = dictionary["type"]; result = new LinkedCRS((string)href, type != null ? (string)type : ""); break; case "name": object name = dictionary["name"]; result = new NamedCRS((string)name); break; } if (reader.TokenType != JsonToken.EndObject) throw new ArgumentException("Expected token '}' not found."); reader.Read(); if (reader.TokenType != JsonToken.EndObject) throw new ArgumentException("Expected token '}' not found."); reader.Read(); return result; }
private NamedCRS ParseNamedCRS() { AssertRead(JsonToken.PropertyName); AssertValue("properties"); AssertRead(JsonToken.StartObject); AssertRead(JsonToken.PropertyName); AssertValue("name"); AssertRead(JsonToken.String); var name = (string)Reader.Value; AssertRead(JsonToken.EndObject); var namedCrs = new NamedCRS(name); return namedCrs; }