コード例 #1
0
ファイル: Tests.cs プロジェクト: tourneux/DForm
        public void CreateAnswers()
        {
            Form f = new Form();
            Assert.IsNull( f.Title );
            f.Title = "jj";
            Assert.AreEqual( "jj", f.Title );

            FormAnswer a = f.FindOrCreateAnswer( "Emilie" );
            Assert.IsNotNull( a );
            FormAnswer b = f.FindOrCreateAnswer( "Emilie" );
            Assert.AreSame( a, b );

            Assert.AreEqual( 1, f.AnswerCount );
            FormAnswer c = f.FindOrCreateAnswer( "John Doe" );
            Assert.AreNotSame( a, c );

            Assert.AreEqual( "Emilie", a.UniqueName );
            Assert.AreEqual( "John Doe", c.UniqueName );
        }
コード例 #2
0
ファイル: Tests.cs プロジェクト: tourneux/DForm
        public void LaTotale()
        {
            Form f = new Form();

            OpenQuestion qOpen = (OpenQuestion)f.Questions.AddNewQuestion( typeof( OpenQuestion ) );
            qOpen.Title = "First Question in the world!";
            qOpen.AllowEmptyAnswer = false;

            FormAnswer a = f.FindOrCreateAnswer( "Emilie" );
            Assert.IsNotEmpty( f.ListOfFormAnswer );

            BooleanQuestion qBool = (BooleanQuestion)f.Questions.AddNewQuestion( typeof( BooleanQuestion ) );
            qBool.Title = "Second Question in the world!";
            qBool.AllowEmptyAnswer = false;

            AnswerBase theAnswerOfEmilieToQOpen = a.FindAnswer( qOpen );
            if( theAnswerOfEmilieToQOpen == null )
            {
                theAnswerOfEmilieToQOpen = a.AddAnswerFor( qOpen );
            }
            Assert.IsInstanceOf( typeof( OpenAnswer ), theAnswerOfEmilieToQOpen );

            OpenAnswer emilieAnswer = (OpenAnswer)theAnswerOfEmilieToQOpen;
            emilieAnswer.FreeAnswer = "I am very happy to be here";

            AnswerBase theAnswerOfEmilieToQBoolean = a.FindAnswer( qBool );
            if( theAnswerOfEmilieToQBoolean == null )
            {
                theAnswerOfEmilieToQBoolean = a.AddAnswerFor( qBool );
            }
            Assert.IsInstanceOf( typeof( BooleanAnswer ), theAnswerOfEmilieToQBoolean );

            BooleanAnswer emilieAnswerBool = (BooleanAnswer)theAnswerOfEmilieToQBoolean;
            emilieAnswerBool.BoolAnswer = true;

            Assert.IsTrue( emilieAnswerBool.BoolAnswer );

            qBool.Parent = qOpen;
            Assert.AreEqual( 0, qOpen.Index );
            Assert.AreEqual( 0, qBool.Index );
            Assert.IsTrue( f.Questions.Contains( qBool ) );
        }
コード例 #3
0
ファイル: Tests.cs プロジェクト: tourneux/DForm
        public void Xml()
        {
            Form f = new Form();
            f.Title = "Prem's";

            OpenQuestion qOpen = (OpenQuestion)f.Questions.AddNewQuestion( typeof( OpenQuestion ) );
            qOpen.Title = "First Question in the world!";
            qOpen.AllowEmptyAnswer = false;

            FormAnswer a = f.FindOrCreateAnswer( "Emilie" );
            Assert.IsNotEmpty( f.ListOfFormAnswer );

            BooleanQuestion qBool = (BooleanQuestion)f.Questions.AddNewQuestion( typeof( BooleanQuestion ) );
            qBool.Title = "Second Question in the world!";

            BooleanQuestion q2Bool = (BooleanQuestion)f.Questions.AddNewQuestion( typeof( BooleanQuestion ) );
            q2Bool.Title = "Third Question in the world!";

            qBool.Parent = qOpen;
            q2Bool.Parent = qBool;

            XElement e = f.Questions.ToXml();

            var result = @"
                <Questions Title=""Prem's"">
                    <NumberOfQuestions Count=""1"">
                        <QuestionBase Title=""First Question in the world!"">
                            <Child Count=""1"">
                                <QuestionBase Title=""Second Question in the world!"">
                                    <Child Count=""1"">
                                        <QuestionBase Title=""Third Question in the world!"">
                                            <Child Count=""0"" />
                                        </QuestionBase>
                                    </Child>
                                </QuestionBase>
                            </Child>
                        </QuestionBase>
                    </NumberOfQuestions>
                </Questions>";
            var eTest = XElement.Parse( result );
            Assert.That( XElement.DeepEquals( eTest, e ) );
        }
