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 ) ); }
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 ) ); }
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 ) ); }
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 ) ); }
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 ) ); }
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)); }
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 ) ); }
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 ) ); }