Exemplo n.º 1
0
        public void testCreateWithSIF_Query()
        {
            SIF_Query q = new SIF_Query(new SIF_QueryObject(
                                            ReportingDTD.STUDENTLOCATOR.Name));
            SIF_ConditionGroup scg = new SIF_ConditionGroup();

            scg.SetType(ConditionType.NONE);

            SIF_Condition sifCondition = new SIF_Condition(
                "RequestingAgencyId[@Type=\"School\"]", Operators.EQ, "2001");
            SIF_Conditions conds = new SIF_Conditions(ConditionType.NONE);

            conds.AddChild(sifCondition);
            scg.AddSIF_Conditions(conds);
            q.SIF_ConditionGroup = scg;

            Query query = new Query(q);

            Assert.IsTrue(query.HasConditions);
            ConditionGroup[] conditions = query.Conditions;
            Assert.AreEqual(1, conditions.Length, "One Condition Group");
            Assert.AreEqual(GroupOperator.None, conditions[0].Operator, "None");
            Condition condition = conditions[0].Conditions[0];

            Assert.AreEqual("2001", condition.Value, "RequestingAgencyId");
            Assert.AreEqual(ComparisonOperators.EQ, condition.Operators, "RequestingAgencyId");
            Assert.AreEqual(ReportingDTD.STUDENTLOCATOR_REQUESTINGAGENCYID, condition.Field, "RequestingAgencyId");
        }
Exemplo n.º 2
0
        public void CustomSIFElementEncoding()
        {
            SIF_Query q = new SIF_Query();

            q.SIF_QueryObject = new SIF_QueryObject(StudentDTD.STUDENTPERSONAL.Name);
            SIF_Conditions conditions = new SIF_Conditions(ConditionType.NONE);

            conditions.AddSIF_Condition("Name[@Type=\"05\"]/LastName", Operators.EQ, "Cookie");
            q.SetSIF_ConditionGroup(ConditionType.NONE, conditions);

            string xml;

            using (StringWriter w = new StringWriter())
            {
                SifWriter writer = new SifWriter(w);
                writer.Write(q);
                writer.Flush();
                writer.Close();
                xml = w.ToString();
            }

            Console.WriteLine(xml);
            // Mainly, just check to make sure that the single quotes didn't get encoded
            int index = xml.IndexOf(""");

            Assert.AreEqual(-1, index, "Single quotes should not be encoded");
        }
Exemplo n.º 3
0
        public void SDOParse()
        {
            ReportManifest rm = new ReportManifest();

            rm.RefId = "C234516384746B387459000F84723A00";
            rm.ReportAuthorityInfoRefId = "84756373645746363738484848484832";
            SIF_Version version = new SIF_Version();

            version.SifVersion = SifVersion.LATEST;
            rm.SIF_Version     = version.ToString();

            rm.SetReceivingAuthority("84756373645746363738484848484812", "");
            rm.ReportName  = "December 1 IDEA Students";
            rm.Description = "A report of all IDEA-eligible students receiving services on December 1";

            ReportingPeriod period = new ReportingPeriod();

            period.BeginReportDate = new DateTime?(new DateTime(2003, 12, 01));
            period.EndReportDate   = new DateTime?(new DateTime(2003, 12, 01));
            period.BeginSubmitDate = new DateTime?(new DateTime(2003, 12, 01));
            period.EndSubmitDate   = new DateTime?(new DateTime(2003, 12, 01));
            period.DueDate         = new DateTime?(new DateTime(2003, 12, 01));
            rm.ReportingPeriod     = period;

            rm.SetReportDefinitionSource(ReportDefinitionSourceType.URL, "http://www.state.edu/IDEAEligible.html");
            SIF_QueryGroup group = new SIF_QueryGroup();

            rm.SIF_QueryGroup = group;

            SIF_Query query = new SIF_Query();

            query.SetSIF_QueryObject("StudentPersonal");
            group.Add(query);

            query = new SIF_Query();
            group.Add(query);
            query.SetSIF_QueryObject("StudentSchoolEnrollment");

            SIF_ConditionGroup condGroup = new SIF_ConditionGroup();
            SIF_Conditions     conds     = new SIF_Conditions();

            conds.AddSIF_Condition("EntryDate", Operators.EQ, "20031201");
            condGroup.AddChild(conds);
            query.SIF_ConditionGroup = condGroup;

            // NOTE: This will currently fail every time, due to a bug in
            // CompareGraphTo
            AdkObjectParseHelper.runParsingTest(rm, SifVersion.LATEST);
        }
Exemplo n.º 4
0
        private static SIF_Conditions createConditions(Query query, ConditionGroup group, SifVersion effectiveVersion)
        {
            ConditionType typ = ConditionType.NONE;

            if (group.Operator == GroupOperator.And)
            {
                typ = ConditionType.AND;
            }
            else if (group.Operator == GroupOperator.Or)
            {
                typ = ConditionType.OR;
            }
            Condition[]    conditions = group.Conditions;
            SIF_Conditions conds      = new SIF_Conditions(conditions.Length > 1 ? typ : ConditionType.NONE);

            foreach (Condition c in conditions)
            {
                conds.AddSIF_Condition(
                    c.GetXPath(query, effectiveVersion),
                    Operators.Wrap(c.Operators.ToString()),
                    c.Value);
            }
            return(conds);
        }