public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { Dictionary<string, object> tokenDict = serializer.Deserialize<Dictionary<string, object>>(reader); Dictionary<string, object> fieldDict = JsonConvert.DeserializeObject<Dictionary<string, object>>(tokenDict.First().Value.ToString()); KeywordTokenizer token = new KeywordTokenizer(tokenDict.First().Key); TokenizerBase.Deserialize(token, fieldDict); token.BufferSize = fieldDict.GetInt64(_BUFFER_SIZE, KeywordTokenizer._BUFFER_SIZE_DEFAULT); return token; }
public void PASS_Create() { KeywordTokenizer token = new KeywordTokenizer("name") { BufferSize = 31 }; Assert.IsNotNull(token); Assert.AreEqual("name", token.Name); Assert.AreEqual((Int64)31, token.BufferSize); }
public void PASS_Serialize() { KeywordTokenizer token = new KeywordTokenizer("name") { BufferSize = 31 }; string json = JsonConvert.SerializeObject(token); Assert.IsNotNull(json); string expectedJson = "{\"name\":{\"type\":\"keyword\",\"buffer_size\":31}}"; Assert.AreEqual(expectedJson, json); }