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

8
ErsatzTV/Pages/MultiSelectBase.cs

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

Loading…
Cancel
Save