11 #include "Tempus_TimeEventListIndex.hpp"
14 namespace Tempus_Unit_Test {
18 using Teuchos::rcp_const_cast;
19 using Teuchos::rcp_dynamic_cast;
36 TEST_COMPARE(te->indexToNextEvent(0), ==, te->getDefaultIndex());
37 TEST_COMPARE(te->indexOfNextEvent(0), ==, te->getDefaultIndex());
42 TEST_COMPARE(te->timeToNextEvent(1.0), ==, te->getDefaultTime());
43 TEST_COMPARE(te->timeOfNextEvent(1.0), ==, te->getDefaultTime());
52 std::vector<int> testVector;
53 testVector.push_back(-2);
54 testVector.push_back( 0);
55 testVector.push_back( 7);
56 testVector.push_back( 3);
57 testVector.push_back(-5);
60 testVector,
"TestName"));
64 auto testList = te->getIndexList();
67 TEST_COMPARE(testList[1], ==, -2);
68 TEST_COMPARE(testList[2], ==, 0);
69 TEST_COMPARE(testList[3], ==, 3);
70 TEST_COMPARE(testList[4], ==, 7);
74 TEST_COMPARE(te->getIndexList().size(), ==, 5);
76 TEST_COMPARE(te->getIndexList().size(), ==, 6);
86 te->setName(
"TestName");
105 auto testList = te->getIndexList();
108 TEST_COMPARE(testList[1], ==, -5);
109 TEST_COMPARE(testList[2], ==, -2);
110 TEST_COMPARE(testList[3], ==, 1);
111 TEST_COMPARE(testList[4], ==, 4);
119 std::vector<int> testListIndex;
120 testListIndex.push_back(-5);
121 testListIndex.push_back( 1);
122 testListIndex.push_back(-2);
123 testListIndex.push_back( 4);
124 testListIndex.push_back(-9);
127 testListIndex,
"teListIndex"));
142 TEST_COMPARE(te->indexToNextEvent(4), ==, te->getDefaultIndex()-4);
143 TEST_COMPARE(te->indexToNextEvent(9), ==, te->getDefaultIndex()-9);
151 std::vector<int> testListIndex;
152 testListIndex.push_back(-5);
153 testListIndex.push_back( 1);
154 testListIndex.push_back(-2);
155 testListIndex.push_back( 4);
156 testListIndex.push_back(-9);
159 testListIndex,
"teListIndex"));
174 TEST_COMPARE(te->indexOfNextEvent(4), ==, te->getDefaultIndex());
175 TEST_COMPARE(te->indexOfNextEvent(9), ==, te->getDefaultIndex());
183 std::vector<int> testListIndex;
184 testListIndex.push_back(-5);
185 testListIndex.push_back( 1);
186 testListIndex.push_back(-2);
187 testListIndex.push_back( 4);
188 testListIndex.push_back(-9);
191 testListIndex,
"teListIndex"));
195 TEST_COMPARE(te->eventInRangeIndex(-12.0, -10), ==,
false);
196 TEST_COMPARE(te->eventInRangeIndex(-12.0, -9), ==, true );
197 TEST_COMPARE(te->eventInRangeIndex(-12.0, -8), ==, true );
208 TEST_COMPARE(te->eventInRangeIndex(-12, -7), ==, true );
209 TEST_COMPARE(te->eventInRangeIndex( -9, -7), ==,
false);
210 TEST_COMPARE(te->eventInRangeIndex( -8, -7), ==,
false);
230 auto pl = teli->getValidParameters();
232 TEST_COMPARE( pl->get<std::string>(
"Type"), ==,
"List Index");
233 TEST_COMPARE( pl->get<std::string>(
"Name"), ==,
"TimeEventListIndex");
234 TEST_COMPARE( pl->get<std::string>(
"Index List"), ==,
"");
237 std::ostringstream unusedParameters;
238 pl->unused(unusedParameters);
250 Teuchos::parameterList(
"Time Event List Index");
252 pl->
set(
"Name",
"Unit Test Time Event List Index");
253 pl->
set(
"Type",
"List Index");
255 std::vector<int> indices;
256 indices.push_back(-99);
257 indices.push_back( 13);
258 indices.push_back( 97);
259 indices.push_back(101);
260 std::ostringstream list;
261 for(std::size_t i = 0; i < indices.size()-1; ++i) list << indices[i] <<
", ";
262 list << indices[indices.size()-1];
263 pl->
set<std::string>(
"Index List", list.str());
266 auto teli = Tempus::createTimeEventListIndex<double>(pl);
270 TEST_COMPARE( teli->getName() , ==,
"Unit Test Time Event List Index");
272 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.