コード例 #4
0
ファイル: Tests.cs プロジェクト: tourneux/DForm
        public void SerializableObject()
        {
            Form f = new Form();
            f.Title = "Prem's";

            OpenQuestion qOpen = (OpenQuestion)f.Questions.AddNewQuestion( typeof( OpenQuestion ) );
            qOpen.Title = "First Question in the world!";
            qOpen.AllowEmptyAnswer = false;

            FormAnswer a = f.FindOrCreateAnswer( "Emilie" );
            Assert.IsNotEmpty( f.ListOfFormAnswer );

            BooleanQuestion qBool = (BooleanQuestion)f.Questions.AddNewQuestion( typeof( BooleanQuestion ) );
            qBool.Title = "Second Question in the world!";

            BooleanQuestion q2Bool = (BooleanQuestion)f.Questions.AddNewQuestion( typeof( BooleanQuestion ) );
            q2Bool.Title = "Third Question in the world!";

            qBool.Parent = qOpen;
            q2Bool.Parent = qBool;
            Assert.AreEqual( 0, qOpen.Index );
            Assert.AreEqual( 0, q2Bool.Index );
            Assert.IsTrue( f.Questions.Contains( qBool ) );

            Form formBlank = f.CloneSerializableObject( f );
            formBlank.Title = "je suis un clone mais avec liste de FormAnswer vide !!!!!";
            Assert.IsEmpty( formBlank.ListOfFormAnswer );
            Assert.AreNotSame( f, formBlank );

            /* Création des réponses */
            AnswerBase theAnswerOfEmilieToQOpen = a.FindAnswer( qOpen );
            if( theAnswerOfEmilieToQOpen == null )
            {
                theAnswerOfEmilieToQOpen = a.AddAnswerFor( qOpen );
            }
            Assert.IsInstanceOf( typeof( OpenAnswer ), theAnswerOfEmilieToQOpen );

            OpenAnswer emilieAnswer = (OpenAnswer)theAnswerOfEmilieToQOpen;
            emilieAnswer.FreeAnswer = "I am very happy to be here";
            //
            AnswerBase theAnswerOfEmilieToQBool = a.FindAnswer( qBool );
            if( theAnswerOfEmilieToQBool == null )
            {
                theAnswerOfEmilieToQBool = a.AddAnswerFor( qBool );
            }
            Assert.IsInstanceOf( typeof( BooleanAnswer ), theAnswerOfEmilieToQBool );
            BooleanAnswer emilieAnswerBool = (BooleanAnswer)theAnswerOfEmilieToQBool;
            emilieAnswerBool.BoolAnswer = true;
            //
            AnswerBase theAnswerOfEmilieToQBool2 = a.FindAnswer( q2Bool );
            if( theAnswerOfEmilieToQBool2 == null )
            {
                theAnswerOfEmilieToQBool2 = a.AddAnswerFor( q2Bool );
            }
            Assert.IsInstanceOf( typeof( BooleanAnswer ), theAnswerOfEmilieToQBool2 );

            BooleanAnswer emilieAnswerBool2 = (BooleanAnswer)theAnswerOfEmilieToQBool2;
            emilieAnswerBool2.BoolAnswer = false;

            Assert.IsEmpty( formBlank.ListOfFormAnswer );
            Assert.IsNotEmpty( f.ListOfFormAnswer );
        }
