public void JsonMappingCompoundTo_IsValid() { //------------Setup for test-------------------------- //------------Execute Test--------------------------- Assert.IsNotNull(JsonMappingCompoundTo.IsValidJsonMappingInput(null, null)); Assert.IsNotNull(JsonMappingCompoundTo.IsValidJsonMappingInput(null, "a")); JsonMappingCompoundTo.IsValidJsonMappingInput("a", "a") .Should().BeNull(); JsonMappingCompoundTo.IsValidJsonMappingInput("[[a]],[[b]]", "a") .Should().BeNull(); JsonMappingCompoundTo.IsValidJsonMappingInput("[[a().a]]", "a") .Should().BeNull(); JsonMappingCompoundTo.IsValidJsonMappingInput("[[a()]],[[b]]", "a") .Should().NotBeNull(); JsonMappingCompoundTo.IsValidJsonMappingInput("[[a(*)]],[[b]],[[c().m]]", "a") .Should().NotBeNull(); JsonMappingCompoundTo.IsValidJsonMappingInput("[[a().x]],[[b().y]]", "a") .Should().BeNull(); JsonMappingCompoundTo.IsValidJsonMappingInput("a", "a") .Should().BeNull(); JsonMappingCompoundTo.IsValidJsonMappingInput("a,b", "a") .Should().BeNull(); }
private void CheckComplexEvaluatedResultIndexed(string expression, string name, int index, string expected, DsfDataObject dataObject) { var jsonMappingCompound = new JsonMappingCompoundTo( env: dataObject.Environment, compound: new JsonMappingTo { SourceName = expression, DestinationName = name } ); var a = jsonMappingCompound.ComplexEvaluatedResultIndexed(index); if (a is JProperty) { var jp = new JObject { a }; Assert.AreEqual(expected, jp .ToString(Formatting.None)); } else { var jp = new JProperty(name, jsonMappingCompound.ComplexEvaluatedResultIndexed(index)); var j = new JObject(jp); var s = j.ToString(Formatting.None); Assert.AreEqual(expected, s); } }
private static void ParseResultsJSON(JsonMappingCompoundTo x, JObject json) { if (!x.IsCompound) { json.Add(new JProperty( x.DestinationName, x.EvaluatedResultIndexed(0)) ); } else { if (!x.EvalResult.IsWarewolfRecordSetResult) { json.Add(new JProperty( x.DestinationName, x.ComplexEvaluatedResultIndexed(0)) ); } else { if (x.EvalResult.IsWarewolfRecordSetResult) { json.Add( x.ComplexEvaluatedResultIndexed(0)); } } } }
public void JsonMappingCompoundTo_EvalResultIndexed_NotIsCompound() { //------------Setup for test-------------------------- var dataObject = new DsfDataObject(xmldata: string.Empty, dataListId: Guid.NewGuid()); dataObject.Environment.Assign("[[a]]", "10", 0); dataObject.Environment.Assign("[[b]]", "20", 0); dataObject.Environment.Assign("[[rec(1).a]]", "50", 0); dataObject.Environment.Assign("[[rec(1).b]]", "500", 0); dataObject.Environment.Assign("[[rec(2).a]]", "60", 0); dataObject.Environment.Assign("[[rec(2).b]]", "600", 0); //------------Execute Test--------------------------- // for scalars var jsonMappingCompound = new JsonMappingCompoundTo( env: dataObject.Environment, compound: new JsonMappingTo { SourceName = "[[a]]", DestinationName = "myName" } ); //------------Assert Results------------------------- Assert.IsNotNull(jsonMappingCompound); Assert.IsFalse(jsonMappingCompound.IsCompound); Assert.AreEqual(jsonMappingCompound.EvaluatedResultIndexed(0), 10); Assert.AreEqual(jsonMappingCompound.EvaluatedResultIndexed(1), null); // for lists jsonMappingCompound = new JsonMappingCompoundTo( env: dataObject.Environment, compound: new JsonMappingTo { SourceName = "[[rec(*).a]]", DestinationName = "myName" } ); Assert.IsFalse(jsonMappingCompound.IsCompound); Assert.AreEqual((new JObject(new JProperty("a", jsonMappingCompound.EvaluatedResultIndexed(0)))).ToString(Formatting.None), "{\"a\":[50,60]}"); jsonMappingCompound = new JsonMappingCompoundTo( env: dataObject.Environment, compound: new JsonMappingTo { SourceName = "[[rec(*).b]]", DestinationName = "myName" } ); Assert.AreEqual((new JObject(new JProperty("b", jsonMappingCompound.EvaluatedResultIndexed(1)))).ToString(Formatting.None), "{\"b\":[500,600]}"); }
/* * protected override bool IsValid(JsonMappingTo item) * { * try * { * if (string.IsNullOrEmpty(JsonMappingCompoundTo.IsValidJsonMappingInput( * item.SourceName, * item.DestinationName))) * return true; * * } * catch (Exception) * { * return false; * } * * return true; * } * */ public override IActionableErrorInfo Check() { var to = GetValue.Invoke(); ErrorText = JsonMappingCompoundTo.IsValidJsonMappingInput(to.SourceName, to.DestinationName); if (string.IsNullOrEmpty(ErrorText)) { return(null); } return(new ActionableErrorInfo { ErrorType = ErrorType.Critical, Message = ErrorText, }); }
public void JsonMappingCompoundTo_MaxCount_NotIsCompound() { //------------Setup for test-------------------------- var dataObject = new DsfDataObject(xmldata: string.Empty, dataListId: Guid.NewGuid()); dataObject.Environment.Assign("[[a]]", "10", 0); dataObject.Environment.Assign("[[b]]", "20", 0); dataObject.Environment.Assign("[[rec(1).a]]", "50", 0); dataObject.Environment.Assign("[[rec(1).b]]", "500", 0); dataObject.Environment.Assign("[[rec(2).a]]", "60", 0); dataObject.Environment.Assign("[[rec(2).b]]", "600", 0); //------------Execute Test--------------------------- var jsonMappingCompound = new JsonMappingCompoundTo( env: dataObject.Environment, compound: new JsonMappingTo { SourceName = "[[rec().a]]", DestinationName = "myName" } ); //------------Assert Results------------------------- Assert.IsNotNull(jsonMappingCompound); Assert.IsFalse(jsonMappingCompound.IsCompound); Assert.AreEqual(jsonMappingCompound.MaxCount, 1); // check for list jsonMappingCompound = new JsonMappingCompoundTo( env: dataObject.Environment, compound: new JsonMappingTo { SourceName = "[[rec(*).a]]", DestinationName = "myName" } ); Assert.IsFalse(jsonMappingCompound.IsCompound); Assert.AreEqual(jsonMappingCompound.MaxCount, 2); }
public void JsonMappingCompoundTo_Constructor_SetsProperties_NotIsCompound() { //------------Setup for test-------------------------- // ReSharper disable RedundantArgumentName var dataObject = new DsfDataObject(xmldata: string.Empty, dataListId: Guid.NewGuid()); dataObject.Environment.Assign("[[a]]", "10", 0); dataObject.Environment.Assign("[[b]]", "20", 0); dataObject.Environment.Assign("[[rec(1).a]]", "50", 0); dataObject.Environment.Assign("[[rec(1).b]]", "500", 0); //------------Execute Test--------------------------- var jsonMappingCompound = new JsonMappingCompoundTo( env: dataObject.Environment, compound: new JsonMappingTo { SourceName = "[[a]]", DestinationName = "a" } ); //------------Assert Results------------------------- Assert.IsNotNull(jsonMappingCompound); Assert.IsFalse(jsonMappingCompound.IsCompound); }
public void JsonMappingCompoundTo_EvalResultIndexed_IsCompound() { //------------Setup for test-------------------------- var dataObject = new DsfDataObject(xmldata: string.Empty, dataListId: Guid.NewGuid()); dataObject.Environment.Assign("[[a]]", "10", 0); dataObject.Environment.Assign("[[b]]", "20", 0); dataObject.Environment.Assign("[[rec(1).a]]", "50", 0); dataObject.Environment.Assign("[[rec(1).b]]", "500", 0); //------------Execute Test--------------------------- var jsonMappingCompound = new JsonMappingCompoundTo( env: dataObject.Environment, compound: new JsonMappingTo { SourceName = "[[a]],[[b]]", DestinationName = "myName" } ); //------------Assert Results------------------------- Assert.IsNotNull(jsonMappingCompound); Assert.IsTrue(jsonMappingCompound.IsCompound); }