public void ShouldThrowExceptionOnSerialization()
        {
            // Arrange
            JsonContentSerializer serializer = new JsonContentSerializer();

            // Act & Assert
            Should.Throw<ArgumentNullException>(() => serializer.Serialize((object)null));
        }
        public void SerializeNullItemThrows()
        {
            var message    = new HttpRequestMessage();
            var serializer = new JsonContentSerializer();

            Assert.Throws <ArgumentNullException>
            (
                () => serializer.Serialize <Uom>(message, null)
            );
        }
        public void SerializeNullMessageThrows()
        {
            var uom        = new Uom();
            var serializer = new JsonContentSerializer();

            Assert.Throws <ArgumentNullException>
            (
                () => serializer.Serialize <Uom>(null, uom)
            );
        }
        public void ShouldDeserializeObject()
        {
            // Arrange
            JsonContentSerializer serializer = new JsonContentSerializer();

            // Act
            var resource = serializer.Deserialize<Resource>("{\"name\":\"foo\"}");

            // Assert
            serializer.Serialize(resource).ShouldBe("{\"name\":\"foo\"}");
        }
        public void ShouldSerializeObject()
        {
            // Arrange
            var resources = new { resource = CreateTestObject() };
            JsonContentSerializer serializer = new JsonContentSerializer();

            // Act
            string json = serializer.Serialize(resources);

            // Assert
            json.ShouldBe(TestJson);
        }
        public async Task SerializeSucceeds()
        {
            var expectedItem = new Uom(1, "TheUom", "TheDescription");
            var message      = new HttpRequestMessage();
            var serializer   = new JsonContentSerializer();

            serializer.Serialize <Uom>(message, expectedItem);
            var deserializer = new JsonContentDeserializer();
            var actualItem   = await deserializer.DeserializeAsync <Uom>(message.Content);

            Assert.True(UomEqual.Check(expectedItem, actualItem));
        }
        public void ShouldDeserializeAnonymousObject()
        {
            // Arrange
            JsonContentSerializer serializer = new JsonContentSerializer();

            // Act
            var resource = new { resource = new List<Resource>() };
            resource = serializer.Deserialize(TestJson, resource);

            // Assert
            serializer.Serialize(resource).ShouldBe(TestJson);
        }
        public void ShouldSerializeObject()
        {
            // Arrange
            var resources = new { resource = CreateTestObject() };
            JsonContentSerializer serializer = new JsonContentSerializer();

            // Act
            string json = serializer.Serialize(resources);

            // Assert
            json.ShouldBe(TestJson);
        }