public void PASS_Serialize()
 {
     QueryFilter filter = new QueryFilter(new TermQuery("field", "value"));
     string json = JsonConvert.SerializeObject(filter);
     Assert.IsNotNull(json);
     string expectedJson = "{\"query\":{\"term\":{\"field\":\"value\"}}}";
     Assert.AreEqual(expectedJson, json);
 }
 public void PASS_CreateFilter()
 {
     QueryFilter filter = new QueryFilter(new TermQuery("field", "value"));
     Assert.IsNotNull(filter);
     Assert.IsTrue(filter.Query is TermQuery);
     Assert.AreEqual("field", (filter.Query as TermQuery).Field);
     Assert.AreEqual("value", (filter.Query as TermQuery).Value);
 }
        public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
        {
            Dictionary<string, object> fieldDict = serializer.Deserialize<Dictionary<string, object>>(reader);
            Dictionary<string, object> queryDict = fieldDict;
            if (fieldDict.ContainsKey(FilterTypeEnum.FQuery.ToString()))
                queryDict = JsonConvert.DeserializeObject<Dictionary<string, object>>(fieldDict.First().Value.ToString());

            QueryFilter filter = new QueryFilter(JsonConvert.DeserializeObject<IQuery>(queryDict.First().Value.ToString()));
            FilterSerializer.DeserializeBaseValues(filter, _CACHE_DEFAULT, queryDict);

            return filter;
        }
 public void FAIL_CreateFilter()
 {
     try
     {
         QueryFilter filter = new QueryFilter(null);
         Assert.Fail();
     }
     catch (ArgumentNullException ex)
     {
         Assert.AreEqual("query", ex.ParamName);
     }
 }