27 TEST_COMPARE(te->getName(), ==,
"TimeEventRangeIndex (0; 0; 1)");
30 TEST_COMPARE(te->getIndexStart(), ==, 0);
31 TEST_COMPARE(te->getIndexStop(), ==, 0);
32 TEST_COMPARE(te->getIndexStride(), ==, 1);
33 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 TEST_COMPARE(te->getName(), ==,
"TestName");
52 TEST_COMPARE(te->getIndexStart(), ==, -1);
53 TEST_COMPARE(te->getIndexStop(), ==, 10);
54 TEST_COMPARE(te->getIndexStride(), ==, 2);
55 TEST_COMPARE(te->getNumEvents(), ==, 6);
64 te->setName(
"TestName");
65 TEST_COMPARE(te->getName(), ==,
"TestName");
69 TEST_COMPARE(te->getIndexStart(), ==, 1);
70 TEST_COMPARE(te->getIndexStop(), ==, 1);
71 TEST_COMPARE(te->getIndexStride(), ==, 1);
72 TEST_COMPARE(te->getNumEvents(), ==, 1);
76 TEST_COMPARE(te->getIndexStart(), ==, 1);
77 TEST_COMPARE(te->getIndexStop(), ==, 5);
78 TEST_COMPARE(te->getIndexStride(), ==, 1);
79 TEST_COMPARE(te->getNumEvents(), ==, 5);
82 te->setIndexStride(2);
83 TEST_COMPARE(te->getIndexStart(), ==, 1);
84 TEST_COMPARE(te->getIndexStop(), ==, 5);
85 TEST_COMPARE(te->getIndexStride(), ==, 2);
86 TEST_COMPARE(te->getNumEvents(), ==, 3);
89 te->setIndexRange(-5, 5, 3);
90 TEST_COMPARE(te->getIndexStart(), ==, -5);
91 TEST_COMPARE(te->getIndexStop(), ==, 5);
92 TEST_COMPARE(te->getIndexStride(), ==, 3);
93 TEST_COMPARE(te->getNumEvents(), ==, 4);
101 te->setIndexStart(1);
103 TEST_COMPARE(te->getIndexStart(), ==, 1);
104 TEST_COMPARE(te->getIndexStop(), ==, 5);
107 te->setIndexStride(-1);
108 TEST_COMPARE(te->getIndexStride(), ==, 1);
109 TEST_COMPARE(te->getNumEvents(), ==, 5);
112 te->setIndexStride(5);
113 TEST_COMPARE(te->getIndexStride(), ==, 4);
114 TEST_COMPARE(te->getNumEvents(), ==, 2);
122 te->setIndexRange(-5, 5, 3);
125 TEST_COMPARE(te->isIndex(-6), ==,
false);
126 TEST_COMPARE(te->isIndex(-5), ==,
true);
127 TEST_COMPARE(te->isIndex(-4), ==,
false);
129 TEST_COMPARE(te->isIndex(0), ==,
false);
130 TEST_COMPARE(te->isIndex(1), ==,
true);
131 TEST_COMPARE(te->isIndex(2), ==,
false);
133 TEST_COMPARE(te->isIndex(3), ==,
false);
134 TEST_COMPARE(te->isIndex(4), ==,
true);
135 TEST_COMPARE(te->isIndex(5), ==,
false);
143 te->setIndexRange(-5, 5, 3);
146 TEST_COMPARE(te->indexToNextEvent(-9), ==, 4);
147 TEST_COMPARE(te->indexToNextEvent(-5), ==, 3);
148 TEST_COMPARE(te->indexToNextEvent(-4), ==, 2);
150 TEST_COMPARE(te->indexToNextEvent(-1), ==, 2);
151 TEST_COMPARE(te->indexToNextEvent(1), ==, 3);
152 TEST_COMPARE(te->indexToNextEvent(3), ==, 1);
154 TEST_COMPARE(te->indexToNextEvent(2), ==, 2);
155 TEST_COMPARE(te->indexToNextEvent(4), ==, te->getDefaultIndex() - 4);
156 TEST_COMPARE(te->indexToNextEvent(8), ==, te->getDefaultIndex() - 8);
164 te->setIndexRange(-5, 5, 3);
167 TEST_COMPARE(te->indexOfNextEvent(-9), ==, -5);
168 TEST_COMPARE(te->indexOfNextEvent(-5), ==, -2);
169 TEST_COMPARE(te->indexOfNextEvent(-4), ==, -2);
171 TEST_COMPARE(te->indexOfNextEvent(-1), ==, 1);
172 TEST_COMPARE(te->indexOfNextEvent(1), ==, 4);
173 TEST_COMPARE(te->indexOfNextEvent(3), ==, 4);
175 TEST_COMPARE(te->indexOfNextEvent(2), ==, 4);
176 TEST_COMPARE(te->indexOfNextEvent(4), ==, te->getDefaultIndex());
177 TEST_COMPARE(te->indexOfNextEvent(8), ==, te->getDefaultIndex());
185 te->setIndexRange(-5, 5, 3);
189 TEST_COMPARE(te->eventInRangeIndex(-9, -6), ==,
191 TEST_COMPARE(te->eventInRangeIndex(-9, -5), ==,
true);
192 TEST_COMPARE(te->eventInRangeIndex(-9, -4), ==,
true);
194 TEST_COMPARE(te->eventInRangeIndex(-1, 0), ==,
false);
195 TEST_COMPARE(te->eventInRangeIndex(-1, 1), ==,
true);
196 TEST_COMPARE(te->eventInRangeIndex(-1, 2), ==,
true);
198 TEST_COMPARE(te->eventInRangeIndex(2, 3), ==,
false);
199 TEST_COMPARE(te->eventInRangeIndex(2, 4), ==,
true);
200 TEST_COMPARE(te->eventInRangeIndex(2, 5), ==,
true);
203 TEST_COMPARE(te->eventInRangeIndex(-6.0, -3), ==,
205 TEST_COMPARE(te->eventInRangeIndex(-5.0, -3), ==,
false);
206 TEST_COMPARE(te->eventInRangeIndex(-4.0, -3), ==,
false);
208 TEST_COMPARE(te->eventInRangeIndex(-3, 0), ==,
true);
209 TEST_COMPARE(te->eventInRangeIndex(-2, 0), ==,
false);
210 TEST_COMPARE(te->eventInRangeIndex(-1, 0), ==,
false);
212 TEST_COMPARE(te->eventInRangeIndex(3, 8), ==,
true);
213 TEST_COMPARE(te->eventInRangeIndex(4, 8), ==,
false);
214 TEST_COMPARE(te->eventInRangeIndex(5, 8), ==,
false);
223 auto pl = teri->getValidParameters();
225 TEST_COMPARE(pl->get<std::string>(
"Type"), ==,
"Range Index");
226 TEST_COMPARE(pl->get<std::string>(
"Name"), ==,
227 "TimeEventRangeIndex (0; 0; 1)");
228 TEST_COMPARE(pl->get<
int>(
"Start Index"), ==, 0);
229 TEST_COMPARE(pl->get<
int>(
"Stop Index"), ==, 0);
230 TEST_COMPARE(pl->get<
int>(
"Stride Index"), ==, 1);
233 std::ostringstream unusedParameters;
234 pl->unused(unusedParameters);
235 TEST_COMPARE(unusedParameters.str(), ==,
"");
244 Teuchos::RCP<Teuchos::ParameterList> pl =
245 Teuchos::parameterList(
"Time Event Range Index");
247 pl->set(
"Name",
"Unit Test Time Event Range Index");
248 pl->set(
"Type",
"Range Index");
249 pl->set(
"Start Index", -1);
250 pl->set(
"Stop Index", 11);
251 pl->set(
"Stride Index", 2);
254 auto teri = Tempus::createTimeEventRangeIndex<double>(pl);
256 teri->describe(out, Teuchos::VERB_EXTREME);
258 TEST_COMPARE(teri->getName(), ==,
"Unit Test Time Event Range Index");
259 TEST_COMPARE(teri->getType(), ==,
"Range Index");
260 TEST_COMPARE(teri->getIndexStart(), ==, -1);
261 TEST_COMPARE(teri->getIndexStop(), ==, 11);
262 TEST_COMPARE(teri->getIndexStride(), ==, 2);
263 TEST_COMPARE(teri->getNumEvents(), ==, 7);