public void Should_return_valid_Root_Node_calling_Initializehierarchy() { // arrange var rootNodeTarget = new TestTarget { Id = 0, Data = new TestTargetData { TestString = "Profile Root" } }; var mockHierarchyDataProvider = new Mock<IHierarchyDataProvider>(); mockHierarchyDataProvider.Setup(p => p.Add(It.IsAny<HierarchyEntry>(), It.IsAny<HierarchyNode>())); var mockHierarchyEntryRepository = new Mock<IHierarchyEntryRepository>(); var mockTargetEntryRepository = new Mock<ITargetEntryRepository>(); var mockTargetRepository = new Mock<ITargetRepository>(); var mockTargetTypes = new List<Type>(); var service = new HierarchyService(mockHierarchyDataProvider.Object, mockHierarchyEntryRepository.Object, mockTargetEntryRepository.Object, mockTargetRepository.Object, mockTargetTypes); // act var rootHierarchyNode = service.InitializeHierarchy(hierarchyEntry, rootNodeTarget); // assert Assert.That(rootHierarchyNode, Is.Not.Null); Assert.That(rootHierarchyNode.LeftId, Is.EqualTo(1)); Assert.That(rootHierarchyNode.RightId, Is.EqualTo(2)); Assert.That(rootHierarchyNode.Id, Is.EqualTo(0)); mockHierarchyDataProvider .Verify(p => p.Add(It.IsAny<HierarchyEntry>(), It.IsAny<HierarchyNode>())); }