9 #include "Teuchos_UnitTestHarness.hpp"
10 #include "Teuchos_XMLParameterListHelpers.hpp"
11 #include "Teuchos_TimeMonitor.hpp"
12 #include "Teuchos_DefaultComm.hpp"
14 #include "Tempus_TimeEventListIndex.hpp"
16 #include "../TestUtils/Tempus_ConvergenceTestUtils.hpp"
19 namespace Tempus_Unit_Test {
23 using Teuchos::rcp_const_cast;
24 using Teuchos::rcp_dynamic_cast;
33 TEST_COMPARE(te->getName(), ==,
"TimeEventListIndex");
35 TEST_COMPARE(te->getIndexList().size(), ==, 0);
37 TEST_COMPARE(te->isIndex(-1), ==,
false);
38 TEST_COMPARE(te->isIndex(te->getDefaultIndex()), ==,
true );
39 TEST_COMPARE(te->isIndex( 1), ==,
false);
41 TEST_COMPARE(te->indexToNextEvent(0), ==, te->getDefaultIndex());
42 TEST_COMPARE(te->indexOfNextEvent(0), ==, te->getDefaultIndex());
43 TEST_COMPARE(te->eventInRangeIndex(2, -1), ==,
false);
46 TEST_COMPARE(te->isTime(1.0), ==,
false);
47 TEST_COMPARE(te->timeToNextEvent(1.0), ==, te->getDefaultTime());
48 TEST_COMPARE(te->timeOfNextEvent(1.0), ==, te->getDefaultTime());
49 TEST_COMPARE(te->eventInRange(1.0, 4.0), ==,
false);
57 std::vector<int> testVector;
58 testVector.push_back(-2);
59 testVector.push_back( 0);
60 testVector.push_back( 7);
61 testVector.push_back( 3);
62 testVector.push_back(-5);
65 "TestName", testVector));
67 TEST_COMPARE(te->getName(), ==,
"TestName");
69 auto testList = te->getIndexList();
70 TEST_COMPARE(testList.size(), ==, 5);
71 TEST_COMPARE(testList[0], ==, -5);
72 TEST_COMPARE(testList[1], ==, -2);
73 TEST_COMPARE(testList[2], ==, 0);
74 TEST_COMPARE(testList[3], ==, 3);
75 TEST_COMPARE(testList[4], ==, 7);
79 TEST_COMPARE(te->getIndexList().size(), ==, 5);
81 TEST_COMPARE(te->getIndexList().size(), ==, 6);
91 te->setName(
"TestName");
92 TEST_COMPARE(te->getName(), ==,
"TestName");
96 TEST_COMPARE(te->isIndex(-6), ==,
false);
97 TEST_COMPARE(te->isIndex(-5), ==, true );
98 TEST_COMPARE(te->isIndex(-4), ==,
false);
102 TEST_COMPARE(te->isIndex(0), ==,
false);
103 TEST_COMPARE(te->isIndex(1), ==, true );
104 TEST_COMPARE(te->isIndex(2), ==,
false);
110 auto testList = te->getIndexList();
111 TEST_COMPARE(testList.size(), ==, 5);
112 TEST_COMPARE(testList[0], ==, -9);
113 TEST_COMPARE(testList[1], ==, -5);
114 TEST_COMPARE(testList[2], ==, -2);
115 TEST_COMPARE(testList[3], ==, 1);
116 TEST_COMPARE(testList[4], ==, 4);
124 std::vector<int> testListIndex;
125 testListIndex.push_back(-5);
126 testListIndex.push_back( 1);
127 testListIndex.push_back(-2);
128 testListIndex.push_back( 4);
129 testListIndex.push_back(-9);
132 "teListIndex", testListIndex));
136 TEST_COMPARE(te->indexToNextEvent(-12), ==, 3);
137 TEST_COMPARE(te->indexToNextEvent( -9), ==, 0);
138 TEST_COMPARE(te->indexToNextEvent( -8), ==, 3);
141 TEST_COMPARE(te->indexToNextEvent(-4), ==, 2);
142 TEST_COMPARE(te->indexToNextEvent(-2), ==, 0);
143 TEST_COMPARE(te->indexToNextEvent( 0), ==, 1);
146 TEST_COMPARE(te->indexToNextEvent(2), ==, 2);
147 TEST_COMPARE(te->indexToNextEvent(4), ==, 0);
148 TEST_COMPARE(te->indexToNextEvent(9), ==, -5);
156 std::vector<int> testListIndex;
157 testListIndex.push_back(-5);
158 testListIndex.push_back( 1);
159 testListIndex.push_back(-2);
160 testListIndex.push_back( 4);
161 testListIndex.push_back(-9);
164 "teListIndex", testListIndex));
168 TEST_COMPARE(te->indexOfNextEvent(-12), ==, -9);
169 TEST_COMPARE(te->indexOfNextEvent( -9), ==, -9);
170 TEST_COMPARE(te->indexOfNextEvent( -8), ==, -5);
173 TEST_COMPARE(te->indexOfNextEvent(-4), ==, -2);
174 TEST_COMPARE(te->indexOfNextEvent(-2), ==, -2);
175 TEST_COMPARE(te->indexOfNextEvent( 0), ==, 1);
178 TEST_COMPARE(te->indexOfNextEvent(2), ==, 4);
179 TEST_COMPARE(te->indexOfNextEvent(4), ==, 4);
180 TEST_COMPARE(te->indexOfNextEvent(9), ==, 4);
188 std::vector<int> testListIndex;
189 testListIndex.push_back(-5);
190 testListIndex.push_back( 1);
191 testListIndex.push_back(-2);
192 testListIndex.push_back( 4);
193 testListIndex.push_back(-9);
196 "teListIndex", testListIndex));
200 TEST_COMPARE(te->eventInRangeIndex(-12.0, -10), ==,
false);
201 TEST_COMPARE(te->eventInRangeIndex(-12.0, -9), ==, true );
202 TEST_COMPARE(te->eventInRangeIndex(-12.0, -8), ==, true );
204 TEST_COMPARE(te->eventInRangeIndex(-4, -3), ==,
false);
205 TEST_COMPARE(te->eventInRangeIndex(-4, -2), ==, true );
206 TEST_COMPARE(te->eventInRangeIndex(-4, -1), ==, true );
208 TEST_COMPARE(te->eventInRangeIndex(3, 3), ==,
false);
209 TEST_COMPARE(te->eventInRangeIndex(3, 4), ==, true );
210 TEST_COMPARE(te->eventInRangeIndex(3, 6), ==, true );
213 TEST_COMPARE(te->eventInRangeIndex(-12, -7), ==, true );
214 TEST_COMPARE(te->eventInRangeIndex( -9, -7), ==, true );
215 TEST_COMPARE(te->eventInRangeIndex( -8, -7), ==,
false);
217 TEST_COMPARE(te->eventInRangeIndex(-3, 0), ==, true );
218 TEST_COMPARE(te->eventInRangeIndex(-2, 0), ==, true );
219 TEST_COMPARE(te->eventInRangeIndex(-1, 0), ==,
false);
221 TEST_COMPARE(te->eventInRangeIndex(3, 8), ==, true );
222 TEST_COMPARE(te->eventInRangeIndex(4, 8), ==, true );
223 TEST_COMPARE(te->eventInRangeIndex(5, 8), ==,
false);
TimeEventListIndex specifies a list of index events.
TEUCHOS_UNIT_TEST(BackwardEuler, Default_Construction)