Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 42 additions & 0 deletions src/Wolfgang.Etl.TestKit.Xunit/ExtractorBaseContractTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -771,4 +771,46 @@ public async Task ExtractAsync_skips_items_up_to_SkipItemCount_Async()
Assert.Equal(expected[1], actual[0]);
Assert.Equal(1, sut.CurrentSkippedItemCount);
}

/// <summary>
/// Verifies that <c>CurrentItemCount</c> is zero on a freshly created extractor, before any
/// extraction has run.
/// </summary>
[Fact]
public void CurrentItemCount_defaults_to_zero()
{
var sut = CreateSut();

Assert.Equal(0, sut.CurrentItemCount);
}

/// <summary>
/// Verifies that <c>CurrentSkippedItemCount</c> is zero on a freshly created extractor, before
/// any extraction has run.
/// </summary>
[Fact]
public void CurrentSkippedItemCount_defaults_to_zero()
{
var sut = CreateSut();

Assert.Equal(0, sut.CurrentSkippedItemCount);
}

/// <summary>
/// Verifies that <c>CurrentSkippedItemCount</c> reflects the exact number of items skipped by
/// <c>SkipItemCount</c> after a run.
/// </summary>
[Fact]
public async Task ExtractAsync_CurrentSkippedItemCount_reflects_the_number_of_items_skipped_Async()
{
var sut = CreateSut();
var expected = CreateExpectedItems();
Assert.True(expected.Count >= 3, "CreateExpectedItems() must return at least 3 items.");

sut.SkipItemCount = 2;

await sut.ExtractAsync().ToListAsync().ConfigureAwait(false);

Assert.Equal(2, sut.CurrentSkippedItemCount);
}
}
42 changes: 42 additions & 0 deletions src/Wolfgang.Etl.TestKit.Xunit/LoaderBaseContractTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -835,4 +835,46 @@ public async Task LoadAsync_skips_items_up_to_SkipItemCount_Async()
Assert.Equal(expected.Count - 1, sut.CurrentItemCount);
Assert.Equal(1, sut.CurrentSkippedItemCount);
}

/// <summary>
/// Verifies that <c>CurrentItemCount</c> is zero on a freshly created loader, before any load
/// has run.
/// </summary>
[Fact]
public void CurrentItemCount_defaults_to_zero()
{
var sut = CreateSut();

Assert.Equal(0, sut.CurrentItemCount);
}

/// <summary>
/// Verifies that <c>CurrentSkippedItemCount</c> is zero on a freshly created loader, before any
/// load has run.
/// </summary>
[Fact]
public void CurrentSkippedItemCount_defaults_to_zero()
{
var sut = CreateSut();

Assert.Equal(0, sut.CurrentSkippedItemCount);
}

