public void Rollback_MultipleDataSets_ShouldRollbackAllInternalContexts(
            Mock<BaseDataSet<int>> dataSet1,
            Mock<BaseDataSet<string>> dataSet2,
            FakeDataContext context)
        {
            // Arrange

            context.SetUpDataSet(dataSet1.Object);
            context.Set<int>();

            context.SetUpDataSet(dataSet2.Object);
            context.Set<string>();

            // Act

            context.Rollback();

            // Assert

            dataSet1.Verify(s => s.Rollback(), Times.Once);
            dataSet2.Verify(s => s.Rollback(), Times.Once);
        }