Exemple #1
0
        public void SerializeToStringUsesGivenFormatProvider()
        {
            var hasToString = new HasToString();
            var requestInfo = this.Request <ICustomRawQueryString>(x => x.FooAsync(hasToString));

            var formatProvider = new Mock <IFormatProvider>();

            Assert.Single(requestInfo.RawQueryParameters);
            requestInfo.RawQueryParameters.First().SerializeToString(formatProvider.Object);

            Assert.Equal(formatProvider.Object, hasToString.LastFormatProvider);
            //formatProvider.Verify(x => x.GetFormat(typeof(NumberFormatInfo)));
        }
        public void PassesFormatWhenSerializing()
        {
            var obj         = new HasToString();
            var requestInfo = new RequestInfo(HttpMethod.Get, null);

            requestInfo.AddQueryParameter(QuerySerializationMethod.Serialized, "bar", obj, "D3");

            var serializer = new Mock <RequestQueryParamSerializer>();

            serializer.Setup(x => x.SerializeQueryParam <HasToString>("bar", obj, new RequestQueryParamSerializerInfo(requestInfo, "D3"))).Returns(new[] { new KeyValuePair <string, string>("bar", "BOOMYAY") }).Verifiable();
            this.requester.RequestQueryParamSerializer = serializer.Object;

            var uri = this.requester.ConstructUri("/foo", requestInfo);

            serializer.VerifyAll();
        }
        public void SerializesUsingSerializerForSerializedSerializationMethod()
        {
            var obj         = new HasToString();
            var requestInfo = new RequestInfo(HttpMethod.Get, null);

            requestInfo.AddQueryParameter(QuerySerializationMethod.Serialized, "bar", obj);

            var serializer = new Mock <IRequestQueryParamSerializer>();

            serializer.Setup(x => x.SerializeQueryParam <HasToString>("bar", obj)).Returns(new[] { new KeyValuePair <string, string>("bar", "BOOMYAY") }).Verifiable();
            this.requester.RequestQueryParamSerializer = serializer.Object;

            var uri = this.requester.ConstructUri("/foo", requestInfo);

            serializer.VerifyAll();
            Assert.Equal(new Uri("http://api.example.com/base/foo?bar=BOOMYAY"), uri);
        }
Exemple #4
0
        public void SerializeToStringUsesGivenFormatProvider()
        {
            var          implementation = this.builder.CreateImplementation <ICustomRawQueryString>(this.requester.Object);
            IRequestInfo requestInfo    = null;

            this.requester.Setup(x => x.RequestVoidAsync(It.IsAny <IRequestInfo>()))
            .Callback((IRequestInfo r) => requestInfo = r)
            .Returns(Task.FromResult(false));

            var hasToString = new HasToString();

            implementation.FooAsync(hasToString);

            var formatProvider = new Mock <IFormatProvider>();

            requestInfo.RawQueryParameters.First().SerializeToString(formatProvider.Object);

            Assert.Equal(formatProvider.Object, hasToString.LastFormatProvider);
            //formatProvider.Verify(x => x.GetFormat(typeof(NumberFormatInfo)));
        }
Exemple #5
0
 string NoOverride(string s, NoToString n) => s + n;           // constrained. callvirt
 string HasOverride(string s, HasToString h) => s + h;         // constrained. callvirt
        public void SerializesUsingSerializerForSerializedSerializationMethodOnCollections()
        {
            var obj = new HasToString();
            var requestInfo = new RequestInfo(HttpMethod.Get, null);
            requestInfo.AddQueryCollectionParameter(QuerySerializationMethod.Serialized, "bar", new[] { obj });

            var serializer = new Mock<IRequestQueryParamSerializer>();
            serializer.Setup(x => x.SerializeQueryCollectionParam<HasToString>("bar", new[] { obj }))
                .Returns(new[] { new KeyValuePair<string, string>("bar", "BOOMYAY"), new KeyValuePair<string, string>("bar", "BOOMWOO") })
                .Verifiable();
            this.requester.RequestQueryParamSerializer = serializer.Object;

            var uri = this.requester.ConstructUri("/foo", requestInfo);

            serializer.VerifyAll();
            Assert.Equal(new Uri("http://api.example.com/base/foo?bar=BOOMYAY&bar=BOOMWOO"), uri);
        }