public void PASS_CreateRequest() { FuzzyLikeThisQuery query = new FuzzyLikeThisQuery(new List<string>(){"field"}, "value"); Assert.IsNotNull(query); Assert.AreEqual("field", query.Fields.First()); Assert.AreEqual("value", query.Query); }
public void PASS_Serialize() { FuzzyLikeThisQuery query = new FuzzyLikeThisQuery(new List<string>() { "field" }, "value"); string json = JsonConvert.SerializeObject(query); Assert.IsNotNull(json); string expectedJson = "{\"fuzzy_like_this\":{\"fields\":[\"field\"],\"like_text\":\"value\"}}"; Assert.AreEqual(expectedJson, json); }
public void FAIL_CreateRequest_Query() { try { FuzzyLikeThisQuery query = new FuzzyLikeThisQuery(new List<string>() { "field" }, null); Assert.Fail(); } catch (ArgumentNullException argEx) { Assert.AreEqual("query", argEx.ParamName); } }
public void FAIL_CreateRequest_Field() { try { FuzzyLikeThisQuery query = new FuzzyLikeThisQuery(null, "value"); Assert.Fail(); } catch (ArgumentNullException argEx) { Assert.AreEqual("field", argEx.ParamName); } }
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { Dictionary<string, object> fieldDict = serializer.Deserialize<Dictionary<string, object>>(reader); QueryTypeEnum queryType = QueryTypeEnum.FuzzyLikeThis; queryType = QueryTypeEnum.Find(fieldDict.First().Key); FuzzyLikeThisBase query = null; if (queryType != null) { fieldDict = JsonConvert.DeserializeObject<Dictionary<string, object>>(fieldDict.First().Value.ToString()); } if (fieldDict.ContainsKey(_LIKE_TEXT)) { query = new FuzzyLikeThisQuery(); } else { query = new FuzzyLikeThisFieldQuery(); query.Fields = new List<string>() { fieldDict.First().Key }; fieldDict = JsonConvert.DeserializeObject<Dictionary<string, object>>(fieldDict.First().Value.ToString()); } if(fieldDict.ContainsKey(_FIELDS)) query.Fields = JsonConvert.DeserializeObject<IEnumerable<string>>(fieldDict.GetString(_FIELDS)); query.Query = fieldDict.GetString(_LIKE_TEXT); query.Analyzer = fieldDict.GetStringOrDefault(_ANALYZER); query.Boost = fieldDict.GetDouble(QuerySerializer._BOOST, QuerySerializer._BOOST_DEFAULT); query.Fuzziness = fieldDict.GetDouble(_FUZZINESS, _FUZZINESS_DEFAULT); query.IgnoreTermFrequency = fieldDict.GetBool(_IGNORE_TERM_FREQUENCY, _IGNORE_TERM_FREQUENCY_DEFAULT); query.MaximumQueryTerms = fieldDict.GetInt32(_MAX_QUERY_TERMS, _MAX_QUERY_TERMS_DEFAULT); query.PrefixLength = fieldDict.GetInt32OrDefault(_PREFIX_LENGTH); query.QueryName = fieldDict.GetStringOrDefault(QuerySerializer._QUERY_NAME); return query; }