public void AddNode_NewNodeIsValid_ReturnsCreatedAtActionWithNewId()
        {
            // Arrange
            var  treeRepository = Substitute.For <ICachedTreeRepository>();
            Guid newId          = Guid.NewGuid();

            treeRepository.Add(Arg.Do <TreeNode>(node => node.Id = newId));
            var cachedTreeController = new CachedTreeController(treeRepository);

            // Act
            ActionResult result = cachedTreeController.AddNode(new TreeNode()).Result;

            // Assert
            Assert.That(result, Is.TypeOf <CreatedAtActionResult>());
            Assert.That(((CreatedAtActionResult)result).RouteValues["id"], Is.EqualTo(newId));
        }