25 #ifndef WTENSORSYM_TEST_H
26 #define WTENSORSYM_TEST_H
32 #include <cxxtest/TestSuite.h>
33 #include "../WTensorSym.h"
56 TS_ASSERT_EQUALS( w( 0, 0, 0 ), 2 );
57 TS_ASSERT_EQUALS( w( 0, 0, 1 ), 2 );
58 TS_ASSERT_EQUALS( w( 0, 1, 0 ), 2 );
59 TS_ASSERT_EQUALS( w( 0, 1, 1 ), 8 );
60 TS_ASSERT_EQUALS( w( 1, 0, 0 ), 2 );
61 TS_ASSERT_EQUALS( w( 1, 0, 1 ), 8 );
62 TS_ASSERT_EQUALS( w( 1, 1, 0 ), 8 );
63 TS_ASSERT_EQUALS( w( 1, 1, 1 ), 10 );
69 t( 0, 0, 0, 0 ) = 2.0;
71 TS_ASSERT_EQUALS( t( 0, 0, 0, 0 ), 2.0 );
79 std::vector< unsigned int > v( 3, 0 );
82 for( v[ 0 ] = 0; v[ 0 ] < 4; ++v[ 0 ] )
84 for( v[ 1 ] = 0; v[ 1 ] < 4; ++v[ 1 ] )
86 for( v[ 2 ] = 0; v[ 2 ] < 4; ++v[ 2 ] )
88 w[ v ] = v[ 0 ] + v[ 1 ] + v[ 2 ];
89 std::vector< unsigned int > v0 = v;
90 std::sort( v0.begin(), v0.end() );
91 TS_ASSERT_EQUALS( w[ v0 ], v[ 0 ] + v[ 1 ] + v[ 2 ] );
124 TS_ASSERT_EQUALS( t35d( 0, 4, 2 ), 0.0 );
125 TS_ASSERT_EQUALS( t35d( 1, 4, 0 ), 0.0 );
126 TS_ASSERT_EQUALS( t35d( 0, 3, 0 ), 0.0 );
127 TS_ASSERT_EQUALS( t35d( 2, 4, 1 ), 0.0 );
128 TS_ASSERT_EQUALS( t35d( 0, 2, 2 ), 0.0 );
129 TS_ASSERT_EQUALS( t35d( 4, 1, 4 ), 0.0 );
130 TS_ASSERT_EQUALS( t35d( 4, 4, 4 ), 0.0 );
131 TS_ASSERT_EQUALS( t35d( 3, 4, 3 ), 0.0 );
133 TS_ASSERT_EQUALS( t11d( 0 ), 0.0 );
134 TS_ASSERT_EQUALS( t22d( 0, 1 ), 0.0 );
147 TS_ASSERT_EQUALS( m( 1, 0 ), 2 );
148 TS_ASSERT_EQUALS( m( 1, 2 ), 0.456 );
157 w( 0, 0, 1, 1, 0, 1 ) = 4.0;
158 w( 1, 1, 0, 0, 0, 0 ) = 0.56;
163 TS_ASSERT_EQUALS( m( 0, 1, 0, 1, 0, 1 ), 4.0 );
164 TS_ASSERT_EQUALS( m( 1, 0, 0, 0, 1, 0 ), 0.56 );
165 TS_ASSERT_EQUALS( m( 0, 0, 0, 1, 0, 0 ), 0.0 );
182 TS_ASSERT_EQUALS( d, 3.0 );
189 TS_ASSERT_EQUALS( v[ 0 ], 3.0 );
196 TS_ASSERT_EQUALS( m( 1, 0 ), 3.0 );
201 #endif // WTENSORSYM_TEST_H