public void PASS_CreateQuery()
 {
     TermQuery query = new TermQuery("field", "value1");
     Assert.IsNotNull(query);
     Assert.AreEqual("field", query.Field);
     Assert.AreEqual("value1", query.Value.ToString());
 }
        public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
        {
            Dictionary<string, object> fieldDict = serializer.Deserialize<Dictionary<string, object>>(reader);

            if (fieldDict.First().Key.Equals(QueryTypeEnum.Term.ToString(), StringComparison.OrdinalIgnoreCase))
                fieldDict = JsonConvert.DeserializeObject<Dictionary<string, object>>(fieldDict.First().Value.ToString());

            Dictionary<string, object> internalDict = null;
            try
            {
                internalDict = JsonConvert.DeserializeObject<Dictionary<string, object>>(fieldDict.First().Value.ToString());
            }
            catch
            {
                return new TermQuery(fieldDict.First().Key, fieldDict.First().Value);
            }

            object value = null;
            if (internalDict.ContainsKey(_VALUE))
                value = internalDict[_VALUE];
            else if (internalDict.ContainsKey(_TERM))
                value = internalDict[_TERM];
            else
                throw new RequiredPropertyMissingException(_VALUE + "/" + _TERM);

            TermQuery query = new TermQuery(fieldDict.First().Key, value);
            query.Boost = internalDict.GetDouble(QuerySerializer._BOOST, QuerySerializer._BOOST_DEFAULT);
            query.QueryName = internalDict.GetStringOrDefault(QuerySerializer._QUERY_NAME);
            return query;
        }
        public void PASS_Serialize_Boost()
        {
            TermQuery query = new TermQuery("field", "value") { Boost = 1.2 };
            string json = JsonConvert.SerializeObject(query);
            Assert.IsNotNull(json);

            string expectedJson = "{\"term\":{\"field\":{\"value\":\"value\",\"boost\":1.2}}}";
            Assert.AreEqual(expectedJson, json);
        }
        public void PASS_Serialize()
        {
            TermQuery query = new TermQuery("field", "value1");

            string result = JsonConvert.SerializeObject(query);
            Assert.IsNotNull(result);

            string expectedJson = "{\"term\":{\"field\":\"value1\"}}";
            Assert.AreEqual(expectedJson, result);
        }
 public void FAIL_CreateQuery_Value()
 {
     try
     {
         TermQuery query = new TermQuery("field", null);
         Assert.Fail();
     }
     catch (ArgumentNullException argEx)
     {
         Assert.AreEqual("value", argEx.ParamName);
     }
 }
        public void PASS_Serialize_Number()
        {
            TermQuery query = new TermQuery("field", 15); ;
            string json = JsonConvert.SerializeObject(query);
            Assert.IsNotNull(json);

            string expectedJson = "{\"term\":{\"field\":15}}";
            Assert.AreEqual(expectedJson, json);
        }