public void PASS_Serialize() { SpanMultiTermQuery query = new SpanMultiTermQuery(new PrefixQuery("field", "value")); string json = JsonConvert.SerializeObject(query); Assert.IsNotNull("query"); string expectedJson = "{\"span_multi\":{\"match\":{\"prefix\":{\"field\":\"value\"}}}}"; Assert.AreEqual(expectedJson, json); }
public void PASS_CreateQuery() { SpanMultiTermQuery query = new SpanMultiTermQuery(new PrefixQuery("field", "value")); Assert.IsNotNull(query); Assert.IsTrue(query.Match is PrefixQuery); PrefixQuery prefixQuery = query.Match as PrefixQuery; Assert.AreEqual("field", prefixQuery.Field); Assert.AreEqual("value", prefixQuery.Value); }
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(SpanQueryTypeEnum.MultiTerm.ToString())) fieldDict = JsonConvert.DeserializeObject<Dictionary<string, object>>(fieldDict.First().Value.ToString()); SpanMultiTermQuery query = new SpanMultiTermQuery(JsonConvert.DeserializeObject<IQuery>(fieldDict.GetString(_MATCH))); query.QueryName = fieldDict.GetStringOrDefault(QuerySerializer._QUERY_NAME); return query; }
public void FAIL_CreateQuery_TermQuery() { try { SpanMultiTermQuery query = new SpanMultiTermQuery(new TermQuery("field", "value")); Assert.Fail(); } catch (ArgumentException ex) { Assert.AreEqual("match", ex.ParamName); } }
public void FAIL_CreateQuery_Null() { try { SpanMultiTermQuery query = new SpanMultiTermQuery((IQuery)null); Assert.Fail(); } catch (ArgumentNullException ex) { Assert.AreEqual("match", ex.ParamName); } }