forked from qt-creator/qt-creator
UnitTests: Optimize example string generation
Change-Id: I9cc17269812dd9a61b192598f947e2754673c96e Reviewed-by: Qt CI Patch Build Bot <ci_patchbuild_bot@qt.io> Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
@@ -618,21 +618,21 @@ TEST(SmallString, to_q_string)
|
|||||||
class FromQString : public testing::TestWithParam<qsizetype>
|
class FromQString : public testing::TestWithParam<qsizetype>
|
||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
QString randomString(qsizetype size)
|
QString exampleString(qsizetype size)
|
||||||
{
|
{
|
||||||
static constexpr char16_t characters[] = u"0123456789"
|
static constexpr char16_t characters[] = u"0123456789"
|
||||||
"abcdefghijklmnopqrstuvwxyz"
|
"abcdefghijklmnopqrstuvwxyz"
|
||||||
"ABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
"ABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
||||||
|
|
||||||
static std::mt19937 generator{std::random_device{}()};
|
|
||||||
static std::uniform_int_distribution<std::size_t> pick(0, std::size(characters) - 1);
|
|
||||||
|
|
||||||
QString string;
|
QString string;
|
||||||
|
|
||||||
string.reserve(size);
|
string.reserve(size);
|
||||||
|
|
||||||
|
std::size_t index = 0;
|
||||||
std::generate_n(std::back_inserter(string), size, [&]() {
|
std::generate_n(std::back_inserter(string), size, [&]() {
|
||||||
return characters[pick(generator)];
|
if (index >= std::size(characters))
|
||||||
|
index = 0;
|
||||||
|
|
||||||
|
return characters[index++];
|
||||||
});
|
});
|
||||||
|
|
||||||
return string;
|
return string;
|
||||||
@@ -646,7 +646,7 @@ INSTANTIATE_TEST_SUITE_P(SmallString, FromQString, testing::Range<qsizetype>(0,
|
|||||||
|
|
||||||
TEST_P(FromQString, from_qstring)
|
TEST_P(FromQString, from_qstring)
|
||||||
{
|
{
|
||||||
const QString qStringText = randomString(size);
|
const QString qStringText = exampleString(size);
|
||||||
|
|
||||||
auto text = SmallString(qStringText);
|
auto text = SmallString(qStringText);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user