Added test for CustomTimer when app isn't visible
This commit is contained in:
		
							parent
							
								
									f46063eba1
								
							
						
					
					
						commit
						04f61c7516
					
				
					 1 changed files with 22 additions and 0 deletions
				
			
		|  | @ -2,6 +2,7 @@ package be.ugent.sel.studeez.timer_functional | ||||||
| 
 | 
 | ||||||
| import android.media.MediaPlayer | import android.media.MediaPlayer | ||||||
| import be.ugent.sel.studeez.data.SelectedTimerState | import be.ugent.sel.studeez.data.SelectedTimerState | ||||||
|  | import be.ugent.sel.studeez.data.local.models.timer_functional.FunctionalCustomTimer | ||||||
| import be.ugent.sel.studeez.data.local.models.timer_functional.FunctionalEndlessTimer | import be.ugent.sel.studeez.data.local.models.timer_functional.FunctionalEndlessTimer | ||||||
| import be.ugent.sel.studeez.data.local.models.timer_functional.FunctionalPomodoroTimer | import be.ugent.sel.studeez.data.local.models.timer_functional.FunctionalPomodoroTimer | ||||||
| import be.ugent.sel.studeez.data.local.models.timer_functional.FunctionalTimer | import be.ugent.sel.studeez.data.local.models.timer_functional.FunctionalTimer | ||||||
|  | @ -80,4 +81,25 @@ class InvisibleSessionManagerTest { | ||||||
|         test.cancel() |         test.cancel() | ||||||
|         return@runTest |         return@runTest | ||||||
|     } |     } | ||||||
|  | 
 | ||||||
|  |     @Test | ||||||
|  |     fun InvisibleCustomTimerTest() = runTest { | ||||||
|  |         timerState.selectedTimer = FunctionalCustomTimer(5) | ||||||
|  |         viewModel = SessionViewModel(timerState, mock()) | ||||||
|  |         InvisibleSessionManager.setParameters(viewModel, mediaPlayer) | ||||||
|  | 
 | ||||||
|  |         val test = launch { | ||||||
|  |             InvisibleSessionManager.updateTimer() | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|  |         Assert.assertEquals(viewModel.getTimer().time.time, 5) | ||||||
|  |         advanceTimeBy(1_000) // Start tikker | ||||||
|  |         advanceTimeBy(4_000) | ||||||
|  |         Assert.assertEquals(viewModel.getTimer().time.time, 1) | ||||||
|  |         advanceTimeBy(1_000) | ||||||
|  |         Assert.assertEquals(viewModel.getTimer().time.time, 0) | ||||||
|  | 
 | ||||||
|  |         test.cancel() | ||||||
|  |         return@runTest | ||||||
|  |     } | ||||||
| } | } | ||||||
		Reference in a new issue
	
	 Rune Dyselinck
						Rune Dyselinck