public void Should_return_valid_node_calling_GetRootNode() { // arrange var rootNodeTarget = new HierarchyNode { Id = 0, LeftId = 1, RightId = 2 }; var mockHierarchyDataProvider = new Mock<IHierarchyDataProvider>(); mockHierarchyDataProvider .Setup(p => p.GetRootNode(It.IsAny<HierarchyEntry>())) .Returns(rootNodeTarget); 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.GetRootNode(hierarchyEntry); // 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.GetRootNode(It.IsAny<HierarchyEntry>())); }