Merge branch 'stkw0-fix-asserts' into develop
This commit is contained in:
@@ -53,7 +53,10 @@ namespace Database::Utils
|
||||
RangeResults<ResultType> res;
|
||||
|
||||
if (range)
|
||||
{
|
||||
res.range.offset = range->offset;
|
||||
applyRange(query, Range{ range->offset, range->size + 1 });
|
||||
}
|
||||
|
||||
auto collection{ query.resultList() };
|
||||
res.results.assign(collection.begin(), collection.end());
|
||||
@@ -63,10 +66,7 @@ namespace Database::Utils
|
||||
res.moreResults = true;
|
||||
res.results.pop_back();
|
||||
}
|
||||
else
|
||||
res.moreResults = false;
|
||||
|
||||
res.range.offset = range->offset;
|
||||
res.range.size = res.results.size();
|
||||
|
||||
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)
|
||||
{
|
||||
ScopedTrack track{ session, "MyTrack" };
|
||||
|
||||
Reference in New Issue
Block a user