import 'package:aves/model/dynamic_albums.dart'; import 'package:aves/model/filters/container/album_group.dart'; import 'package:aves/model/filters/container/dynamic_album.dart'; import 'package:aves/model/filters/container/set_or.dart'; import 'package:aves/model/filters/covered/stored_album.dart'; import 'package:aves/model/grouping/common.dart'; import 'package:aves/model/grouping/convert.dart'; import 'package:test/test.dart'; import '../../common.dart'; void main() { const groupName = 'some group name'; const storedAlbumPath = '/path/to/album/'; setUpAll(() async { await setUpAllServices(); }); setUp(() async { await setUpServices(); }); tearDownAll(() async { await tearDownAllServices(); }); test('Filter URI round trip', () { final storedAlbumFilter = StoredAlbumFilter(storedAlbumPath, 'display name'); final dynamicAlbumFilter = DynamicAlbumFilter('dynamic name', storedAlbumFilter); dynamicAlbums.add(dynamicAlbumFilter); final groupUri = albumGrouping.buildGroupUri(null, groupName); final albumGroupFilter = AlbumGroupFilter(groupUri, SetOrFilter({storedAlbumFilter, dynamicAlbumFilter})); expect(albumGrouping.uriToFilter(GroupingConversion.filterToUri(storedAlbumFilter)), storedAlbumFilter); expect(albumGrouping.uriToFilter(GroupingConversion.filterToUri(dynamicAlbumFilter)), dynamicAlbumFilter); expect(albumGrouping.uriToFilter(GroupingConversion.filterToUri(albumGroupFilter)), albumGroupFilter); }); }