private Dictionary<string, object> SerializeSirenEmbeddedLink(EmbeddedLink embeddedLink)
        {
            Dictionary<string, object> retval = new Dictionary<string, object>();

            retval.Add("Class", embeddedLink.Class);
            retval.Add("Rel", embeddedLink.Rel);
            retval.Add("Href", embeddedLink.Href);

            return retval;
        }
 private Dictionary<string, object> SerializeSirenEmbeddedLink(EmbeddedLink embeddedLink)
 {
     return new Dictionary<string, object>
     {
         {"Class", embeddedLink.Class},
         {"Rel", embeddedLink.Rel},
         {"Href", embeddedLink.Href}
     };
     
 }
        public void ReadFromStreamAsync_Deserializes_EmbeddedLinks_Correctly()
        {
            // Arrange
            Car car = new Car();
            EmbeddedLink embeddedLink = new EmbeddedLink(new Uri("https://www.test.com"), "Embedded Link Class", "Embedded Link Rel");
            string inputString =
                "{\"class\":[],\"properties\":{\"numberOfWheels\":0},\"entities\":[{\"class\":[\"Embedded Link Class\"],\"rel\":[\"Embedded Link Rel\"],\"href\":\"https://www.test.com\"}]}";

            // Act
            using (MemoryStream stream = new MemoryStream(System.Text.Encoding.Default.GetBytes(inputString)))
            {
                var content = new StreamContent(stream);

                var task = formatter.ReadFromStreamAsync(typeof(Car), stream, content, null);
                car = task.Result as Car;
            }

            EmbeddedLink deserialisedEmbeddedLink = (EmbeddedLink)car.Entities[0];

            // Assert
            Assert.Equal(embeddedLink.Class[0], deserialisedEmbeddedLink.Class[0]);
            Assert.Equal(embeddedLink.Rel[0], deserialisedEmbeddedLink.Rel[0]);
            Assert.Equal(embeddedLink.Href, deserialisedEmbeddedLink.Href);
        }
        public void WriteToStreamAsync_Serializes_EmbeddedLinks_Correctly()
        {
            // Arrange
            Car myCar = new Car();
            EmbeddedLink embeddedLink = new EmbeddedLink(new Uri("https://www.test.com"), "Embedded Link Class", "Embedded Link Rel");
            myCar.AddSubEntity(embeddedLink);

            // Act
            IEntity entityAfter = GetIEntityResultsFromWriteToStreamAsync(myCar);

            // Assert - Have properties
            string entityString = entityAfter.Entities[0].ToString();
            string expectedString = @"{
              ""class"": [
            ""Embedded Link Class""
              ],
              ""rel"": [
            ""Embedded Link Rel""
              ],
              ""href"": ""https://www.test.com""
            }";
            Assert.Equal(expectedString, entityString);
        }