public void TestGroupItemResources()
        {
            var accessibilityResources = ImmutableArray.Create(Resources[0], Resources[1]);
            var resourceGroup          = SampleItemTranslation.GroupItemResources(accessibilityType, accessibilityResources);

            Assert.NotNull(resourceGroup);
            Assert.Equal(accessibilityType.Label, resourceGroup.Label);
            Assert.Equal(accessibilityType.Id, resourceGroup.AccessibilityResources[0].ResourceTypeId);
            Assert.Equal(accessibilityType.Order, resourceGroup.Order);
            Assert.Equal(accessibilityResources[0].Description, resourceGroup.AccessibilityResources[0].Description);
            Assert.Equal(accessibilityResources[0].CurrentSelectionCode, resourceGroup.AccessibilityResources[0].CurrentSelectionCode);
            Assert.Equal(accessibilityResources[0].Disabled, resourceGroup.AccessibilityResources[0].Disabled);
            Assert.Equal(accessibilityResources[0].DefaultSelection, resourceGroup.AccessibilityResources[0].DefaultSelection);
            Assert.Equal(accessibilityResources[0].ResourceCode, resourceGroup.AccessibilityResources[0].ResourceCode);
        }
Пример #2
0
        public static SampleItemsContext LoadContext(AppSettings appSettings, ILogger logger)
        {
            CoreStandardsXml standardsXml     = LoadCoreStandards(appSettings.SettingsConfig.CoreStandardsXMLPath);
            var accessibilityResourceFamilies = LoadAccessibility(appSettings.SettingsConfig.AccommodationsXMLPath);
            var interactionGroup = LoadInteractionGroup(appSettings.SettingsConfig.InteractionTypesXMLPath);
            ImmutableArray <Subject> subjects = LoadSubjects(appSettings.SettingsConfig.ClaimsXMLPath, interactionGroup.InteractionFamilies);

            var itemDigests = LoadItemDigests(appSettings).Result;

            var itemPatchPath   = appSettings.SettingsConfig.PatchXMLPath;
            var itemPatchRoot   = XmlSerialization.DeserializeXml <ItemPatchRoot>(filePath: itemPatchPath);
            var brailleFileInfo = BrailleManifestReader.GetBrailleFileInfo(appSettings).Result;

            var sampleItems = SampleItemTranslation.ToSampleItems(
                digests: itemDigests,
                settings: appSettings,
                resourceFamilies: accessibilityResourceFamilies,
                interactionTypes: interactionGroup.InteractionTypes,
                subjects: subjects,
                patches: itemPatchRoot.Patches,
                standardsXml: standardsXml,
                brailleFileInfo: brailleFileInfo);

            var itemCards = sampleItems
                            .Select(i => i.ToItemCardViewModel())
                            .ToImmutableArray();

            var aboutInteractionTypes = LoadAboutInteractionTypes(interactionGroup);

            SampleItemsContext context = new SampleItemsContext(
                sampleItems: sampleItems,
                itemCards: itemCards,
                interactionTypes: interactionGroup.InteractionTypes,
                subjects: subjects,
                appSettings: appSettings,
                aboutInteractionTypes: aboutInteractionTypes);

            logger.LogInformation($"Loaded {sampleItems.Length} sample items");
            logger.LogInformation($"Context loaded successfully");

            return(context);
        }
        public void TestGetRubrics()
        {
            appSettings.SettingsConfig.LanguageToLabel.Add("ENU", "English");
            digest.Contents = new List <Content>()
            {
                new Content()
                {
                    Language   = "ENU",
                    RubricList = rubricList
                }
            };
            var rubrics = SampleItemTranslation.GetRubrics(digest, appSettings);

            Assert.NotNull(rubrics);
            Assert.Equal(rubrics[0].Language, "English");
            Assert.Equal(rubrics[0].RubricEntries.Length, 2);
            Assert.Equal(rubrics[0].Samples.Length, 1);
            Assert.Equal(rubrics[0].RubricEntries[0], rubricEntries[0]);
            Assert.Equal(rubrics[0].RubricEntries[1], rubricEntries[1]);
            Assert.Equal(rubrics[0].Samples[0], rubricSamples[0]);
            Assert.Equal(rubrics[0].Samples[0].SampleResponses, rubricSamples[0].SampleResponses);
        }
        public void TestToSampleItems()
        {
            var digests = ImmutableArray.Create(digest);
            ImmutableArray <AccessibilityFamilyResource> noPartialResources = ImmutableArray.Create <AccessibilityFamilyResource>();
            var subjectMath = ImmutableArray.Create("MATH");
            AccessibilityFamily noPartialResourcesFamily = new AccessibilityFamily(
                subjects: subjectMath,
                grades: GradeLevels.Grade5,
                resources: noPartialResources);

            MergedAccessibilityFamily resourceFamily = AccessibilityResourceTranslation.MergeGlobalResources(noPartialResourcesFamily, Resources);
            var resourceFamilies = ImmutableArray.Create(resourceFamily);

            Claim1 = new Claim("claim1", "1", "ELA Claim 1");
            Claim2 = new Claim("claim2", "2", "3");
            ItMath = new InteractionType("2", "EQ", "", 2);
            ItEla  = new InteractionType("1", "WER", "", 1);
            Math   = Subject.Create("MATH", "Mathematics", "Math", ImmutableArray.Create(Claim2), ImmutableArray.Create(ItMath.Code));
            Ela    = Subject.Create("ELA", "English", "ELA", ImmutableArray.Create(Claim1), ImmutableArray.Create(ItEla.Code));
            var interactionTypes = ImmutableArray.Create(ItEla, ItMath);
            var subjects         = ImmutableArray.Create(Ela, Math);

            StandardIdentifier identifier = StandardIdentifierTranslation.StandardStringToStandardIdentifier("SBAC-ELA-v1:3-L|4-6|6.SL.2");
            var coreStandardsRowCcss      = ImmutableArray.Create(
                CoreStandardsRow.Create(
                    subjectCode: "ELA",
                    key: "3-l|4-6|6.SL.2",
                    name: "",
                    description: "CCSS Desc",
                    levelType: "CCSS",
                    identifier: identifier));

            var coreStandardsRowTarget = ImmutableArray.Create(
                CoreStandardsRow.Create(
                    subjectCode: "ELA",
                    key: "4-6|3-6",
                    name: "",
                    description: "Target Desc",
                    levelType: "Target",
                    identifier: identifier));

            CoreStandardsXml coreStandardsXml = new CoreStandardsXml(coreStandardsRowTarget, coreStandardsRowCcss);
            var itemPatch       = ImmutableArray.Create(new ItemPatch());
            var brailleFileInfo = new List <BrailleFileInfo>();
            var items           = SampleItemTranslation.ToSampleItems(digests, resourceFamilies, interactionTypes, subjects, coreStandardsXml, itemPatch, brailleFileInfo, appSettings);

            Assert.NotNull(items);
            Assert.Equal(items[0].AccessibilityResourceGroups[0].AccessibilityResources[0].Label, Resources[0].Label);
            Assert.Equal(items[0].AccessibilityResourceGroups[0].AccessibilityResources[0].Order, Resources[0].Order);
            Assert.Equal(items[0].AccessibilityResourceGroups[0].AccessibilityResources[0].ResourceCode, Resources[0].ResourceCode);
            Assert.Equal(items[0].AccessibilityResourceGroups[0].AccessibilityResources[0].ResourceTypeId, Resources[0].ResourceTypeId);
            Assert.Equal(items[0].SufficentEvidenceOfClaim, metadata.Metadata.SufficientEvidenceOfClaim);
            Assert.Equal(items[0].TargetAssessmentType, metadata.Metadata.TargetAssessmentType);
            Assert.Equal(items[0].Grade, GradeLevelsUtils.FromString(digest.GradeCode));
            Assert.Equal(items[0].ItemKey, digest.ItemKey);
            Assert.Equal(items[0].BankKey, digest.BankKey);
            Assert.Equal(items[0].CoreStandards.CommonCoreStandardsDescription, coreStandardsRowCcss[0].Description);
            Assert.Equal(items[0].CoreStandards.TargetDescription, coreStandardsRowTarget[0].Description);
            Assert.Equal(items[0].InteractionType.Code, ItMath.Code);
            Assert.Equal(items[0].InteractionType.Label, ItMath.Label);
            Assert.Equal(items[0].Subject.Code, digest.SubjectCode);
        }