-// Copyright (C) 2007-2016 CEA/DEN, EDF R&D
+// Copyright (C) 2007-2019 CEA/DEN, EDF R&D
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
CPPUNIT_ASSERT( std::find(groups.begin(),groups.end(),"maa1") != groups.end() );
CPPUNIT_ASSERT_EQUAL(16,m->getSizeAtLevel(0));
MCAuto<MEDCouplingMesh> um0 = m->getMeshAtLevel(0);
- CPPUNIT_ASSERT_EQUAL(12, um0->getNumberOfCellsWithType( INTERP_KERNEL::NORM_TETRA4 ));
- CPPUNIT_ASSERT_EQUAL(2, um0->getNumberOfCellsWithType( INTERP_KERNEL::NORM_PYRA5 ));
- CPPUNIT_ASSERT_EQUAL(2, um0->getNumberOfCellsWithType( INTERP_KERNEL::NORM_HEXA8 ));
+ CPPUNIT_ASSERT_EQUAL(12, (int)um0->getNumberOfCellsWithType( INTERP_KERNEL::NORM_TETRA4 ));
+ CPPUNIT_ASSERT_EQUAL(2, (int)um0->getNumberOfCellsWithType( INTERP_KERNEL::NORM_PYRA5 ));
+ CPPUNIT_ASSERT_EQUAL(2, (int)um0->getNumberOfCellsWithType( INTERP_KERNEL::NORM_HEXA8 ));
MCAuto<MEDCouplingMesh> um1 = m->getMeshAtLevel(-1);
- CPPUNIT_ASSERT_EQUAL(2, um1->getNumberOfCellsWithType( INTERP_KERNEL::NORM_TRI3 ));
+ CPPUNIT_ASSERT_EQUAL(1, (int)um1->getNumberOfCellsWithType( INTERP_KERNEL::NORM_TRI3 ));
+ //CPPUNIT_ASSERT_EQUAL(2, um1->getNumberOfCellsWithType( INTERP_KERNEL::NORM_TRI3 ));
MCAuto<MEDCouplingUMesh> pointeUM0 =
static_cast<MEDCouplingUMesh*>( pointeMedMesh->getMeshAtLevel(0));
DataArrayDouble *coo = m->getCoords();
CPPUNIT_ASSERT( d->isEqual( *fof->getArray(), 1e-12 ));
}
+void SauvLoaderTest::testCellsWithLingNames()
+{
+ // test IMP 3285: [CEA 1778] SauvReader: only keep the meshes named in the table MED_MAIL
+ std::string file = INTERP_TEST::getResourceFile("test_MED_MAIL.sauv", 3);
+ MCAuto<SauvReader> sr=SauvReader::New(file.c_str());
+ MCAuto<MEDFileData> d2=sr->loadInMEDFileDS();
+ // check that the mesh contains
+ // - Nombre de noeuds : 74
+ // - Nombre de mailles de type MED_TRIA3 : 6
+ // - Nombre de mailles de type MED_QUAD4 : 43
+ // - Nombre de mailles de type MED_HEXA8 : 24
+ // - Nombre de mailles de type MED_PENTA6 : 3
+ MEDFileUMesh* m = static_cast<MEDFileUMesh*>( d2->getMeshes()->getMeshAtPos(0));
+ CPPUNIT_ASSERT_EQUAL(6, m->getNumberOfCellsWithType( INTERP_KERNEL::NORM_TRI3 ));
+ CPPUNIT_ASSERT_EQUAL(43, m->getNumberOfCellsWithType( INTERP_KERNEL::NORM_QUAD4 ));
+ CPPUNIT_ASSERT_EQUAL(24, m->getNumberOfCellsWithType( INTERP_KERNEL::NORM_HEXA8 ));
+ CPPUNIT_ASSERT_EQUAL(3, m->getNumberOfCellsWithType( INTERP_KERNEL::NORM_PENTA6 ));
+}
+
void SauvLoaderTest::tearDown()
{
const int nbFilesToRemove = 3;
+#if defined(WIN32) && defined(UNICODE)
+ const wchar_t* fileToRemove[nbFilesToRemove] = { L"allPillesTest.med", L"pointe.sauv", L"mesh_with_void_family.sauv" };
+#else
const char* fileToRemove[nbFilesToRemove] = { "allPillesTest.med", "pointe.sauv", "mesh_with_void_family.sauv" };
+#endif
for ( int i = 0; i < nbFilesToRemove; ++i )
- {
+ {
#ifdef WIN32
- if (GetFileAttributes(fileToRemove[i]) != INVALID_FILE_ATTRIBUTES)
+ if (GetFileAttributes(fileToRemove[i]) != INVALID_FILE_ATTRIBUTES)
+#else
+ if (access(fileToRemove[i], F_OK) == 0)
+#endif
+#if defined(WIN32) && defined(UNICODE)
+ _wremove(fileToRemove[i]);
#else
- if (access(fileToRemove[i], F_OK) == 0)
+ remove(fileToRemove[i]);
#endif
- remove(fileToRemove[i]);
}
}