public void CanWriteSelectAllToJsonUsingNewtonsoftJsonConverter()
        {
            // Arrange
            SelectAll <Customer> selectAll = new SelectAll <Customer>();

            selectAll.Container = null;
            selectAll.Model     = _edmModel;
            selectAll.UseInstanceForProperties = true;
            selectAll.Instance = new Customer
            {
                Id       = 2,
                Name     = "abc",
                Location = new Address
                {
                    Street = "37TH PL",
                    City   = "Reond"
                }
            };

            JSelectExpandWrapperConverter converter = new JSelectExpandWrapperConverter();

            // Act
            string json = SerializeUtils.WriteJson(converter, selectAll);

            // Assert
            Assert.Equal("{\"Id\":2,\"Name\":\"abc\",\"Location\":{\"Street\":\"37TH PL\",\"City\":\"Reond\"}}", json);
        }
示例#2
0
        public void CanWritePageResultAllToJsonUsingNewtonsoftJsonConverter()
        {
            // Arrange
            Uri uri = new Uri("http://any");
            PageResult <PageCustomer> pageResult = new PageResult <PageCustomer>(_customers, uri, 4);
            JPageResultValueConverter converter  = new JPageResultValueConverter();

            // Act
            string json = SerializeUtils.WriteJson(converter, pageResult, true);

            // Assert
            Assert.Equal(@"{
  ""items"": [
    {
      ""Id"": 1,
      ""Name"": ""XU""
    },
    {
      ""Id"": 2,
      ""Name"": ""WU""
    }
  ],
  ""nextpagelink"": ""http://any"",
  ""count"": 4
}", json);
        }
示例#3
0
        public void CanWritePageResultOnlyWithEnumerableToJsonUsingNewtonsoftJsonConverter()
        {
            // Arrange
            PageResult <PageCustomer> pageResult = new PageResult <PageCustomer>(_customers, null, null);
            JPageResultValueConverter converter  = new JPageResultValueConverter();

            // Act
            string json = SerializeUtils.WriteJson(converter, pageResult);

            // Assert
            Assert.Equal("{\"items\":[{\"Id\":1,\"Name\":\"XU\"},{\"Id\":2,\"Name\":\"WU\"}]}", json);
        }
示例#4
0
        public void CanWriteSingleResultToJsonUsingNewtonsoftJsonConverter()
        {
            // Arrange
            SingleResult <SingleCustomer> pageResult = new SingleResult <SingleCustomer>(_customers);
            JSingleResultValueConverter   converter  = new JSingleResultValueConverter();

            // Act
            string json = SerializeUtils.WriteJson(converter, pageResult);

            // Assert
            Assert.Equal("{\"Id\":1,\"Name\":\"XU\"}", json);
        }
        public void CanWriteSelectAllAndExpandToJsonUsingNewtonsoftJsonConverter()
        {
            // Arrange
            SelectAll <Order> expandOrder = new SelectAll <Order>();

            expandOrder.Model = _edmModel;
            expandOrder.UseInstanceForProperties = true;
            expandOrder.Instance = new Order
            {
                Id    = 21,
                Title = "new Order21"
            };

            SelectAllAndExpand <Customer> selectExpand = new SelectAllAndExpand <Customer>();
            MockPropertyContainer         container    = new MockPropertyContainer();

            container.Properties["Orders"]        = expandOrder; // expanded
            selectExpand.Container                = container;
            selectExpand.Model                    = _edmModel;
            selectExpand.UseInstanceForProperties = true;
            selectExpand.Instance                 = new Customer
            {
                Id       = 2,
                Name     = "abc",
                Location = new Address
                {
                    Street = "37TH PL",
                    City   = "Reond"
                }
            };

            JSelectExpandWrapperConverter converter = new JSelectExpandWrapperConverter();

            // Act
            string json = SerializeUtils.WriteJson(converter, selectExpand, true);

            // Assert
            Assert.Equal(@"{
  ""Orders"": {
    ""Id"": 21,
    ""Title"": ""new Order21""
  },
  ""Id"": 2,
  ""Name"": ""abc"",
  ""Location"": {
    ""Street"": ""37TH PL"",
    ""City"": ""Reond""
  }
}", json);
        }
        public void CanWriteSelectSomeWrapperToJsonUsingNewtonsoftJsonConverter()
        {
            // Arrange
            SelectSome <Customer> selectSome = new SelectSome <Customer>();
            MockPropertyContainer container  = new MockPropertyContainer();

            container.Properties["Name"] = "sam";
            selectSome.Container         = container;
            selectSome.Model             = _edmModel;

            JSelectExpandWrapperConverter converter = new JSelectExpandWrapperConverter();

            // Act
            string json = SerializeUtils.WriteJson(converter, selectSome);

            // Assert
            Assert.Equal("{\"Name\":\"sam\"}", json);
        }
示例#7
0
        internal static void TestDynamicTypeWrapperConverter <T>() where T : GroupByWrapper
        {
            // Arrange
            T wrapper = (T)Activator.CreateInstance(typeof(T));

            wrapper.GroupByContainer = new AggregationPropertyContainer()
            {
                Name  = "TestProp",
                Value = "TestValue"
            };

            JDynamicTypeWrapperConverter converter = new JDynamicTypeWrapperConverter();

            // Act
            string json = SerializeUtils.WriteJson(converter, wrapper);

            // Assert
            Assert.Equal("{\"TestProp\":\"TestValue\"}", json);
        }
示例#8
0
        public void FlatteningWrapperOfTypeConverterCanSerializeGroupByWrapper()
        {
            // Arrange
            FlatteningWrapper <object> flatteningWrapper = new FlatteningWrapper <object>
            {
                GroupByContainer = new AggregationPropertyContainer()
                {
                    Name  = "TestProp",
                    Value = "TestValue"
                }
            };

            JDynamicTypeWrapperConverter converter = new JDynamicTypeWrapperConverter();

            // Act
            string json = SerializeUtils.WriteJson(converter, flatteningWrapper);

            // Assert
            Assert.Equal("{\"TestProp\":\"TestValue\"}", json);
        }
示例#9
0
        public void ComputeWrapperOfTypeConverterCanSerializeGroupByWrapper()
        {
            // Arrange
            GroupByWrapper wrapper = new GroupByWrapper();

            wrapper.GroupByContainer = new AggregationPropertyContainer()
            {
                Name  = "TestProp",
                Value = "TestValue"
            };

            ComputeWrapper <GroupByWrapper> computeWrapper = new ComputeWrapper <GroupByWrapper>
            {
                Instance = wrapper
            };

            JDynamicTypeWrapperConverter converter = new JDynamicTypeWrapperConverter();

            // Act
            string json = SerializeUtils.WriteJson(converter, computeWrapper);

            // Assert
            Assert.Equal("{\"TestProp\":\"TestValue\"}", json);
        }