Beispiel #1
0
        /// <summary>
        /// Method requesting the questionnaire xml and returning the results locally.
        /// </summary>
        internal void performTest5()
        {
            log("Start Test 5");
            setQuestionnaireXMLData(createExampleQuestionnaireData());
            String xml = getPPA().getQuestionnaireXML();

            QuestionnaireData qd             = getQuestionnaireDataFromXmlString(xml);
            int numberOfChoices              = qd.choiceList.choiceItemList.Count;
            Dictionary <string, int> answers = new Dictionary <string, int>();
            int i = 0;

            foreach (QuestionItem qi in qd.questionList.questionItemList)
            {
                if (i % 2 == 0)
                {
                    answers.Add(qi.question, numberOfChoices - 2);
                }
                else
                {
                    answers.Add(qi.question, numberOfChoices - 1);
                }
                i++;
            }
            getPPA().setQuestionnaireAnswers(answers);

            Dictionary <string, double> results = getPPA().getResults();

            foreach (String groupName in results.Keys)
            {
                log(groupName + ": " + results[groupName]);
            }
            log("A" + ": " + results["A"]);
            log("End test 5");
        }
Beispiel #2
0
        /// <summary>
        /// Method creating example questionnaire data and outputting it.
        /// </summary>
        internal void performTest1()
        {
            log("Start Test 1");
            QuestionnaireData qd = createExampleQuestionnaireData();

            log(qd.toXmlString());
            writeQuestionnaireDataToHTMLFile(qd, "QuestionnaireDataTest1.html");
            log("End test 1");
        }
        /// <summary>
        /// Method for deserialization of a XML-String to the coressponding QuestionnaireData.
        /// </summary>
        ///
        /// <param name="str"> String containing the XML-QuestionnaireData for deserialization. </param>
        ///
        /// <returns>
        /// QuestionnaireData-type coressponding to the parameter "str" after deserialization.
        /// </returns>
        internal QuestionnaireData getQuestionnaireDataFromXmlString(String str)
        {
            XmlSerializer serializer = new XmlSerializer(typeof(QuestionnaireData));

            using (TextReader reader = new StringReader(str))
            {
                QuestionnaireData result = (QuestionnaireData)serializer.Deserialize(reader);
                return(result);
            }
        }
        /// <summary>
        /// Method for storing Questionnaire data as html in a File.
        /// </summary>
        ///
        /// <param name="qd"> Questionnaire data to store. </param>
        /// <param name="fileId"> String containing the file identification. </param>
        internal void writeQuestionnaireDataToHTMLFile(QuestionnaireData qd, String fileId)
        {
            IDataStorage ids = (IDataStorage)AssetManager.Instance.Bridge;

            if (ids != null)
            {
                log("Storing Questionnaire data to HTML File.");
                //testid given from program!
                ids.Save(fileId, qd.toHTMLString("testid"));
            }
            else
            {
                log("No IDataStorage - Bridge implemented!", Severity.Warning);
            }
        }
 public void performTest1()
 {
     Initialize();
     log("Start Test 1");
     try
     {
         QuestionnaireData qd = createExampleQuestionnaireData();
         log(qd.toXmlString());
         writeQuestionnaireDataToHTMLFile(qd, "QuestionnaireDataTest1.html");
     }
     catch
     {
         Assert.Fail();
     }
     log("End test 1");
 }
        public void performTest6()
        {
            log("Start Test 6");
            setQuestionnaireXMLData(createExampleQuestionnaireData());
            String xml = getPPA().getQuestionnaireXML();

            try
            {
                QuestionnaireData qd = QuestionnaireData.getQuestionnaireData(xml);
                if (!xml.Equals(qd.toXmlString()))
                {
                    Assert.Fail();
                }
            }
            catch
            {
                Assert.Fail();
            }

            log("End Test 6");
        }
        /// <summary>
        /// Method creating an example Questionnaire datastructure for test purpose4s.
        /// </summary>
        /// <returns> example Questionnaire datastructure </returns>
        internal QuestionnaireData createExampleQuestionnaireData()
        {
            QuestionItem q1 = new QuestionItem(1, "How do you feel?");

            q1.group = "A";
            QuestionItem q2 = new QuestionItem(2, "Do you like games?");

            q2.group = "A";
            QuestionItem q3 = new QuestionItem(3, "Do you like fast cars?");

            q3.group = "A";
            QuestionItem q4 = new QuestionItem(4, "Do you enjoy silence?");

            q4.group = "A";
            QuestionItem q5 = new QuestionItem(5, "Do you like swimming?");

            q5.group = "A";
            QuestionItem[]      qia = { q1, q2, q3, q4, q5 };
            List <QuestionItem> qil = new List <QuestionItem>(qia);

            ChoiceItem c1 = new ChoiceItem(0, "Very good/much.");
            ChoiceItem c2 = new ChoiceItem(1, "I do not know.");
            ChoiceItem c3 = new ChoiceItem(2, "Very bad/Not very much.");

            ChoiceItem[]      cia = { c1, c2, c3 };
            List <ChoiceItem> cil = new List <ChoiceItem>(cia);

            QuestionnaireData qd = new QuestionnaireData(qil, cil);

            qd.title        = "Fancy questionnaire:";
            qd.instructions = "Please fill in the following form.";
            qd.groupList    = new QuestionnaireGroupList();

            QuestionnaireGroup qg1 = new QuestionnaireGroup("A", "SUM/5");

            QuestionnaireGroup[] qga = { qg1 };
            qd.groupList.groups = new List <QuestionnaireGroup>(qga);

            return(qd);
        }
        internal void setQuestionnaireXMLData(QuestionnaireData qd)
        {
            string fileId = "QuestionnaireDataFileIdTest.xml";

            //store dm to file
            IDataStorage ids = (IDataStorage)AssetManager.Instance.Bridge;

            if (ids != null)
            {
                log("Storing DomainModel to File.");
                ids.Save(fileId, qd.toXmlString());
            }
            else
            {
                log("No IDataStorage - Bridge implemented!", Severity.Warning);
            }

            PlayerProfilingAssetSettings ppas = new PlayerProfilingAssetSettings();

            ppas.QuestionnaireDataXMLFileId = fileId;
            getPPA().Settings = ppas;
        }
Beispiel #9
0
    protected virtual void SendAnalytics()
    {
        int videoID = ChicagoSceneTransition.Instance.GetLastVideo() != null?ChicagoSceneTransition.Instance.GetLastVideo().videoID : -1;

        QuestionnaireData questionnaireData = new QuestionnaireData(userID, headsetID, testTimestamp, videoID, responses[0], responses[1], responses[2], responses[3]);
        var data = new List <QuestionnaireData> {
            questionnaireData
        };

        AnalyticsUtilities.Event(ANALYTICS_TITLE, data);

        Analytics.CustomEvent(ANALYTICS_TITLE, new Dictionary <string, object>
        {
            { "UserID", questionnaireData.UserID },
            { "HeadsetID", questionnaireData.HeadsetID },
            { "TestTimestamp", questionnaireData.TestTimestamp },
            { "VideoID", questionnaireData.VideoID },
            { "EmpathyAntwaun", questionnaireData.EmpathyAntwuan },
            { "EmpathyTony", questionnaireData.EmpathyTony },
            { "EmpathySantana", questionnaireData.EmpathySantana },
            { "EmpathyDanny", questionnaireData.EmpathyDanny }
        });
    }