Example #1
0
        public void testComplexAndQuery()
        {
            String sifQuery = "<SIF_Request><SIF_Query>" +
                              "    <SIF_QueryObject ObjectName=\"StudentSchoolEnrollment\"/>" +
                              "    <SIF_ConditionGroup Type=\"None\">" +
                              "           <SIF_Conditions Type=\"And\">" +
                              "             <SIF_Condition>" +
                              "                 <SIF_Element>@MembershipType</SIF_Element>" +
                              "                 <SIF_Operator>EQ</SIF_Operator>" +
                              "                 <SIF_Value>Home</SIF_Value>" +
                              "              </SIF_Condition>" +
                              "              <SIF_Condition>" +
                              "                 <SIF_Element>@RefId</SIF_Element>" +
                              "                 <SIF_Operator>EQ</SIF_Operator>" +
                              "                 <SIF_Value>49B02D134D6D445DA7B5C76160BF3902</SIF_Value>" +
                              "              </SIF_Condition>" +
                              "              <SIF_Condition>" +
                              "                 <SIF_Element>@SchoolInfoRefId</SIF_Element>" +
                              "                 <SIF_Operator>EQ</SIF_Operator>" +
                              "                 <SIF_Value>EF8850D522E54688B036B08F9C4C1312</SIF_Value>" +
                              "              </SIF_Condition>" +
                              "              <SIF_Condition>" +
                              "                 <SIF_Element>@SchoolYear</SIF_Element>" +
                              "                 <SIF_Operator>EQ</SIF_Operator>" +
                              "                 <SIF_Value>2006</SIF_Value>" +
                              "              </SIF_Condition>" +
                              "              <SIF_Condition>" +
                              "                 <SIF_Element>@StudentPersonalRefId</SIF_Element>" +
                              "                 <SIF_Operator>EQ</SIF_Operator>" +
                              "                 <SIF_Value>1AA295D3BC5146FA9058BB62FB6CC602</SIF_Value>" +
                              "              </SIF_Condition>" +
                              "              <SIF_Condition>" +
                              "                 <SIF_Element>@TimeFrame</SIF_Element>" +
                              "                 <SIF_Operator>EQ</SIF_Operator>" +
                              "                 <SIF_Value>Historical</SIF_Value>" +
                              "              </SIF_Condition>" +
                              "              <SIF_Condition>" +
                              "                <SIF_Element>EntryDate</SIF_Element>" +
                              "                 <SIF_Operator>EQ</SIF_Operator>" +
                              "                 <SIF_Value>2005-08-28</SIF_Value>" +
                              "              </SIF_Condition>" +
                              "           </SIF_Conditions>" +
                              "        </SIF_ConditionGroup>" +
                              "     </SIF_Query></SIF_Request>";

            SifParser parser = SifParser.NewInstance();
            SIF_Request sifR = (SIF_Request) parser.Parse( sifQuery, null, 0, SifVersion.LATEST );
            Query query = new Query( sifR.SIF_Query );

            String sse =
                "<StudentSchoolEnrollment RefId=\"49B02D134D6D445DA7B5C76160BF3902\" StudentPersonalRefId=\"1AA295D3BC5146FA9058BB62FB6CC602\" SchoolInfoRefId=\"EF8850D522E54688B036B08F9C4C1312\" MembershipType=\"Home\" TimeFrame=\"Historical\" SchoolYear=\"2006\">" +
                "<EntryDate>2005-08-28</EntryDate>" +
                "</StudentSchoolEnrollment>";

            SifDataObject sdo = (SifDataObject) parser.Parse( sse, null, 0, SifVersion.SIF20r1 );

            Assert.IsTrue( query.Evaluate( sdo ) );
        }
Example #2
0
 public void testSimpleOrFilter()
 {
     Authentication auth = BuildAuthentication();
     Query q = new Query( InfrastructureDTD.AUTHENTICATION, GroupOperator.Or );
     q.AddCondition( InfrastructureDTD.AUTHENTICATIONINFO_DISTINGUISHEDNAME, ComparisonOperators.EQ, "foo" );
     q.AddCondition( InfrastructureDTD.AUTHENTICATION_REFID, ComparisonOperators.EQ, REFID_GUID );
     Assert.IsTrue( q.Evaluate( auth ) );
 }
