ResInsight/ApplicationLibCode/UnitTests/RiaProjectFileTools-Test.cpp
Magne Sjaastad a952fbce7e Move function to RiaProjectFileTools
Rename to RiaProjectFileTools
2024-06-05 14:35:01 +02:00

154 lines
5.1 KiB
C++

#include "gtest/gtest.h"
#include "RiaProjectFileTools.h"
#include <QStringList>
TEST( RiaProjectFileTools, DecodeProjectVersionString )
{
{
int majorVersion = -1;
int minorVersion = -1;
int patchNumber = -1;
int developmentId = -1;
QString projectFileVersionString = "2017.05.1";
RiaProjectFileTools::decodeVersionString( projectFileVersionString, &majorVersion, &minorVersion, &patchNumber, &developmentId );
EXPECT_EQ( 2017, majorVersion );
EXPECT_EQ( 5, minorVersion );
EXPECT_EQ( 1, patchNumber );
EXPECT_EQ( -1, developmentId );
}
{
int majorVersion = -1;
int minorVersion = -1;
int patchNumber = -1;
int developmentId = -1;
QString projectFileVersionString = "";
RiaProjectFileTools::decodeVersionString( projectFileVersionString, &majorVersion, &minorVersion, &patchNumber, &developmentId );
EXPECT_EQ( -1, majorVersion );
EXPECT_EQ( -1, minorVersion );
EXPECT_EQ( -1, patchNumber );
EXPECT_EQ( -1, developmentId );
}
{
int majorVersion = -1;
int minorVersion = -1;
int patchNumber = -1;
int developmentId = -1;
QString projectFileVersionString = "2017.05.2-dev.23";
RiaProjectFileTools::decodeVersionString( projectFileVersionString, &majorVersion, &minorVersion, &patchNumber, &developmentId );
EXPECT_EQ( 2017, majorVersion );
EXPECT_EQ( 5, minorVersion );
EXPECT_EQ( 2, patchNumber );
EXPECT_EQ( 23, developmentId );
}
{
int majorVersion = -1;
int minorVersion = -1;
int patchNumber = -1;
int developmentId = -1;
QString projectFileVersionString = "2017.05.2-dev.long.text..23";
RiaProjectFileTools::decodeVersionString( projectFileVersionString, &majorVersion, &minorVersion, &patchNumber, &developmentId );
EXPECT_EQ( 2017, majorVersion );
EXPECT_EQ( 5, minorVersion );
EXPECT_EQ( 2, patchNumber );
EXPECT_EQ( 23, developmentId );
}
}
TEST( RiaProjectFileTools, OrderKnownVersionStrings )
{
QStringList versionStrings;
{
// The following list is taken from traversing history of ResInsightVersion.cmake
versionStrings << "2017.05.2-dev.15";
versionStrings << "2017.05.2-dev.14";
versionStrings << "2017.05.2-dev.13";
versionStrings << "2017.05.2-dev.12";
versionStrings << "2017.05.2-dev.11";
versionStrings << "2017.05.2-dev.10";
versionStrings << "2017.05.2-dev.09";
versionStrings << "2017.05.2-dev.08";
versionStrings << "2017.05.2-dev.07";
versionStrings << "2017.05.2-dev.06";
versionStrings << "2017.05.2-dev.05";
versionStrings << "2017.05.2-dev.04";
versionStrings << "2017.05.2-dev.03";
versionStrings << "2017.05.2-dev.02";
versionStrings << "2017.05.2-fdev.02";
versionStrings << "2017.05.2-dev.1";
versionStrings << "2017.05.2-fdev.01";
versionStrings << "2017.05.2";
versionStrings << "2017.05.pre-proto.15";
versionStrings << "2017.05.1-dev";
versionStrings << "2017.05.1";
versionStrings << "2017.05.0";
versionStrings << "2016.11.flow.14";
versionStrings << "2016.11.flow.12";
versionStrings << "2016.11.flow.11";
versionStrings << "2016.11.flow.9";
versionStrings << "2016.11.flow.8";
versionStrings << "2016.11.flow.7";
versionStrings << "2016.11.flow.1";
versionStrings << "2016.11.m.1";
versionStrings << "2016.11.0";
versionStrings << "1.6.10-dev";
versionStrings << "1.6.9-dev";
versionStrings << "1.6.8-dev";
versionStrings << "1.6.7-gm-beta";
versionStrings << "1.6.6-dev";
versionStrings << "1.6.5-dev";
versionStrings << "1.6.4-dev";
versionStrings << "1.6.3-dev";
versionStrings << "1.6.1-dev";
versionStrings << "1.6.2-dev";
versionStrings << "1.6.0-RC";
versionStrings << "1.5.111-RC";
versionStrings << "1.5.110-RC";
versionStrings << "1.5.109-RC";
versionStrings << "1.5.108-RC";
versionStrings << "1.5.107-RC";
versionStrings << "1.5.106-RC";
versionStrings << "1.5.105-RC";
versionStrings << "1.5.104-RC";
versionStrings << "1.5.103-dev";
versionStrings << "1.5.102-dev";
versionStrings << "1.5.101-dev";
versionStrings << "1.5.100-dev";
versionStrings << "1.5.0";
}
// Additional dummy test versions
versionStrings << "2016.12";
versionStrings << "2015";
versionStrings << "2016.10.1.sd flkj....03";
versionStrings << "2016.10.1.sdf lkj. ...04";
QStringList sortedVersionList = versionStrings;
{
std::sort( sortedVersionList.begin(), sortedVersionList.end(), RiaProjectFileTools::isCandidateVersionNewerThanOther );
}
/*
for (const auto& s : sortedVersionList)
{
std::cout << s.toStdString() << "\n";
}
*/
}