Back to index

salome-med  6.5.0
MultiElementTetraTests.hxx
Go to the documentation of this file.
00001 // Copyright (C) 2007-2012  CEA/DEN, EDF R&D
00002 //
00003 // This library is free software; you can redistribute it and/or
00004 // modify it under the terms of the GNU Lesser General Public
00005 // License as published by the Free Software Foundation; either
00006 // version 2.1 of the License.
00007 //
00008 // This library is distributed in the hope that it will be useful,
00009 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00010 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00011 // Lesser General Public License for more details.
00012 //
00013 // You should have received a copy of the GNU Lesser General Public
00014 // License along with this library; if not, write to the Free Software
00015 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
00016 //
00017 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
00018 //
00019 
00020 #ifndef __MULTI_ELEMENT_TETRA_TESTS_HXX_
00021 #define __MULTI_ELEMENT_TETRA_TESTS_HXX_
00022 
00023 #include "InterpolationTestSuite.hxx"
00024 
00025 namespace INTERP_TEST
00026 {
00035   class MultiElementTetraTests : public InterpolationTestSuite<3,3>
00036   {
00037     CPPUNIT_TEST_SUITE( MultiElementTetraTests );
00038 
00039     CPPUNIT_TEST( tetraComplexIncluded );
00040     CPPUNIT_TEST( dividedUnitTetraSimplerReflexive );
00041     CPPUNIT_TEST( dividedUnitTetraReflexive );
00042     CPPUNIT_TEST( nudgedDividedUnitTetraSimpler );
00043     CPPUNIT_TEST( nudgedDividedUnitTetra );
00044     CPPUNIT_TEST( dividedGenTetra );
00045     CPPUNIT_TEST( tinyBoxReflexive );
00046     CPPUNIT_TEST( moderateBoxEvenSmallerReflexive );
00047     CPPUNIT_TEST( moderateBoxSmallReflexive );
00048     CPPUNIT_TEST( boxReflexive );
00049     CPPUNIT_TEST( boxReflexiveModerate );
00050     CPPUNIT_TEST( tetraBoxes );
00051     CPPUNIT_TEST( moderateBoxesSmaller );
00052     CPPUNIT_TEST( moderateBoxes );
00053 
00054     CPPUNIT_TEST_SUITE_END();
00055 
00056   public:
00057 
00060     void tetraComplexIncluded()
00061     {
00062       _testTools->intersectMeshes("ComplexIncludedTetra", "ComplexIncludingTetra", 17.0156);
00063     }
00064 
00067     void dividedUnitTetraSimplerReflexive()
00068     {
00069       _testTools->intersectMeshes("DividedUnitTetraSimpler", "DividedUnitTetraSimpler", 0.1666667);
00070     }
00071 
00074     void dividedUnitTetraReflexive()
00075     {
00076       _testTools->intersectMeshes("DividedUnitTetra", "DividedUnitTetra", 0.1666667);
00077     }
00078 
00081     void nudgedDividedUnitTetraSimpler()
00082     {
00083       _testTools->intersectMeshes("NudgedDividedUnitTetraSimpler", "DividedUnitTetraSimpler", 0.150191);
00084     }
00085 
00088     void nudgedDividedUnitTetra()
00089     {
00090       _testTools->intersectMeshes("NudgedDividedUnitTetra", "DividedUnitTetra", 0.150191);
00091     }
00092 
00095     void dividedGenTetra()
00096     {
00097       _testTools->intersectMeshes("DividedGenTetra1",  "DividedGenTetra2", 0.546329);
00098     }
00099 
00102     void tinyBoxReflexive()
00103     {
00104       _testTools->intersectMeshes("TinyBox", "TinyBox", 979200);
00105     }
00106 
00109     void boxReflexive()
00110     {
00111       _testTools->intersectMeshes("Box3",  "Box3", 13.9954);
00112     }
00113 
00116     void moderateBoxEvenSmallerReflexive()
00117     {
00118       _testTools->intersectMeshes("BoxEvenSmaller1", "BoxEvenSmaller1", 1.44018e6);
00119     }
00120 
00123     void moderateBoxSmallReflexive()
00124     {
00125       _testTools->intersectMeshes("BoxModSmall1", "BoxModSmall1", 1.44018e6);
00126     }
00127 
00130     void boxReflexiveModerate()
00131     {
00132       _testTools->intersectMeshes("Box1Moderate",  "Box1Moderate", 1.0e6);
00133     }
00134 
00137     void tetraBoxes()
00138     {
00139       _testTools->intersectMeshes("Box1", "Box2", 124.197);
00140     }
00141     
00144     void moderateBoxesSmaller()
00145     {
00146       _testTools->intersectMeshes("BoxModSmall1", "BoxModSmall2", 321853);
00147     }
00148 
00151     void moderateBoxes()
00152     {
00153       _testTools->intersectMeshes("Box1Moderate",  "Box2Moderate", 376856);
00154     }
00155 
00156   };
00157 }
00158 
00159 #endif