public async Task Initialize_ShouldCallInnerIntialize(
            IEnumerable <Mock <IInitializable> > mockInitializable
            )
        {
            //arrange
            mockInitializable.ForEach(m => m.Setup(mm => mm.Initialize(It.IsAny <CancellationToken>()))
                                      .ReturnsDefaultTask()
                                      .Verifiable())
            .ToArray();
            var sut = new CompositeParallelInitializable(mockInitializable.Select(m => m.Object));

            //act
            await sut.Initialize(CancellationToken.None);

            //assert
            mockInitializable.ForEach(m => m.Verify()).ToArray();
        }
		public async Task Initialize_ShouldCallInnerIntialize(
			IEnumerable<Mock<IInitializable>> mockInitializable
			)
		{
			//arrange
			mockInitializable.ForEach(m => m.Setup(mm => mm.Initialize(It.IsAny<CancellationToken>()))
							.ReturnsDefaultTask()
							.Verifiable())
							.ToArray();
			var sut = new CompositeParallelInitializable(mockInitializable.Select(m => m.Object));

			//act
			await sut.Initialize(CancellationToken.None);

			//assert
			mockInitializable.ForEach(m => m.Verify()).ToArray();
		}