1#include "storm-config.h"
6TEST(SchedulerTest, TotalDeterministicMemorylessScheduler) {
9 ASSERT_NO_THROW(scheduler.
setChoice(1, 0));
10 ASSERT_NO_THROW(scheduler.
setChoice(3, 1));
11 ASSERT_NO_THROW(scheduler.
setChoice(5, 2));
12 ASSERT_NO_THROW(scheduler.
setChoice(4, 3));
18 ASSERT_TRUE(scheduler.
getChoice(0).isDefined());
19 ASSERT_EQ(1ul, scheduler.
getChoice(0).getDeterministicChoice());
21 ASSERT_TRUE(scheduler.
getChoice(1).isDefined());
22 ASSERT_EQ(3ul, scheduler.
getChoice(1).getDeterministicChoice());
24 ASSERT_TRUE(scheduler.
getChoice(2).isDefined());
25 ASSERT_EQ(5ul, scheduler.
getChoice(2).getDeterministicChoice());
27 ASSERT_TRUE(scheduler.
getChoice(3).isDefined());
28 ASSERT_EQ(4ul, scheduler.
getChoice(3).getDeterministicChoice());
31TEST(SchedulerTest, PartialDeterministicMemorylessScheduler) {
34 ASSERT_NO_THROW(scheduler.
setChoice(1, 0));
35 ASSERT_NO_THROW(scheduler.
setChoice(3, 0));
36 ASSERT_NO_THROW(scheduler.
setChoice(5, 2));
37 ASSERT_NO_THROW(scheduler.
setChoice(4, 3));
44 ASSERT_TRUE(scheduler.
getChoice(0).isDefined());
45 ASSERT_EQ(3ul, scheduler.
getChoice(0).getDeterministicChoice());
47 ASSERT_TRUE(scheduler.
getChoice(3).isDefined());
48 ASSERT_EQ(4ul, scheduler.
getChoice(3).getDeterministicChoice());
50 ASSERT_FALSE(scheduler.
getChoice(1).isDefined());
51 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...