public void State_Index_Should_Increment() { Collection collection = CreateCollection(10); List <MediaItem> contents = Episodes(10); var state = new CollectionEnumeratorState(); var customOrderContent = new CustomOrderCollectionEnumerator(collection, contents, state); for (var i = 0; i < 10; i++) { customOrderContent.State.Index.Should().Be(i % 10); customOrderContent.MoveNext(); } }
public void MediaItems_Should_Sort_By_CustomOrder() { Collection collection = CreateCollection(10); List <MediaItem> contents = Episodes(10); var state = new CollectionEnumeratorState(); var customOrderContent = new CustomOrderCollectionEnumerator(collection, contents, state); for (var i = 10; i >= 1; i--) { customOrderContent.Current.IsSome.Should().BeTrue(); customOrderContent.Current.Map(x => x.Id).IfNone(-1).Should().Be(i); customOrderContent.MoveNext(); } }
public void State_Should_Impact_Iterator_Start() { Collection collection = CreateCollection(10); List <MediaItem> contents = Episodes(10); var state = new CollectionEnumeratorState { Index = 5 }; var customOrderContent = new CustomOrderCollectionEnumerator(collection, contents, state); for (var i = 5; i >= 1; i--) { customOrderContent.Current.IsSome.Should().BeTrue(); customOrderContent.Current.Map(x => x.Id).IfNone(-1).Should().Be(i); customOrderContent.State.Index.Should().Be(5 - i + 5); // 5 through 10 customOrderContent.MoveNext(); } }