28 TEST_COMPARE(te->getName(), ==,
"TimeEventRangeIndex (0; 0; 1)");
31 TEST_COMPARE(te->getIndexStart (), ==, 0);
32 TEST_COMPARE(te->getIndexStop (), ==, 0);
33 TEST_COMPARE(te->getIndexStride(), ==, 1);
34 TEST_COMPARE(te->getNumEvents (), ==, 1);
37 TEST_COMPARE(te->isTime(1.0), ==,
false);
38 TEST_COMPARE(te->timeToNextEvent(1.0), ==, te->getDefaultTime());
39 TEST_COMPARE(te->timeOfNextEvent(1.0), ==, te->getDefaultTime());
40 TEST_COMPARE(te->eventInRange(1.0, 4.0), ==,
false);
49 -1, 10, 2,
"TestName"));
51 TEST_COMPARE(te->getName(), ==,
"TestName");
54 TEST_COMPARE(te->getIndexStart (), ==, -1);
55 TEST_COMPARE(te->getIndexStop (), ==, 10);
56 TEST_COMPARE(te->getIndexStride(), ==, 2);
57 TEST_COMPARE(te->getNumEvents (), ==, 6);
67 te->setName(
"TestName");
68 TEST_COMPARE(te->getName(), ==,
"TestName");
72 TEST_COMPARE(te->getIndexStart (), ==, 1);
73 TEST_COMPARE(te->getIndexStop (), ==, 1);
74 TEST_COMPARE(te->getIndexStride(), ==, 1);
75 TEST_COMPARE(te->getNumEvents (), ==, 1);
79 TEST_COMPARE(te->getIndexStart (), ==, 1);
80 TEST_COMPARE(te->getIndexStop (), ==, 5);
81 TEST_COMPARE(te->getIndexStride(), ==, 1);
82 TEST_COMPARE(te->getNumEvents (), ==, 5);
85 te->setIndexStride(2);
86 TEST_COMPARE(te->getIndexStart (), ==, 1);
87 TEST_COMPARE(te->getIndexStop (), ==, 5);
88 TEST_COMPARE(te->getIndexStride(), ==, 2);
89 TEST_COMPARE(te->getNumEvents (), ==, 3);
92 te->setIndexRange(-5, 5, 3);
93 TEST_COMPARE(te->getIndexStart (), ==, -5);
94 TEST_COMPARE(te->getIndexStop (), ==, 5);
95 TEST_COMPARE(te->getIndexStride(), ==, 3);
96 TEST_COMPARE(te->getNumEvents (), ==, 4);
105 te->setIndexStart(1);
106 te->setIndexStop (5);
107 TEST_COMPARE(te->getIndexStart (), ==, 1);
108 TEST_COMPARE(te->getIndexStop (), ==, 5);
111 te->setIndexStride(-1);
112 TEST_COMPARE(te->getIndexStride(), ==, 1);
113 TEST_COMPARE(te->getNumEvents (), ==, 5);
116 te->setIndexStride(5);
117 TEST_COMPARE(te->getIndexStride(), ==, 4);
118 TEST_COMPARE(te->getNumEvents (), ==, 2);
127 te->setIndexRange(-5, 5, 3);
130 TEST_COMPARE(te->isIndex(-6), ==,
false);
131 TEST_COMPARE(te->isIndex(-5), ==,
true );
132 TEST_COMPARE(te->isIndex(-4), ==,
false);
134 TEST_COMPARE(te->isIndex(0), ==,
false);
135 TEST_COMPARE(te->isIndex(1), ==,
true );
136 TEST_COMPARE(te->isIndex(2), ==,
false);
138 TEST_COMPARE(te->isIndex(3), ==,
false);
139 TEST_COMPARE(te->isIndex(4), ==,
true );
140 TEST_COMPARE(te->isIndex(5), ==,
false);
149 te->setIndexRange(-5, 5, 3);
152 TEST_COMPARE(te->indexToNextEvent(-9), ==, 4);
153 TEST_COMPARE(te->indexToNextEvent(-5), ==, 3);
154 TEST_COMPARE(te->indexToNextEvent(-4), ==, 2);
156 TEST_COMPARE(te->indexToNextEvent(-1), ==, 2);
157 TEST_COMPARE(te->indexToNextEvent( 1), ==, 3);
158 TEST_COMPARE(te->indexToNextEvent( 3), ==, 1);
160 TEST_COMPARE(te->indexToNextEvent( 2), ==, 2);
161 TEST_COMPARE(te->indexToNextEvent( 4), ==, te->getDefaultIndex()-4);
162 TEST_COMPARE(te->indexToNextEvent( 8), ==, te->getDefaultIndex()-8);
171 te->setIndexRange(-5, 5, 3);
174 TEST_COMPARE(te->indexOfNextEvent(-9), ==, -5);
175 TEST_COMPARE(te->indexOfNextEvent(-5), ==, -2);
176 TEST_COMPARE(te->indexOfNextEvent(-4), ==, -2);
178 TEST_COMPARE(te->indexOfNextEvent(-1), ==, 1);
179 TEST_COMPARE(te->indexOfNextEvent( 1), ==, 4);
180 TEST_COMPARE(te->indexOfNextEvent( 3), ==, 4);
182 TEST_COMPARE(te->indexOfNextEvent( 2), ==, 4);
183 TEST_COMPARE(te->indexOfNextEvent( 4), ==, te->getDefaultIndex());
184 TEST_COMPARE(te->indexOfNextEvent( 8), ==, te->getDefaultIndex());
193 te->setIndexRange(-5, 5, 3);
197 TEST_COMPARE(te->eventInRangeIndex(-9, -6), ==,
false);
198 TEST_COMPARE(te->eventInRangeIndex(-9, -5), ==,
true );
199 TEST_COMPARE(te->eventInRangeIndex(-9, -4), ==,
true );
201 TEST_COMPARE(te->eventInRangeIndex(-1, 0), ==,
false);
202 TEST_COMPARE(te->eventInRangeIndex(-1, 1), ==,
true );
203 TEST_COMPARE(te->eventInRangeIndex(-1, 2), ==,
true );
205 TEST_COMPARE(te->eventInRangeIndex(2, 3), ==,
false);
206 TEST_COMPARE(te->eventInRangeIndex(2, 4), ==,
true );
207 TEST_COMPARE(te->eventInRangeIndex(2, 5), ==,
true );
210 TEST_COMPARE(te->eventInRangeIndex(-6.0, -3), ==,
true );
211 TEST_COMPARE(te->eventInRangeIndex(-5.0, -3), ==,
false);
212 TEST_COMPARE(te->eventInRangeIndex(-4.0, -3), ==,
false);
214 TEST_COMPARE(te->eventInRangeIndex(-3, 0), ==,
true );
215 TEST_COMPARE(te->eventInRangeIndex(-2, 0), ==,
false);
216 TEST_COMPARE(te->eventInRangeIndex(-1, 0), ==,
false);
218 TEST_COMPARE(te->eventInRangeIndex(3, 8), ==,
true );
219 TEST_COMPARE(te->eventInRangeIndex(4, 8), ==,
false);
220 TEST_COMPARE(te->eventInRangeIndex(5, 8), ==,
false);
230 auto pl = teri->getValidParameters();
232 TEST_COMPARE( pl->get<std::string>(
"Type"), ==,
"Range Index");
233 TEST_COMPARE( pl->get<std::string>(
"Name"), ==,
"TimeEventRangeIndex (0; 0; 1)");
234 TEST_COMPARE( pl->get<
int>(
"Start Index") , ==, 0);
235 TEST_COMPARE( pl->get<
int>(
"Stop Index") , ==, 0);
236 TEST_COMPARE( pl->get<
int>(
"Stride Index"), ==, 1);
239 std::ostringstream unusedParameters;
240 pl->unused(unusedParameters);
241 TEST_COMPARE ( unusedParameters.str(), ==,
"");
251 Teuchos::RCP<Teuchos::ParameterList> pl =
252 Teuchos::parameterList(
"Time Event Range Index");
254 pl->set(
"Name",
"Unit Test Time Event Range Index");
255 pl->set(
"Type",
"Range Index");
256 pl->set(
"Start Index", -1);
257 pl->set(
"Stop Index", 11);
258 pl->set(
"Stride Index", 2);
261 auto teri = Tempus::createTimeEventRangeIndex<double>(pl);
263 teri->describe(out, Teuchos::VERB_EXTREME);
265 TEST_COMPARE( teri->getName() , ==,
"Unit Test Time Event Range Index");
266 TEST_COMPARE( teri->getType() , ==,
"Range Index");
267 TEST_COMPARE( teri->getIndexStart() , ==, -1 );
268 TEST_COMPARE( teri->getIndexStop() , ==, 11 );
269 TEST_COMPARE( teri->getIndexStride(), ==, 2 );
270 TEST_COMPARE( teri->getNumEvents() , ==, 7 );