public void LinksExternalReferenceTest() { var externalUri = "http://www.example.com/"; var routeNameLinking = typeof(ExternalUsingHypermediaObject).Name + "_Route"; RouteRegister.AddHypermediaObjectRoute(typeof(ExternalUsingHypermediaObject), routeNameLinking); var ho = new ExternalUsingHypermediaObject(); const string rel = "External"; ho.Links.Add(rel, new ExternalReference(new Uri(externalUri))); var siren = SirenConverter.ConvertToJson(ho); AssertDefaultClassName(siren, typeof(ExternalUsingHypermediaObject)); AssertEmptyProperties(siren); AssertEmptyEntities(siren); AssertEmptyActions(siren); Assert.IsTrue(siren["links"].Type == JTokenType.Array); var linksArray = (JArray)siren["links"]; Assert.AreEqual(linksArray.Count, ho.Links.Count); var linkObject = linksArray[0] as JObject; if (linkObject == null) { throw new Exception("Link array item should be a JObject"); } var relationArray = (JArray)linkObject["rel"]; var sirenRelations = relationArray.Values <string>().ToList(); var stringListComparer = new StringCollectionComparer(); var hasDesiredRelations = stringListComparer.Equals(sirenRelations, new List <string> { rel }); Assert.IsTrue(hasDesiredRelations); Assert.AreEqual(((JValue)linkObject["href"]).Value <string>(), externalUri); }
public void TestInit() { stringListComparer = new StringCollectionComparer(); }