/// <summary>
/// Verifies that <c>CurrentSkippedItemCount</c> reflects the exact number of items skipped by
/// <c>SkipItemCount</c> after a run.
/// </summary>
[Fact]
public async Task LoadAsync_CurrentSkippedItemCount_reflects_the_number_of_items_skipped_Async()
{
var sut = CreateSut();
var expected = CreateSourceItems();
Assert.True(expected.Count >= 3, "CreateSourceItems() must return at least 3 items.");

sut.SkipItemCount = 2;

await sut.LoadAsync(CreateInputItemsAsync()).ConfigureAwait(false);

Assert.Equal(2, sut.CurrentSkippedItemCount);
}
}
9 changes: 9 additions & 0 deletions src/Wolfgang.Etl.TestKit.Xunit/PublicAPI.Unshipped.txt
Original file line number Diff line number Diff line change
Expand Up @@ -32,3 +32,12 @@ Wolfgang.Etl.TestKit.Xunit.DisposableStageContractTests<TSut>.Public_operation_a
Wolfgang.Etl.TestKit.Xunit.DisposableStageContractTests<TSut>.Public_operation_before_dispose_does_not_throw_ObjectDisposedException_Async() -> System.Threading.Tasks.Task!
abstract Wolfgang.Etl.TestKit.Xunit.DisposableStageContractTests<TSut>.CreateSut() -> TSut!
abstract Wolfgang.Etl.TestKit.Xunit.DisposableStageContractTests<TSut>.InvokeReportsObjectDisposedAsync(bool disposeFirst, bool useAsyncDispose) -> System.Threading.Tasks.Task<bool>!
Wolfgang.Etl.TestKit.Xunit.ExtractorBaseContractTests<TSut, TItem, TProgress>.CurrentItemCount_defaults_to_zero() -> void
Wolfgang.Etl.TestKit.Xunit.ExtractorBaseContractTests<TSut, TItem, TProgress>.CurrentSkippedItemCount_defaults_to_zero() -> void
Wolfgang.Etl.TestKit.Xunit.ExtractorBaseContractTests<TSut, TItem, TProgress>.ExtractAsync_CurrentSkippedItemCount_reflects_the_number_of_items_skipped_Async() -> System.Threading.Tasks.Task!
Wolfgang.Etl.TestKit.Xunit.LoaderBaseContractTests<TSut, TItem, TProgress>.CurrentItemCount_defaults_to_zero() -> void
Wolfgang.Etl.TestKit.Xunit.LoaderBaseContractTests<TSut, TItem, TProgress>.CurrentSkippedItemCount_defaults_to_zero() -> void
Wolfgang.Etl.TestKit.Xunit.LoaderBaseContractTests<TSut, TItem, TProgress>.LoadAsync_CurrentSkippedItemCount_reflects_the_number_of_items_skipped_Async() -> System.Threading.Tasks.Task!
Wolfgang.Etl.TestKit.Xunit.TransformerBaseContractTests<TSut, TItem, TProgress>.CurrentItemCount_defaults_to_zero() -> void
Wolfgang.Etl.TestKit.Xunit.TransformerBaseContractTests<TSut, TItem, TProgress>.CurrentSkippedItemCount_defaults_to_zero() -> void
Wolfgang.Etl.TestKit.Xunit.TransformerBaseContractTests<TSut, TItem, TProgress>.TransformAsync_CurrentSkippedItemCount_reflects_the_number_of_items_skipped_Async() -> System.Threading.Tasks.Task!
42 changes: 42 additions & 0 deletions src/Wolfgang.Etl.TestKit.Xunit/TransformerBaseContractTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -870,4 +870,46 @@ public async Task TransformAsync_skips_items_up_to_SkipItemCount_Async()
Assert.Equal(expected.Count - 1, actual.Count);
Assert.Equal(expected.Skip(1).ToList(), actual);
}

/// <summary>
/// Verifies that <c>CurrentItemCount</c> is zero on a freshly created transformer, before any
/// transformation has run.
/// </summary>
[Fact]
public void CurrentItemCount_defaults_to_zero()
{
var sut = CreateSut();

Assert.Equal(0, sut.CurrentItemCount);
}

/// <summary>
/// Verifies that <c>CurrentSkippedItemCount</c> is zero on a freshly created transformer,
/// before any transformation has run.
/// </summary>
[Fact]
public void CurrentSkippedItemCount_defaults_to_zero()
{
var sut = CreateSut();

Assert.Equal(0, sut.CurrentSkippedItemCount);
}

/// <summary>
/// Verifies that <c>CurrentSkippedItemCount</c> reflects the exact number of items skipped by
/// <c>SkipItemCount</c> after a run.
/// </summary>
[Fact]
public async Task TransformAsync_CurrentSkippedItemCount_reflects_the_number_of_items_skipped_Async()
{
var sut = CreateSut();
var expected = CreateExpectedItems();
Assert.True(expected.Count >= 3, "CreateExpectedItems() must return at least 3 items.");

sut.SkipItemCount = 2;

await sut.TransformAsync(CreateInputItemsAsync()).ToListAsync().ConfigureAwait(false);

Assert.Equal(2, sut.CurrentSkippedItemCount);
}
}
Loading