Example #1
0
        public void StartActivityCheck()
        {
            //Für den ServiceProviderMock
            //Muss enthalten sein, damit der Mock nicht überschrieben wird
            IServiceProvider unused = ServiceManager.ServiceProvider;

            //Feld Infos holen
            System.Reflection.FieldInfo instance = typeof(ServiceManager).GetField("_serviceProvider", System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.NonPublic);

            //Mocksaufsetzen
            //ServiceProvider
            Mock <IServiceProvider>        mockSingleton        = new Mock <IServiceProvider>();
            Mock <IActivityManager>        activityManagerMock  = new Mock <IActivityManager>();
            Mock <IServiceProvider>        activityProviderMock = new Mock <IServiceProvider>();
            Mock <AbstractStepActivity>    stepActivityMock     = new Mock <AbstractStepActivity>();
            Mock <AbstractRunningActivity> runningActivityMock  = new Mock <AbstractRunningActivity>();
            Mock <IEarablesConnection>     connectionMock       = new Mock <IEarablesConnection>();
            Mock <IPopUpService>           popUpMock            = new Mock <IPopUpService>();

            //ActivityManager
            activityManagerMock.Setup(x => x.ActitvityProvider).Returns(activityProviderMock.Object);
            activityProviderMock.Setup(x => x.GetService(typeof(AbstractRunningActivity))).Returns(runningActivityMock.Object);
            activityProviderMock.Setup(x => x.GetService(typeof(AbstractStepActivity))).Returns(stepActivityMock.Object);

            //IDataBaseConnection
            Mock <IDataBaseConnection> mockDataBase = new Mock <IDataBaseConnection>();
            List <DBEntry>             entries      = new List <DBEntry>();

            mockDataBase.As <IDataBaseConnection>().Setup(x => x.GetMostRecentEntries(1)).Returns(entries);

            DateTime _dt       = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day);
            DBEntry  _entryNew = new DBEntry(_dt, 10, 0, 0);

            mockDataBase.As <IDataBaseConnection>().Setup(x => x.SaveDBEntry(_entryNew)).Returns(1);

            //ServiceManager
            mockSingleton.Setup(x => x.GetService(typeof(IDataBaseConnection))).Returns(mockDataBase.Object);
            mockSingleton.Setup(x => x.GetService(typeof(IActivityManager))).Returns(activityManagerMock.Object);
            mockSingleton.Setup(x => x.GetService(typeof(IEarablesConnection))).Returns(connectionMock.Object);
            mockSingleton.Setup(x => x.GetService(typeof(IPopUpService))).Returns(popUpMock.Object);

            //Connection
            connectionMock.As <IEarablesConnection>().Setup(x => x.StartSampling());


            //StepActivity
            //stepActivityMock.As<AbstractStepActivity>().SetupAdd(x => x.ActivityDone += (sender, args) => { });

            //ServiceProvider anlegen
            instance.SetValue(null, mockSingleton.Object);

            //Test
            StepModeViewModel viewModel = new StepModeViewModel();

            ScanningPopUpViewModel.IsConnected = true;
            viewModel.StartActivity();
            Assert.Equal(0, viewModel.StepCounter);
            Assert.Equal(DateTime.Now.ToString(), viewModel.CurrentDate);
            //stepActivityMock.VerifyAdd(m => m.ActivityDone += It.IsAny<EventHandler<ActivityArgs>>(), Times.Exactly(1));
        }
Example #2
0
        public void CounterStatusCheck()
        {
            //Für den ServiceProviderMock
            //Muss enthalten sein, damit der Mock nicht überschrieben wird
            IServiceProvider unused = ServiceManager.ServiceProvider;

            //Feld Infos holen
            System.Reflection.FieldInfo instance = typeof(ServiceManager).GetField("_serviceProvider", System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.NonPublic);

            //Mocksaufsetzen
            //ServiceProvider
            Mock <IServiceProvider>        mockSingleton        = new Mock <IServiceProvider>();
            Mock <IActivityManager>        activityManagerMock  = new Mock <IActivityManager>();
            Mock <IServiceProvider>        activityProviderMock = new Mock <IServiceProvider>();
            Mock <AbstractStepActivity>    stepActivityMock     = new Mock <AbstractStepActivity>();
            Mock <AbstractRunningActivity> runningActivityMock  = new Mock <AbstractRunningActivity>();
            Mock <IEarablesConnection>     connectionMock       = new Mock <IEarablesConnection>();
            Mock <IPopUpService>           popUpMock            = new Mock <IPopUpService>();

            //ActivityManager
            activityManagerMock.Setup(x => x.ActitvityProvider).Returns(activityProviderMock.Object);
            activityProviderMock.Setup(x => x.GetService(typeof(AbstractRunningActivity))).Returns(runningActivityMock.Object);
            activityProviderMock.Setup(x => x.GetService(typeof(AbstractStepActivity))).Returns(stepActivityMock.Object);

            //IDataBaseConnection
            Mock <IDataBaseConnection> mockDataBase = new Mock <IDataBaseConnection>();
            List <DBEntry>             entries      = new List <DBEntry>();

            mockDataBase.As <IDataBaseConnection>().Setup(x => x.GetMostRecentEntries(1)).Returns(entries);

            DateTime _dt       = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day);
            DBEntry  _entryNew = new DBEntry(_dt, 10, 0, 0);

            mockDataBase.As <IDataBaseConnection>().Setup(x => x.SaveDBEntry(_entryNew)).Returns(1);

            //ServiceManager
            mockSingleton.Setup(x => x.GetService(typeof(IDataBaseConnection))).Returns(mockDataBase.Object);
            mockSingleton.Setup(x => x.GetService(typeof(IActivityManager))).Returns(activityManagerMock.Object);
            mockSingleton.Setup(x => x.GetService(typeof(IEarablesConnection))).Returns(connectionMock.Object);
            mockSingleton.Setup(x => x.GetService(typeof(IPopUpService))).Returns(popUpMock.Object);

            //Connection
            ScanningPopUpViewModel.IsConnected = true;
            connectionMock.As <IEarablesConnection>().Setup(x => x.StartSampling());

            //ServiceProvider anlegen
            instance.SetValue(null, mockSingleton.Object);

            //Test
            StepModeViewModel viewModel = new StepModeViewModel();

            viewModel.StartActivity();
            Assert.Equal("--:--", viewModel.StepFrequency);
            viewModel.OnActivityDone(this, null);
            viewModel.OnActivityDone(this, null);
            viewModel.OnActivityDone(this, null);
            viewModel.OnRunningDone(this, new RunningEventArgs(true));
            Assert.Equal(3, viewModel.StepCounter);
            Assert.True(viewModel.IsRunning);
            Assert.NotNull(viewModel.StepFrequency);
            Assert.Equal("Du läufst!", viewModel.StatusDisplay);
            viewModel.OnRunningDone(this, new RunningEventArgs(false));
            Assert.False(viewModel.IsRunning);

            viewModel.StopActivity();
            Assert.Equal(3, viewModel.StepCounter);
            viewModel.StartActivity();
            Assert.Equal(0, viewModel.StepCounter);
            Assert.False(viewModel.IsRunning);
        }