1#include "storm-config.h"
7TEST(SchedulerTest, TotalDeterministicMemorylessScheduler) {
10 ASSERT_NO_THROW(scheduler.
setChoice(1, 0));
11 ASSERT_NO_THROW(scheduler.
setChoice(3, 1));
12 ASSERT_NO_THROW(scheduler.
setChoice(5, 2));
13 ASSERT_NO_THROW(scheduler.
setChoice(4, 3));
19 ASSERT_TRUE(scheduler.
getChoice(0).isDefined());
20 ASSERT_EQ(1ul, scheduler.
getChoice(0).getDeterministicChoice());
22 ASSERT_TRUE(scheduler.
getChoice(1).isDefined());
23 ASSERT_EQ(3ul, scheduler.
getChoice(1).getDeterministicChoice());
25 ASSERT_TRUE(scheduler.
getChoice(2).isDefined());
26 ASSERT_EQ(5ul, scheduler.
getChoice(2).getDeterministicChoice());
28 ASSERT_TRUE(scheduler.
getChoice(3).isDefined());
29 ASSERT_EQ(4ul, scheduler.
getChoice(3).getDeterministicChoice());
32TEST(SchedulerTest, PartialDeterministicMemorylessScheduler) {
35 ASSERT_NO_THROW(scheduler.
setChoice(1, 0));
36 ASSERT_NO_THROW(scheduler.
setChoice(3, 0));
37 ASSERT_NO_THROW(scheduler.
setChoice(5, 2));
38 ASSERT_NO_THROW(scheduler.
setChoice(4, 3));
45 ASSERT_TRUE(scheduler.
getChoice(0).isDefined());
46 ASSERT_EQ(3ul, scheduler.
getChoice(0).getDeterministicChoice());
48 ASSERT_TRUE(scheduler.
getChoice(3).isDefined());
49 ASSERT_EQ(4ul, scheduler.
getChoice(3).getDeterministicChoice());
51 ASSERT_FALSE(scheduler.
getChoice(1).isDefined());
52 ASSERT_FALSE(scheduler.
getChoice(2).isDefined());
TEST(SchedulerTest, TotalDeterministicMemorylessScheduler)
This class defines which action is chosen in a particular state of a non-deterministic model.
bool isDeterministicScheduler() const
Retrieves whether all defined choices are deterministic.
bool isPartialScheduler() const
Retrieves whether there is a reachable pair of model and memory state for which the choice is undefin...
SchedulerChoice< ValueType > const & getChoice(uint_fast64_t modelState, uint_fast64_t memoryState=0) const
Gets the choice defined by the scheduler for the given model and memory state.
void clearChoice(uint_fast64_t modelState, uint_fast64_t memoryState=0)
Clears the choice defined by the scheduler for the given state.
void setChoice(SchedulerChoice< ValueType > const &choice, uint_fast64_t modelState, uint_fast64_t memoryState=0)
Sets the choice defined by the scheduler for the given state.
bool isMemorylessScheduler() const
Retrieves whether the scheduler considers a trivial memory structure (i.e., a memory structure with j...