Example #3
0
 public void testSimpleRefidFilterFail()
 {
     Authentication auth = BuildAuthentication();
     Query q = new Query( InfrastructureDTD.AUTHENTICATION );
     q.AddCondition( InfrastructureDTD.AUTHENTICATION_REFID, ComparisonOperators.EQ, "FAIL" );
     Assert.IsFalse( q.Evaluate( auth ) );
 }
Example #4
0
        public void testSimpleLTFilter()
        {
            StudentPersonal sp = new StudentPersonal( Adk.MakeGuid(), new Name( NameType.BIRTH, "E", "Sally" ) );

            Query q = new Query( StudentDTD.STUDENTPERSONAL );
            q.AddCondition( CommonDTD.NAME_LASTNAME, ComparisonOperators.LT, "G" );
            Assert.IsTrue( q.Evaluate( sp ) );

            q = new Query( StudentDTD.STUDENTPERSONAL );
            q.AddCondition( CommonDTD.NAME_LASTNAME, ComparisonOperators.LT, "E" );
            Assert.IsFalse( q.Evaluate( sp ) );
        }
Example #5
0
        public void testSimpleFilter()
        {
            Authentication auth = BuildAuthentication();
            Query q = new Query( StudentDTD.STUDENTPERSONAL );

            Assert.IsFalse( q.Evaluate( auth ) );

            q = new Query( InfrastructureDTD.AUTHENTICATION );
            Assert.IsTrue( q.Evaluate( auth ) );
        }
Example #6
0
        public void TestQueryCompare()
        {
            Query query = new Query(StudentDTD.STUDENTSCHOOLENROLLMENT, GroupOperator.Or);
            query.AddCondition(StudentDTD.STUDENTSCHOOLENROLLMENT_TIMEFRAME, ComparisonOperators.EQ, TimeFrame.CURRENT.Value);
            query.AddCondition(StudentDTD.STUDENTSCHOOLENROLLMENT_TIMEFRAME, ComparisonOperators.EQ, TimeFrame.FUTURE.Value);

            StudentSchoolEnrollment studentSchoolEnrollment = new StudentSchoolEnrollment();
            studentSchoolEnrollment.TimeFrame = TimeFrame.HISTORICAL.Value;
            Assert.IsFalse(query.Evaluate(studentSchoolEnrollment));
        }
Example #7
0
        public void testElementWithNullValue()
        {
            StudentPersonal sp = new StudentPersonal( Adk.MakeGuid(), new Name( NameType.BIRTH, null, "Sally" ) );

            Query q = new Query( StudentDTD.STUDENTPERSONAL );
            q.AddCondition( CommonDTD.NAME_LASTNAME, ComparisonOperators.GT, "E" );
            Assert.IsFalse( q.Evaluate( sp ) );

            q = new Query( StudentDTD.STUDENTPERSONAL );
            q.AddCondition( CommonDTD.NAME_LASTNAME, ComparisonOperators.EQ, "E" );
            Assert.IsFalse( q.Evaluate( sp ) );

            q = new Query( StudentDTD.STUDENTPERSONAL );
            q.AddCondition( CommonDTD.NAME_LASTNAME, ComparisonOperators.NE, "E" );
            Assert.IsTrue( q.Evaluate( sp ) );
        }
Example #8
0
        public void testComplexOrWithGTFilter()
        {
            ConditionGroup fail = new ConditionGroup( GroupOperator.None );
            // This condition should fail
            fail.AddCondition( InfrastructureDTD.AUTHENTICATION_REFID, ComparisonOperators.NE, REFID_GUID );

            ConditionGroup pass = new ConditionGroup( GroupOperator.Or );
            // This condition should fail
            pass.AddCondition( InfrastructureDTD.AUTHENTICATIONINFO_USERNAME, ComparisonOperators.EQ, "FAIL" );
            pass.AddCondition( InfrastructureDTD.AUTHENTICATIONINFO_USERNAME, ComparisonOperators.GT, "a" );

            ConditionGroup root = new ConditionGroup( GroupOperator.Or );
            root.AddGroup( fail );
            root.AddGroup( pass );

            Query q = new Query( InfrastructureDTD.AUTHENTICATION, root );

            Authentication auth = BuildAuthentication();
            Assert.IsTrue( q.Evaluate( auth ) );
        }