public void SetterAndGetter_ByODataQueryInit_Should_OK()
        {
            _dynamicHashModel = DynamicHashDictionary.CreateFromODataQueryString("$Select=Foo,Bar");
            var nbJsonSerialize = ResolveSerialize();

            CheckInitIncludeProperties(nbJsonSerialize);
        }
        public void SetterAndGetter_ByInit_Should_OK()
        {
            var nbJsonSerialize = ResolveSerialize();

            _dynamicHashModel = DynamicHashDictionary.Init("Foo", "BAR");
            CheckInitIncludeProperties(nbJsonSerialize);
        }
        /// <summary>
        /// Factory
        /// </summary>
        /// <param name="includeProperties"></param>
        /// <returns></returns>
        public static DynamicHashDictionary Init(params string[] includeProperties)
        {
            var result = new DynamicHashDictionary();

            result.InitIncludeProperties(includeProperties);
            return(result);
        }
 public void IncludeProperties_Twice_Should_Ex()
 {
     AssertHelper.ShouldThrows <InvalidOperationException>(() =>
     {
         _dynamicHashModel = DynamicHashDictionary.Init("Foo", "BAR");
         _dynamicHashModel.InitIncludeProperties("*");
     });
 }
        public void MyTestInitialize()
        {
            _dynamicHashModel = new DynamicHashDictionary();

            var dynamicHashModel = _dynamicHashModel.AsDynamic();

            var mockTraceItemA = new MockTraceItem();

            dynamicHashModel.A = mockTraceItemA;

            var mockTraceItemB = new MockTraceItem();

            mockTraceItemB.Items.Add(new MockTraceItem());
            mockTraceItemB.Items.Add(new MockTraceItem());
            dynamicHashModel.B = mockTraceItemB;

            var mockTraceItemC = new MockTraceItem();

            dynamicHashModel.C = mockTraceItemC;
        }
 public void MyTestCleanup()
 {
     _dynamicHashModel = null;
 }
        //refact after read this article
        //https://www.thomaslevesque.com/2009/10/08/c-4-0-implementing-a-custom-dynamic-object/

        /// <summary>
        /// As Dynamic
        /// </summary>
        /// <param name="dynamicHashDictionary"></param>
        /// <returns></returns>
        public static dynamic AsDynamic(this DynamicHashDictionary dynamicHashDictionary)
        {
            return(dynamicHashDictionary);
        }