public void AddingCurie_WhichIsNull_ThrowsException() { var model = new SimpleModel(); var graph = new HalGraph(model); Assert.Throws <ArgumentNullException>(() => { graph.AddCurie(null); }); }
public void AddingCurie_WhenValid_MakesLinksTheFirstKey() { var model = new SimpleModel(); var graph = new HalGraph(model); var curieToCreate = new Curie("xx", "http://www.myapi.com/api/{placeholder}"); var result = (HalGraph)graph.AddCurie(curieToCreate); Assert.IsType <Dictionary <string, object> >(result[0]); }
public void AddingCurie_WhenValid_ReturnsTheHalGraph() { var model = new SimpleModel(); var graph = new HalGraph(model); var expectedCurie = new Curie("xx", "http://www.myapi.com/api/{placeholder}"); var result = graph.AddCurie(expectedCurie); Assert.Equal(expected: graph, actual: result); }
public void AddingCurie_WhenValid_CreatesCurieCollection() { var model = new SimpleModel(); var graph = new HalGraph(model); var curieToCreate = new Curie("xx", "http://www.myapi.com/api/{something}"); graph.AddCurie(curieToCreate); var actualLink = ((Dictionary <string, object>)graph["_links"])["curies"]; Assert.IsAssignableFrom <IEnumerable <Link> >(actualLink); }
public void AddingCurie_WhenValid_CreateLinkWithNameCurie() { var model = new SimpleModel(); var graph = new HalGraph(model); var curieToCreate = new Curie("xx", "http://www.myapi.com/api/{something}"); var expectedLink = new CurieLink("xx", "http://www.myapi.com/api/{something}"); graph.AddCurie(curieToCreate); var curiesCollection = (List <CurieLink>)((Dictionary <string, object>)graph["_links"])["curies"]; Assert.True(((Dictionary <string, object>)graph["_links"]).Count == 1); Assert.True(curiesCollection.Count == 1); expectedLink.ShouldDeepEqual(curiesCollection[0]); }
public void AddingCurie_WhenOneAlreadyAdded_AddsTheCurieToTheExistingCurieCollection() { var model = new SimpleModel(); var graph = new HalGraph(model); var firstCurieToCreate = new Curie("aa", "http://www.myapi.com/api/orders/{order-id}"); var secondCurieToCreate = new Curie("bb", "http://www.myapi.com/api/customers/{customer-id}"); //var expectedLink = new CurieLink("http://www.myapi.com/api/{something}"); graph .AddCurie(firstCurieToCreate) .AddCurie(secondCurieToCreate); var curiesCollection = (List <CurieLink>)((Dictionary <string, object>)graph["_links"])["curies"]; Assert.True(((Dictionary <string, object>)graph["_links"]).Count == 1); Assert.True(curiesCollection.Count == 2); }