Ejemplo n.º 1
0
        public void JsonBuilder_ValidJson()
        {
            var flowData = new Mock <IFlowData>();
            IJsonBuilderElementData result = null;
            var _missingPropertyService    = new Mock <IMissingPropertyService>();

            flowData.Setup(d => d.ElementDataAsDictionary()).Returns(new Dictionary <string, object>()
            {
                { "test", _elementDataMock.Object }
            });
            flowData.Setup(d => d.GetOrAdd(
                               It.IsAny <TypedKey <IJsonBuilderElementData> >(),
                               It.IsAny <Func <IPipeline, IJsonBuilderElementData> >()))
            .Returns <TypedKey <IJsonBuilderElementData>, Func <IPipeline, IJsonBuilderElementData> >(
                (k, f) =>
            {
                result = f(flowData.Object.Pipeline);
                return(result);
            });

            string session = "somesessionid";

            flowData.Setup(d => d.TryGetEvidence("query.session-id", out session)).Returns(true);
            int iteration = 1;

            flowData.Setup(d => d.TryGetEvidence("query.sequence", out iteration)).Returns(true);

            _jsonBuilderElement.Process(flowData.Object);

            Assert.IsTrue(IsExpectedJson(result.Json));
        }
Ejemplo n.º 2
0
        private string TestIteration(int iteration,
                                     Dictionary <string, object> data = null,
                                     Mock <IFlowData> flowData        = null)
        {
            if (data == null)
            {
                data = new Dictionary <string, object>()
                {
                    { "test", _elementDataMock.Object }
                };
            }

            if (flowData == null)
            {
                flowData = new Mock <IFlowData>();
            }
            var _missingPropertyService = new Mock <IMissingPropertyService>();

            flowData.Setup(d => d.ElementDataAsDictionary()).Returns(data);
            string session = "somesessionid";

            flowData.Setup(d => d.TryGetEvidence("query.session-id", out session)).Returns(true);
            flowData.Setup(d => d.TryGetEvidence("query.sequence", out iteration)).Returns(true);
            flowData.Setup(d => d.GetWhere(It.IsAny <Func <IElementPropertyMetaData, bool> >())).Returns(
                (Func <IElementPropertyMetaData, bool> filter) => {
                return(_propertyMetaData
                       .SelectMany(e => e.Value)
                       .Where(p => filter(p.Value))
                       .Select(p => new KeyValuePair <string, object>(p.Value.Element.ElementDataKey + "." + p.Key, p.Value)));
            });

            IJsonBuilderElementData result = null;

            flowData.Setup(d => d.GetOrAdd(
                               It.IsAny <TypedKey <IJsonBuilderElementData> >(),
                               It.IsAny <Func <IPipeline, IJsonBuilderElementData> >()))
            .Returns <TypedKey <IJsonBuilderElementData>, Func <IPipeline, IJsonBuilderElementData> >(
                (k, f) =>
            {
                result = f(flowData.Object.Pipeline);
                return(result);
            });
            flowData.Setup(d => d.Pipeline).Returns(_pipeline.Object);

            _jsonBuilderElement.Process(flowData.Object);

            var json = result["json"].ToString();

            return(json);
        }