public void PASS_Serialize() { SpanFirstQuery query = new SpanFirstQuery(new SpanTermQuery("field", "value"), 3); string json = JsonConvert.SerializeObject(query); Assert.IsNotNull(json); string expectedJson = "{\"span_first\":{\"match\":{\"span_term\":{\"field\":\"value\"}},\"end\":3}}"; Assert.AreEqual(expectedJson, json); }
public void PASS_CreateQuery() { SpanFirstQuery query = new SpanFirstQuery(new SpanTermQuery("field", "value"), 3); Assert.IsNotNull(query); Assert.AreEqual(3, query.End); Assert.IsTrue(query.Match is SpanTermQuery); SpanTermQuery termQuery = query.Match as SpanTermQuery; Assert.AreEqual("field", termQuery.Field); Assert.AreEqual("value", termQuery.Value); }
public void FAIL_CreateQuery_End() { try { SpanFirstQuery query = new SpanFirstQuery(new SpanTermQuery("field", "value"), -1); Assert.Fail(); } catch (ArgumentOutOfRangeException ex) { Assert.AreEqual("end", ex.ParamName); } }
public void FAIL_CreateQuery_MatchFirst() { try { SpanFirstQuery query = new SpanFirstQuery(new SpanFirstQuery(new SpanTermQuery("field", "value"), 3), 3); Assert.Fail(); } catch(ArgumentException ex) { Assert.AreEqual("match", ex.ParamName); } }
public void FAIL_CreateQuery_MatchNull() { try { SpanFirstQuery query = new SpanFirstQuery(null, 3); Assert.Fail(); } catch(ArgumentNullException ex) { Assert.AreEqual("match", 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(SpanQueryTypeEnum.First.ToString())) fieldDict = JsonConvert.DeserializeObject<Dictionary<string, object>>(fieldDict.First().Value.ToString()); SpanFirstQuery query = new SpanFirstQuery( JsonConvert.DeserializeObject<SpanQueryBase>(fieldDict.GetString(_MATCH)), fieldDict.GetInt64(_END)); query.QueryName = fieldDict.GetStringOrDefault(QuerySerializer._QUERY_NAME); return query; }