You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							42 lines
						
					
					
						
							1.5 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							42 lines
						
					
					
						
							1.5 KiB
						
					
					
				| #include "gtest/gtest.h" | |
| #include "storm-config.h" | |
| #include "src/exceptions/InvalidArgumentException.h" | |
| #include "src/storage/PartialScheduler.h" | |
| #include "src/storage/TotalScheduler.h" | |
|  | |
| TEST(SchedulerTest, PartialScheduler) { | |
|     storm::storage::PartialScheduler scheduler; | |
|      | |
|     ASSERT_NO_THROW(scheduler.setChoice(0, 1)); | |
|     ASSERT_NO_THROW(scheduler.setChoice(0, 3)); | |
|     ASSERT_NO_THROW(scheduler.setChoice(3, 4)); | |
|      | |
|     ASSERT_TRUE(scheduler.isChoiceDefined(0)); | |
|     ASSERT_EQ(3, scheduler.getChoice(0)); | |
|      | |
|     ASSERT_TRUE(scheduler.isChoiceDefined(3)); | |
|     ASSERT_EQ(4, scheduler.getChoice(3)); | |
|      | |
|     ASSERT_FALSE(scheduler.isChoiceDefined(1)); | |
|     ASSERT_THROW(scheduler.getChoice(1), storm::exceptions::InvalidArgumentException); | |
| } | |
| 
 | |
| TEST(SchedulerTest, TotalScheduler) { | |
|     storm::storage::TotalScheduler scheduler(4); | |
|      | |
|     ASSERT_NO_THROW(scheduler.setChoice(0, 1)); | |
|     ASSERT_NO_THROW(scheduler.setChoice(0, 3)); | |
|     ASSERT_NO_THROW(scheduler.setChoice(3, 4)); | |
|      | |
|     ASSERT_TRUE(scheduler.isChoiceDefined(0)); | |
|     ASSERT_EQ(3, scheduler.getChoice(0)); | |
|      | |
|     ASSERT_TRUE(scheduler.isChoiceDefined(3)); | |
|     ASSERT_EQ(4, scheduler.getChoice(3)); | |
|      | |
|     ASSERT_TRUE(scheduler.isChoiceDefined(1)); | |
|     ASSERT_EQ(0, scheduler.getChoice(1)); | |
|                                               | |
|     ASSERT_THROW(scheduler.getChoice(4), storm::exceptions::InvalidArgumentException); | |
|     ASSERT_THROW(scheduler.setChoice(5, 2), storm::exceptions::InvalidArgumentException); | |
| }
 |