public void PASS_CreateQuery() { PrefixQuery query = new PrefixQuery("field", "value"); Assert.IsNotNull(query); Assert.AreEqual("field", query.Field); Assert.AreEqual("value", query.Value); }
public void PASS_Serialize_Boost() { PrefixQuery query = new PrefixQuery("field", "value") { Boost = 1.2 }; string json = JsonConvert.SerializeObject(query); Assert.IsNotNull(json); string expectedJson = "{\"prefix\":{\"field\":{\"value\":\"value\",\"boost\":1.2}}}"; Assert.AreEqual(expectedJson, json); }
public void FAIL_CreateQuery_Query() { try { PrefixQuery query = new PrefixQuery("field", null); Assert.Fail(); } catch (ArgumentNullException ex) { Assert.AreEqual("value", ex.ParamName); } }
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { Dictionary<string, object> fieldDict = serializer.Deserialize<Dictionary<string, object>>(reader); if (fieldDict.ContainsKey(QueryTypeEnum.Prefix.ToString())) fieldDict = JsonConvert.DeserializeObject<Dictionary<string, object>>(fieldDict.First().Value.ToString()); Dictionary<string, object> internalDict = null; string field = null; string value = null; double boost = QuerySerializer._BOOST_DEFAULT; try { internalDict = JsonConvert.DeserializeObject<Dictionary<string, object>>(fieldDict.First().Value.ToString()); } catch { internalDict = fieldDict; } if (internalDict.ContainsKey(_VALUE)) { field = fieldDict.First().Key; value = internalDict.GetString(_VALUE); boost = internalDict.GetDouble(QuerySerializer._BOOST, QuerySerializer._BOOST_DEFAULT); } else { field = internalDict.First().Key; value = internalDict.First().Value.ToString(); } PrefixQuery query = new PrefixQuery(field, value) { Boost = boost }; query.QueryName = internalDict.GetStringOrDefault(QuerySerializer._QUERY_NAME); return query; }