Merge branch 'stkw0-fix-asserts' into develop
This commit is contained in:
@@ -53,7 +53,10 @@ namespace Database::Utils
|
|||||||
RangeResults<ResultType> res;
|
RangeResults<ResultType> res;
|
||||||
|
|
||||||
if (range)
|
if (range)
|
||||||
|
{
|
||||||
|
res.range.offset = range->offset;
|
||||||
applyRange(query, Range{ range->offset, range->size + 1 });
|
applyRange(query, Range{ range->offset, range->size + 1 });
|
||||||
|
}
|
||||||
|
|
||||||
auto collection{ query.resultList() };
|
auto collection{ query.resultList() };
|
||||||
res.results.assign(collection.begin(), collection.end());
|
res.results.assign(collection.begin(), collection.end());
|
||||||
@@ -63,10 +66,7 @@ namespace Database::Utils
|
|||||||
res.moreResults = true;
|
res.moreResults = true;
|
||||||
res.results.pop_back();
|
res.results.pop_back();
|
||||||
}
|
}
|
||||||
else
|
|
||||||
res.moreResults = false;
|
|
||||||
|
|
||||||
res.range.offset = range->offset;
|
|
||||||
res.range.size = res.results.size();
|
res.range.size = res.results.size();
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
|
|||||||
@@ -78,6 +78,66 @@ TEST_F(DatabaseFixture, Artist)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST_F(DatabaseFixture, MultipleArtists)
|
||||||
|
{
|
||||||
|
{
|
||||||
|
auto transaction{ session.createReadTransaction() };
|
||||||
|
|
||||||
|
auto artists{ Artist::findIds(session, Artist::FindParameters {}) };
|
||||||
|
ASSERT_EQ(artists.results.size(), 0);
|
||||||
|
ASSERT_FALSE(artists.moreResults);
|
||||||
|
ASSERT_EQ(artists.range.offset, 0);
|
||||||
|
ASSERT_EQ(artists.range.size, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
ScopedArtist artist1{ session, "MyArtist1" };
|
||||||
|
ScopedArtist artist2{ session, "MyArtist2" };
|
||||||
|
ScopedArtist artist3{ session, "MyArtist3" };
|
||||||
|
|
||||||
|
{
|
||||||
|
auto transaction{ session.createReadTransaction() };
|
||||||
|
|
||||||
|
auto artists{ Artist::findIds(session, Artist::FindParameters{}) };
|
||||||
|
ASSERT_EQ(artists.results.size(), 3);
|
||||||
|
ASSERT_FALSE(artists.moreResults);
|
||||||
|
ASSERT_EQ(artists.range.offset, 0);
|
||||||
|
ASSERT_EQ(artists.range.size, 3);
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
auto transaction{ session.createReadTransaction() };
|
||||||
|
|
||||||
|
auto artists{ Artist::findIds(session, Artist::FindParameters{}.setRange(Range{0,1})) };
|
||||||
|
ASSERT_EQ(artists.results.size(), 1);
|
||||||
|
ASSERT_TRUE(artists.moreResults);
|
||||||
|
ASSERT_EQ(artists.range.offset, 0);
|
||||||
|
ASSERT_EQ(artists.range.size, 1);
|
||||||
|
EXPECT_EQ(artists.results[0], artist1.getId());
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
auto transaction{ session.createReadTransaction() };
|
||||||
|
|
||||||
|
auto artists{ Artist::findIds(session, Artist::FindParameters{}.setRange(Range{1,1})) };
|
||||||
|
ASSERT_EQ(artists.results.size(), 1);
|
||||||
|
ASSERT_TRUE(artists.moreResults);
|
||||||
|
ASSERT_EQ(artists.range.offset, 1);
|
||||||
|
ASSERT_EQ(artists.range.size, 1);
|
||||||
|
EXPECT_EQ(artists.results[0], artist2.getId());
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
auto transaction{ session.createReadTransaction() };
|
||||||
|
|
||||||
|
auto artists{ Artist::findIds(session, Artist::FindParameters{}.setRange(Range{2,1})) };
|
||||||
|
ASSERT_EQ(artists.results.size(), 1);
|
||||||
|
ASSERT_FALSE(artists.moreResults);
|
||||||
|
ASSERT_EQ(artists.range.offset, 2);
|
||||||
|
ASSERT_EQ(artists.range.size, 1);
|
||||||
|
EXPECT_EQ(artists.results[0], artist3.getId());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
TEST_F(DatabaseFixture, Artist_singleTrack)
|
TEST_F(DatabaseFixture, Artist_singleTrack)
|
||||||
{
|
{
|
||||||
ScopedTrack track{ session, "MyTrack" };
|
ScopedTrack track{ session, "MyTrack" };
|
||||||
@@ -174,7 +234,7 @@ TEST_F(DatabaseFixture, Artist_singleTrack_mediaLibrary)
|
|||||||
ASSERT_EQ(artists.results.size(), 1);
|
ASSERT_EQ(artists.results.size(), 1);
|
||||||
EXPECT_EQ(artists.results.front(), artist.getId());
|
EXPECT_EQ(artists.results.front(), artist.getId());
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
auto transaction{ session.createReadTransaction() };
|
auto transaction{ session.createReadTransaction() };
|
||||||
auto artists{ Artist::findIds(session, Artist::FindParameters{}.setMediaLibrary(otherLibrary->getId())) };
|
auto artists{ Artist::findIds(session, Artist::FindParameters{}.setMediaLibrary(otherLibrary->getId())) };
|
||||||
EXPECT_EQ(artists.results.size(), 0);
|
EXPECT_EQ(artists.results.size(), 0);
|
||||||
|
|||||||
Reference in New Issue
Block a user