11 #include "Tempus_TimeEventListIndex.hpp"
13 namespace Tempus_Unit_Test {
17 using Teuchos::rcp_const_cast;
18 using Teuchos::rcp_dynamic_cast;
34 TEST_COMPARE(te->indexToNextEvent(0), ==, te->getDefaultIndex());
35 TEST_COMPARE(te->indexOfNextEvent(0), ==, te->getDefaultIndex());
41 TEST_COMPARE(te->timeToNextEvent(1.0), ==, te->getDefaultTime());
42 TEST_COMPARE(te->timeOfNextEvent(1.0), ==, te->getDefaultTime());
50 std::vector<int> testVector;
51 testVector.push_back(-2);
52 testVector.push_back(0);
53 testVector.push_back(7);
54 testVector.push_back(3);
55 testVector.push_back(-5);
61 auto testList = te->getIndexList();
64 TEST_COMPARE(testList[1], ==, -2);
65 TEST_COMPARE(testList[2], ==, 0);
66 TEST_COMPARE(testList[3], ==, 3);
67 TEST_COMPARE(testList[4], ==, 7);
71 TEST_COMPARE(te->getIndexList().size(), ==, 5);
73 TEST_COMPARE(te->getIndexList().size(), ==, 6);
82 te->setName(
"TestName");
101 auto testList = te->getIndexList();
104 TEST_COMPARE(testList[1], ==, -5);
105 TEST_COMPARE(testList[2], ==, -2);
106 TEST_COMPARE(testList[3], ==, 1);
107 TEST_COMPARE(testList[4], ==, 4);
114 std::vector<int> testListIndex;
115 testListIndex.push_back(-5);
116 testListIndex.push_back(1);
117 testListIndex.push_back(-2);
118 testListIndex.push_back(4);
119 testListIndex.push_back(-9);
137 TEST_COMPARE(te->indexToNextEvent(4), ==, te->getDefaultIndex() - 4);
138 TEST_COMPARE(te->indexToNextEvent(9), ==, te->getDefaultIndex() - 9);
145 std::vector<int> testListIndex;
146 testListIndex.push_back(-5);
147 testListIndex.push_back(1);
148 testListIndex.push_back(-2);
149 testListIndex.push_back(4);
150 testListIndex.push_back(-9);
168 TEST_COMPARE(te->indexOfNextEvent(4), ==, te->getDefaultIndex());
169 TEST_COMPARE(te->indexOfNextEvent(9), ==, te->getDefaultIndex());
176 std::vector<int> testListIndex;
177 testListIndex.push_back(-5);
178 testListIndex.push_back(1);
179 testListIndex.push_back(-2);
180 testListIndex.push_back(4);
181 testListIndex.push_back(-9);
190 TEST_COMPARE(te->eventInRangeIndex(-12.0, -9), ==,
true);
191 TEST_COMPARE(te->eventInRangeIndex(-12.0, -8), ==,
true);
222 auto pl = teli->getValidParameters();
224 TEST_COMPARE(pl->get<std::string>(
"Type"), ==,
"List Index");
225 TEST_COMPARE(pl->get<std::string>(
"Name"), ==,
"TimeEventListIndex");
226 TEST_COMPARE(pl->get<std::string>(
"Index List"), ==,
"");
229 std::ostringstream unusedParameters;
230 pl->unused(unusedParameters);
241 Teuchos::parameterList(
"Time Event List Index");
243 pl->
set(
"Name",
"Unit Test Time Event List Index");
244 pl->
set(
"Type",
"List Index");
246 std::vector<int> indices;
247 indices.push_back(-99);
248 indices.push_back(13);
249 indices.push_back(97);
250 indices.push_back(101);
251 std::ostringstream list;
252 for (std::size_t i = 0; i < indices.size() - 1; ++i)
253 list << indices[i] <<
", ";
254 list << indices[indices.size() - 1];
255 pl->
set<std::string>(
"Index List", list.str());
258 auto teli = Tempus::createTimeEventListIndex<double>(pl);
262 TEST_COMPARE(teli->getName(), ==,
"Unit Test Time Event List Index");
264 auto teList = teli->getIndexList();
ParameterList & set(std::string const &name, T const &value, std::string const &docString="", RCP< const ParameterEntryValidator > const &validator=null)
TimeEventListIndex specifies a list of index events.
#define TEST_COMPARE(v1, comp, v2)
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)
TEUCHOS_UNIT_TEST(BackwardEuler, Default_Construction)
Teuchos::RCP< TimeEventListIndex< Scalar > > createTimeEventListIndex(Teuchos::RCP< Teuchos::ParameterList > pList)
Nonmember Constructor via ParameterList.