コード例 #5
0
ファイル: Tests.cs プロジェクト: tourneux/DForm
        public void Linq()
        {
            Form f = new Form();
            f.Title = "Prem's";

            OpenQuestion qOpen = (OpenQuestion)f.Questions.AddNewQuestion( typeof( OpenQuestion ) );
            qOpen.Title = "First Question in the world!";
            qOpen.AllowEmptyAnswer = false;

            FormAnswer a = f.FindOrCreateAnswer( "Emilie" );
            Assert.IsNotEmpty( f.ListOfFormAnswer );

            BooleanQuestion qBool = (BooleanQuestion)f.Questions.AddNewQuestion( typeof( BooleanQuestion ) );
            qBool.Title = "Second Question in the world!";

            BooleanQuestion q2Bool = (BooleanQuestion)f.Questions.AddNewQuestion( typeof( BooleanQuestion ) );
            q2Bool.Title = "Third Question in the world!";

            Assert.AreEqual( 0, qOpen.Index );
            Assert.AreEqual( 1, qBool.Index );
            Assert.AreEqual( 2, q2Bool.Index );
            Assert.IsTrue( f.Questions.Contains( qBool ) );

            /* Création des réponses */
            AnswerBase theAnswerOfEmilieToQOpen = a.FindAnswer( qOpen );
            if( theAnswerOfEmilieToQOpen == null )
            {
                theAnswerOfEmilieToQOpen = a.AddAnswerFor( qOpen );
            }
            Assert.IsInstanceOf( typeof( OpenAnswer ), theAnswerOfEmilieToQOpen );
            OpenAnswer emilieAnswer = (OpenAnswer)theAnswerOfEmilieToQOpen;
            emilieAnswer.FreeAnswer = "I am very happy to be here";
            //
            AnswerBase theAnswerOfEmilieToQBool = a.FindAnswer( qBool );
            if( theAnswerOfEmilieToQBool == null )
            {
                theAnswerOfEmilieToQBool = a.AddAnswerFor( qBool );
            }
            Assert.IsInstanceOf( typeof( BooleanAnswer ), theAnswerOfEmilieToQBool );
            BooleanAnswer emilieAnswerBool = (BooleanAnswer)theAnswerOfEmilieToQBool;
            emilieAnswerBool.BoolAnswer = true;
            //
            AnswerBase theAnswerOfEmilieToQBool2 = a.FindAnswer( q2Bool );
            if( theAnswerOfEmilieToQBool2 == null )
            {
                theAnswerOfEmilieToQBool2 = a.AddAnswerFor( q2Bool );
            }
            Assert.IsInstanceOf( typeof( BooleanAnswer ), theAnswerOfEmilieToQBool2 );

            BooleanAnswer emilieAnswerBool2 = (BooleanAnswer)theAnswerOfEmilieToQBool2;
            emilieAnswerBool2.BoolAnswer = false;

            var answerTitle = f.Questions.Dictionary
                                   .Select( i => i.Value )
                                   .OfType<BooleanAnswer>()
                                   .Where( d => d.BoolAnswer == false )
                                   .SelectMany( g => g.Title );

            Assert.AreEqual( answerTitle, "Third Question in the world!" );

            var answerIndex = f.Questions.Dictionary
                                .Select( i => i.Value )
                                .OfType<BooleanAnswer>()
                                .Where( i => i.Index == 2 )
                                .Select( h => h.Index ).FirstOrDefault();

            Assert.AreEqual( 2, answerIndex );

            Assert.IsNotEmpty( f.ListOfFormAnswer );
        }