Example #1
0
        public void recognizeUser()
        {
            while (true)
            {
                updateUserMsg("Na, Lust eine Runde zu spielen?" + "\n" + "Es darf nur eine Person in der Kamera zu sehen sein..");

                System.Threading.Thread.Sleep(1000);

                //send video instance to NNUnit to check if user exist
                ReturnObject.Type recognizedUserType = ReturnObject.Type.Exception;

                int count = 5;
                while (count != 0)
                {
                    Application.Current.Dispatcher.Invoke(new Action(() => {
                        BitmapSource Userimg = BitmapConverter.ConvertToBitmapSource(MainWindow.main.webCameraControl.GetCurrentImage());
                        saveImage(Userimg, count);
                    }));
                    --count;
                }

                //allow 5 captures
                count = 5;

                System.Threading.Thread.Sleep(100);

                //recognizedUserType = game.TryToRecognizeUser();

                //DebugModeVersion TEST!! DELETE Afterward
                recognizedUserType = game.TryToRecognizeUser().FaceDetected;

                if (global.Debug)
                {
                    getDebugModeOutput(game.testObj);
                }

                switch (recognizedUserType)
                {
                case ReturnObject.Type.FaceDetected:
                    updateUserMsg("Willkommen zum Spiel! Viel Spaß!");
                    run();
                    break;

                case ReturnObject.Type.Exception:
                    logger.Log("GUI says: ReturnObject threw exception!");
                    updateUserMsg("Ein Fehler ist aufgetreten! \n Bitte wenden Sie sich an einen Mitarbeiter!");
                    System.Threading.Thread.Sleep(3000);
                    break;
                }
            }
        }
        public void GetReturnObjectTest()
        {
            //Arrange
            string emotion    = "Surprised";
            int    percentage = 60;

            ReturnObject.Type enumType = ReturnObject.Type.FaceDetected;
            actual_prepareModel = new PrepareModel();

            //Act
            ReturnObject expected = actual_prepareModel.returnObject;

            //Change the returnObject in actual_prepareModel
            actual_prepareModel.returnObject = new ReturnObject(emotion, percentage, enumType);
            ReturnObject actual = actual_prepareModel.GetReturnObject();

            //Assert
            Assert.AreNotEqual(expected.Emotion, actual.Emotion);
            Assert.AreNotEqual(expected.Percentage, actual.Percentage);
            Assert.AreNotEqual(expected.FaceDetected, actual.FaceDetected);
        }
        public void TestConstructorIncorrectValues(string expected_emotion, int expected_percentage, ReturnObject.Type expected_enum, string actual_emotion, int actual_percentage, ReturnObject.Type actual_enum)
        {
            //Arrange
            //Arrangement of the Test is made in the TestCase-Attribute above.
            //Act
            actual_Object = new ReturnObject(actual_emotion, actual_percentage, actual_enum);

            //Assert
            Assert.AreEqual(expected_emotion, actual_Object.Emotion);
            Assert.AreEqual(expected_percentage, actual_Object.Percentage);
            Assert.AreEqual(expected_enum, actual_Object.FaceDetected);
        }