public void FAIL_CreateQuery_NoQueries() { try { BoostingQuery query = new BoostingQuery(null, null, 1.0); Assert.Fail(); } catch(ArgumentNullException argEx) { Assert.AreEqual("query", argEx.ParamName); } }
public void PASS_Serialize() { BoostingQuery query = new BoostingQuery( new TermQuery("field1", "value1"), new TermQuery("field1", "value2"), 1.0); string json = JsonConvert.SerializeObject(query); Assert.IsNotNull(json); string expectedJson = "{\"boosting\":{\"positive\":{\"term\":{\"field1\":\"value2\"}},\"negative\":{\"term\":{\"field1\":\"value1\"}},\"negative_boost\":1.0}}"; Assert.AreEqual(expectedJson, json); }
public void FAIL_CreateQuery_NegativeBoost() { try { BoostingQuery query = new BoostingQuery( new TermQuery("field1", "value1"), new TermQuery("field1", "value1"), 0); Assert.Fail(); } catch (ArgumentOutOfRangeException argEx) { Assert.AreEqual("negativeBoost", argEx.ParamName); } }
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { Dictionary<string, object> boostingDict = serializer.Deserialize<Dictionary<string, object>>(reader); BoostingQuery query = new BoostingQuery(); if (boostingDict.First().Key.Equals(QueryTypeEnum.Boosting.ToString(), StringComparison.OrdinalIgnoreCase)) boostingDict = JsonConvert.DeserializeObject<Dictionary<string, object>>(boostingDict.First().Value.ToString()); if (boostingDict.ContainsKey(_POSITIVE)) query.PositiveQuery = JsonConvert.DeserializeObject<IQuery>(boostingDict[_POSITIVE].ToString()); if (boostingDict.ContainsKey(_NEGATIVE)) query.NegativeQuery = JsonConvert.DeserializeObject<IQuery>(boostingDict[_NEGATIVE].ToString()); query.NegativeBoost = boostingDict.GetDouble(_NEGATIVE_BOOST, default(Double)); query.QueryName = boostingDict.GetStringOrDefault(QuerySerializer._QUERY_NAME); return query; }
public void PASS_CreateQuery() { BoostingQuery query = new BoostingQuery(new TermQuery("field1", "value1"), null, 1.0); Assert.IsNotNull(query); }