public void PASS_Create()
        {
            WhitespaceTokenizer token = new WhitespaceTokenizer("name");

            Assert.IsNotNull(token);
            Assert.AreEqual("name", token.Name);
        }
        public void PASS_Serialize()
        {
            WhitespaceTokenizer token = new WhitespaceTokenizer("name");

            string json = JsonConvert.SerializeObject(token);
            Assert.IsNotNull(json);

            string expectedJson = "{\"name\":{\"type\":\"whitespace\"}}";
            Assert.AreEqual(expectedJson, json);
        }
        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());

            WhitespaceTokenizer token = new WhitespaceTokenizer(tokenDict.First().Key);
            TokenizerBase.Deserialize(token, fieldDict);

            return token;
        }