public void ReOrderingAscendinglyMustUpdateChildNodesAsWell()
        {
            //Arrange
            var ctx = CreateContext();
            mockCentres
                .Setup(set => set.Find(It.Is<object[]>(objects => (string)objects[0] == CostCentre0)))
                .Returns(() => centres[0]);
            mockCentres
                .Setup(set => set.Find(It.Is<object[]>(objects => (string)objects[0] == CostCentre7)))
                .Returns(() => centres[7]);

            ctx
                .SetupGet(c => c.CostCentres)
                .Returns(mockCentres.Object);
            ctx
                .SetupGet(c => c.CarbonEmissionEntries)
                .Returns(mockEntries.Object);
            var sut = new CostCentreController(ctx.Object);

            //Act
            sut.ReOrder(CostCentre7, 1);

            //Assert
            Assert.AreEqual(new HierarchyId("/2/"), centres[1].Node);
            Assert.AreEqual(new HierarchyId("/2/1/"), centres[2].Node);
            Assert.AreEqual(new HierarchyId("/2/2/"), centres[3].Node);
            Assert.AreEqual(new HierarchyId("/2/2/1/"), centres[4].Node);
            Assert.AreEqual(new HierarchyId("/3/"), centres[5].Node);
            Assert.AreEqual(new HierarchyId("/3/1/"), centres[6].Node);
            Assert.AreEqual(new HierarchyId("/1/"), centres[7].Node);
        }