mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
Rename ApplicationCode to ApplicationLibCode
This commit is contained in:
98
ApplicationLibCode/UnitTests/RimRelocatePath-Test.cpp
Normal file
98
ApplicationLibCode/UnitTests/RimRelocatePath-Test.cpp
Normal file
@@ -0,0 +1,98 @@
|
||||
#include "gtest/gtest.h"
|
||||
|
||||
#include "RiaQDateTimeTools.h"
|
||||
#include "RiaTestDataDirectory.h"
|
||||
#include "RimProject.h"
|
||||
|
||||
#include "cafFilePath.h"
|
||||
#include "cafPdmObjectHandle.h"
|
||||
|
||||
#include <QDateTime>
|
||||
#include <QString>
|
||||
|
||||
#include <vector>
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
template <typename T>
|
||||
void fieldsByType( caf::PdmObjectHandle* object, std::vector<T*>& typedFields )
|
||||
{
|
||||
if ( !object ) return;
|
||||
|
||||
std::vector<caf::PdmFieldHandle*> allFieldsInObject;
|
||||
object->fields( allFieldsInObject );
|
||||
|
||||
std::vector<caf::PdmObjectHandle*> children;
|
||||
|
||||
for ( const auto& field : allFieldsInObject )
|
||||
{
|
||||
caf::PdmField<T>* typedField = dynamic_cast<caf::PdmField<T>*>( field );
|
||||
if ( typedField ) typedFields.push_back( &typedField->v() );
|
||||
|
||||
caf::PdmField<std::vector<T>>* typedFieldInVector = dynamic_cast<caf::PdmField<std::vector<T>>*>( field );
|
||||
if ( typedFieldInVector )
|
||||
{
|
||||
for ( T& typedFieldFromVector : typedFieldInVector->v() )
|
||||
{
|
||||
typedFields.push_back( &typedFieldFromVector );
|
||||
}
|
||||
}
|
||||
|
||||
field->childObjects( &children );
|
||||
}
|
||||
|
||||
for ( const auto& child : children )
|
||||
{
|
||||
fieldsByType( child, typedFields );
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
TEST( RimRelocatePathTest, findPathsInProjectFile )
|
||||
{
|
||||
QString fileName = QString( "%1/RimRelocatePath/RelocatePath.rsp" ).arg( TEST_DATA_DIR );
|
||||
|
||||
if ( fileName.isEmpty() ) return;
|
||||
|
||||
RimProject project;
|
||||
|
||||
project.fileName = fileName;
|
||||
project.readFile();
|
||||
|
||||
std::vector<caf::FilePath*> filePaths;
|
||||
|
||||
fieldsByType( &project, filePaths );
|
||||
|
||||
for ( auto filePath : filePaths )
|
||||
{
|
||||
std::cout << filePath->path().toStdString() << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
TEST( RimRelocatePathTest, DISABLED_LocaleDateStringTest )
|
||||
{
|
||||
// Set a non-english system locale on local machine for this test to be useful
|
||||
|
||||
QDateTime dt;
|
||||
{
|
||||
QDate d( 2018, 10, 1 );
|
||||
dt.setDate( d );
|
||||
}
|
||||
|
||||
QString formatString( "ddd MMM yyyy" );
|
||||
|
||||
// Change the default locale on your system to get a different text then the english formatted text
|
||||
QString defaultString = dt.toString( formatString );
|
||||
|
||||
std::cout << "default " << defaultString.toStdString() << std::endl;
|
||||
|
||||
QString englishString = RiaQDateTimeTools::toStringUsingApplicationLocale( dt, formatString );
|
||||
|
||||
std::cout << "english " << englishString.toStdString() << std::endl;
|
||||
}
|
||||
Reference in New Issue
Block a user