public void Map_HasResultsAndParents_MapsParents()
        {
            //Arrange
            var oneToManyItem = new OneToManyItem { Id = 5, ParentId = 1 };
            var oneToManyItem2 = new OneToManyItem { Id = 18, ParentId = 5 };
            var oneToManyItem3 = new OneToManyItem { Id = 23, ParentId = 1 };
            var oneToManyItemList = new List<OneToManyItem> { oneToManyItem, oneToManyItem2, oneToManyItem3 };
            MockGridReader.Setup(gridReader => gridReader.Read<OneToManyItem>()).Returns(oneToManyItemList);
            var parent = new ParentItem { ChildId = 5 };
            var parentDictionary = new Dictionary<int, ParentItem> { [1] = parent };

            //Act
            OneToManyMapping.Map(MockGridReader.Object, parentDictionary, true);

            //Assert
            Assert.IsNull(parentDictionary[1].Child);
            Assert.AreEqual(2, parentDictionary[1].Children.Count);
            Assert.AreEqual(oneToManyItem, parentDictionary[1].Children[0]);
            Assert.AreEqual(oneToManyItem3, parentDictionary[1].Children[1]);
        }
        public void Map_HasResultsAndShouldContinueThroughEmptyTablesIsFalse_MapsChildren()
        {
            //Arrange
            var oneToManyItem = new OneToManyItem();
            var oneToManyItemList = new List<OneToManyItem> { oneToManyItem };
            MockGridReader.Setup(gridReader => gridReader.Read<OneToManyItem>()).Returns(oneToManyItemList);
            OneToManyMapping.AddMapping(MockChildMapping.Object);
            IDictionary<int, ParentItem> parents = null;

            //Act
            OneToManyMapping.Map(MockGridReader.Object, parents, false);

            //Assert
            MockChildMapping.Verify(childMapping => childMapping.Map(It.IsAny<IGridReader>(), It.IsAny<IDictionary<int, OneToManyItem>>(), It.IsAny<bool>()), Times.Once);
        }