Browse Source

Simplify select-all reset helper

pull/2738/head
Jon Crall 7 months ago
parent
commit
cde31e23c8
  1. 6
      ErsatzTV.Core.Tests/Pages/MediaCardSelectionHelperTests.cs
  2. 8
      ErsatzTV/Pages/MultiSelectBase.cs

6
ErsatzTV.Core.Tests/Pages/MediaCardSelectionHelperTests.cs

@ -18,10 +18,9 @@ public class MediaCardSelectionHelperTests
var first = new MediaCardViewModel(2, "First", "Sub", "First", "", Core.Domain.MediaItemState.Normal, false); var first = new MediaCardViewModel(2, "First", "Sub", "First", "", Core.Domain.MediaItemState.Normal, false);
var second = new MediaCardViewModel(3, "Second", "Sub", "Second", "", Core.Domain.MediaItemState.Normal, false); var second = new MediaCardViewModel(3, "Second", "Sub", "Second", "", Core.Domain.MediaItemState.Normal, false);
MediaCardViewModel last = MultiSelectBase<Search>.ResetSelectionWithCards(selected, new[] { first, second }); MultiSelectBase<Search>.ResetSelectionWithCards(selected, new[] { first, second });
selected.ShouldBe(new[] { first, second }, ignoreOrder: true); selected.ShouldBe(new[] { first, second }, ignoreOrder: true);
last.ShouldBe(second);
} }
[Test] [Test]
@ -30,9 +29,8 @@ public class MediaCardSelectionHelperTests
var existingCard = new MediaCardViewModel(1, "Existing", "Sub", "Existing", "", Core.Domain.MediaItemState.Normal, false); var existingCard = new MediaCardViewModel(1, "Existing", "Sub", "Existing", "", Core.Domain.MediaItemState.Normal, false);
var selected = new HashSet<MediaCardViewModel> { existingCard }; var selected = new HashSet<MediaCardViewModel> { existingCard };
MediaCardViewModel last = MultiSelectBase<Search>.ResetSelectionWithCards(selected, []); MultiSelectBase<Search>.ResetSelectionWithCards(selected, []);
selected.ShouldBeEmpty(); selected.ShouldBeEmpty();
last.ShouldBeNull();
} }
} }

8
ErsatzTV/Pages/MultiSelectBase.cs

@ -248,15 +248,11 @@ public class MultiSelectBase<T> : FragmentNavigationBase
} }
} }
internal static MediaCardViewModel ResetSelectionWithCards( internal static void ResetSelectionWithCards(
ISet<MediaCardViewModel> selectedItems, ISet<MediaCardViewModel> selectedItems,
IEnumerable<MediaCardViewModel> cards) IEnumerable<MediaCardViewModel> cards)
{ {
List<MediaCardViewModel> cardList = (cards ?? Enumerable.Empty<MediaCardViewModel>()).ToList();
selectedItems.Clear(); selectedItems.Clear();
selectedItems.UnionWith(cardList); selectedItems.UnionWith(cards);
return cardList.LastOrDefault();
} }
} }

Loading…
Cancel
Save