public void TestGetAboutThisItemViewModelGoodItem() { var rubricEntry = new RubricEntry { Scorepoint = "0", Name = "TestName", Value = "TestValue" }; var sampleResponces = new List <SampleResponse>() { new SampleResponse() { Purpose = "TestPurpose", ScorePoint = "0", Name = "TestName", SampleContent = "TestSampleContent" }, new SampleResponse() { Purpose = "TestPurpose1", ScorePoint = "1", Name = "TestName1", SampleContent = "TestSampleContent1" } }; var rubricSample = new RubricSample { MaxValue = "MaxVal", MinValue = "MinVal", SampleResponses = sampleResponces }; var entries = ImmutableArray.Create(rubricEntry); var samples = ImmutableArray.Create(rubricSample); var rubric = new Rubric("ENU", entries, samples); var rubrics = ImmutableArray.Create(rubric); SampleItem item = SampleItem.Create( bankKey: GoodBankKey, itemKey: 209, isPerformanceItem: true, associatedStimulus: 1, fieldTestUse: fieldTestUseVar, rubrics: rubrics, depthOfKnowledge: "TestDepth"); var aboutThisItemViewModel = ItemViewRepo.GetAboutThisItemViewModel(item); Assert.NotNull(aboutThisItemViewModel); Assert.Equal(aboutThisItemViewModel.Rubrics.Length, 1); Assert.Equal(aboutThisItemViewModel.Rubrics[0], rubric); Assert.Equal(aboutThisItemViewModel.DepthOfKnowledge, "TestDepth"); }
public void TestMoreNAGrade() { var itemDigest = SampleItem.Create(claim: Claim1, subject: Ela); var more = ItemViewRepo.GetMoreLikeThis(itemDigest); Assert.Equal(3, more.GradeAboveItems.ItemCards.Count()); Assert.Equal(3, more.GradeBelowItems.ItemCards.Count()); Assert.Equal(3, more.SameGradeItems.ItemCards.Count()); foreach (var card in more.GradeAboveItems.ItemCards) { Assert.Equal(GradeLevels.NA, card.Grade); } foreach (var card in more.SameGradeItems.ItemCards) { Assert.Equal(GradeLevels.NA, card.Grade); } foreach (var card in more.GradeBelowItems.ItemCards) { Assert.Equal(GradeLevels.NA, card.Grade); } }
public void TestMoreLikeThisHappyCase() { var itemDigest = SampleItem.Create(subject: Math, claim: Claim1, grade: GradeLevels.Grade6); var more = ItemViewRepo.GetMoreLikeThis(itemDigest); Assert.Equal(3, more.GradeAboveItems.ItemCards.Count()); Assert.Equal(3, more.GradeBelowItems.ItemCards.Count()); Assert.Equal(3, more.SameGradeItems.ItemCards.Count()); foreach (var card in more.GradeAboveItems.ItemCards) { Assert.Equal(GradeLevels.Grade7, card.Grade); } foreach (var card in more.SameGradeItems.ItemCards) { Assert.Equal(GradeLevels.Grade6, card.Grade); } foreach (var card in more.GradeBelowItems.ItemCards) { Assert.Equal(GradeLevels.Grade5, card.Grade); } }
public void TestMoreUnknownSubject() { var itemDigest = SampleItem.Create(claim: Claim1, subject: NotASubject, grade: GradeLevels.Grade4); var more = ItemViewRepo.GetMoreLikeThis(itemDigest); Assert.Equal(3, more.GradeAboveItems.ItemCards.Count()); Assert.Equal(3, more.GradeBelowItems.ItemCards.Count()); Assert.Equal(3, more.SameGradeItems.ItemCards.Count()); var countAbove = more.GradeAboveItems.ItemCards.Count(c => c.ClaimCode == Claim1.Code); var expectedAbove = Context.ItemCards.Count(c => c.ClaimCode == Claim1.Code && c.Grade == GradeLevels.Grade5); Assert.Equal(System.Math.Min(expectedAbove, 3), countAbove); var countBelow = more.GradeBelowItems.ItemCards.Count(c => c.ClaimCode == Claim1.Code); var expectedBelow = Context.ItemCards.Count(c => c.ClaimCode == Claim1.Code && c.Grade == GradeLevels.Grade3); Assert.Equal(System.Math.Min(expectedBelow, 3), countBelow); var countSame = more.SameGradeItems.ItemCards.Count(c => c.ClaimCode == Claim1.Code); var expectedSame = Context.ItemCards.Count(c => c.ClaimCode == Claim1.Code && c.Grade == GradeLevels.Grade4); Assert.Equal(System.Math.Min(expectedSame, 3), countSame); }
public ItemViewRepoTests() { GoodBankKey = 1; BadBankKey = 3; BadItemKey = 9; GoodItemKey = 4; DuplicateBankKey = 5; DuplicateItemKey = 6; MathCard = ItemCardViewModel.Create(bankKey: GoodBankKey, itemKey: GoodItemKey); ElaCard = ItemCardViewModel.Create(bankKey: BadBankKey, itemKey: BadItemKey); DuplicateCard = ItemCardViewModel.Create(bankKey: DuplicateBankKey, itemKey: DuplicateItemKey); MathDigest = SampleItem.Create(bankKey: GoodBankKey, itemKey: GoodItemKey); ElaDigest = SampleItem.Create(bankKey: BadBankKey, itemKey: BadItemKey); fieldTestUseVar = new FieldTestUse(); fieldTestUseVar.Code = "ELA"; fieldTestUseVar.QuestionNumber = 1; DuplicateDigest = SampleItem.Create(bankKey: GoodBankKey, itemKey: DuplicateItemKey); var duplicateDigest2 = SampleItem.Create(bankKey: GoodBankKey, itemKey: DuplicateItemKey); PerformanceDigest = SampleItem.Create(bankKey: GoodBankKey, itemKey: 209, isPerformanceItem: true, associatedStimulus: 1, fieldTestUse: fieldTestUseVar); PerformanceDigestDuplicate = SampleItem.Create(bankKey: DuplicateBankKey, itemKey: 210, isPerformanceItem: true, associatedStimulus: 1, fieldTestUse: fieldTestUseVar); BrailleItem = SampleItem.Create(bankKey: GoodBankKey, itemKey: 211, isPerformanceItem: true, associatedStimulus: 1, fieldTestUse: fieldTestUseVar, brailleOnlyItem: false, brailleItemCodes: ImmutableArray.Create("123"), braillePassageCodes: ImmutableArray.Create("123")); BrailleItemDuplicate = SampleItem.Create(bankKey: DuplicateBankKey, itemKey: 212, isPerformanceItem: true, associatedStimulus: 1, fieldTestUse: fieldTestUseVar, brailleOnlyItem: false, brailleItemCodes: ImmutableArray.Create("123"), braillePassageCodes: ImmutableArray.Create("123")); BrailleItemReplace = SampleItem.Create(bankKey: DuplicateBankKey, itemKey: 213, isPerformanceItem: true, associatedStimulus: 2, fieldTestUse: fieldTestUseVar, brailleOnlyItem: true, brailleItemCodes: ImmutableArray.Create("123"), braillePassageCodes: ImmutableArray.Create("123"), copiedFromItem: 211); SampleItems = ImmutableArray.Create(MathDigest, ElaDigest, DuplicateDigest, DuplicateDigest, DuplicateDigest, PerformanceDigest, PerformanceDigestDuplicate, BrailleItem, BrailleItemDuplicate, BrailleItemReplace); var itemCards = ImmutableArray.Create(MathCard, ElaCard, DuplicateCard, DuplicateCard, DuplicateCard); Math = new Subject("Math", "", "", new ImmutableArray <Claim>() { }, new ImmutableArray <string>() { }); Ela = new Subject("ELA", "", "", new ImmutableArray <Claim>() { }, new ImmutableArray <string>() { }); NotASubject = new Subject("NotASubject", "", "", new ImmutableArray <Claim>() { }, new ImmutableArray <string>() { }); Claim1 = new Claim("1", "", ""); Claim2 = new Claim("2", "", ""); //generated item cards for more like this tests itemCards = itemCards.AddRange(MoreItemCards()); var settings = new AppSettings() { SettingsConfig = new SettingsConfig() { NumMoreLikeThisItems = 3 } }; Context = SampleItemsContext.Create(sampleItems: SampleItems, itemCards: itemCards, appSettings: settings); var loggerFactory = new Mock <ILoggerFactory>(); var logger = new Mock <ILogger>(); loggerFactory.Setup(lf => lf.CreateLogger(It.IsAny <string>())).Returns(logger.Object); ItemViewRepo = new ItemViewRepo(Context, loggerFactory.Object); }
public ItemControllerTests() { bankKey = 234343; itemKey = 485954; SampleItem digest = SampleItem.Create ( bankKey: bankKey, itemKey: itemKey, grade: GradeLevels.NA ); ItemCardViewModel card = digest.ToItemCardViewModel(); var aboutThisItemVM = new AboutThisItemViewModel( rubrics: ImmutableArray.Create <Rubric>(), itemCard: card, depthOfKnowledge: "", targetDescription: "", commonCoreStandardsDescription: ""); SampleItem digestCookie = SampleItem.Create ( bankKey: bankKey, itemKey: 0, grade: GradeLevels.NA ); ItemCardViewModel cardCookie = digest.ToItemCardViewModel(); var aboutItemCookie = new AboutThisItemViewModel( rubrics: ImmutableArray.Create <Rubric>(), itemCard: cardCookie, depthOfKnowledge: "", targetDescription: "", commonCoreStandardsDescription: ""); iSAAP = "TDS_test;TDS_test2;"; string accCookieName = "accessibilitycookie"; var accessibilityResourceGroups = new List <AccessibilityResourceGroup>(); var appSettings = new AppSettings() { SettingsConfig = new SettingsConfig() { AccessibilityCookie = accCookieName } }; itemViewModel = new ItemViewModel( itemViewerServiceUrl: $"http://itemviewerservice.cass.oregonstate.edu/item/{bankKey}-{itemKey}", accessibilityCookieName: accCookieName, isPerformanceItem: false, accResourceGroups: default(ImmutableArray <AccessibilityResourceGroup>), subject: "MATH", moreLikeThisVM: default(MoreLikeThisViewModel), brailleItemCodes: new ImmutableArray <string>(), braillePassageCodes: new ImmutableArray <string>(), brailleItem: null, nonBrailleItem: null); itemViewModelCookie = new ItemViewModel( itemViewerServiceUrl: string.Empty, accessibilityCookieName: string.Empty, isPerformanceItem: false, subject: "MATH", accResourceGroups: accessibilityResourceGroups.ToImmutableArray(), moreLikeThisVM: default(MoreLikeThisViewModel), brailleItemCodes: new ImmutableArray <string>(), braillePassageCodes: new ImmutableArray <string>(), brailleItem: null, nonBrailleItem: null); var itemViewRepoMock = new Mock <IItemViewRepo>(); itemViewRepoMock .Setup(repo => repo.GetItemViewModel(bankKey, itemKey, It.Is <string[]>(strings => strings.Length == 0), It.IsAny <Dictionary <string, string> >())) .Returns(itemViewModel); itemViewRepoMock .Setup(repo => repo.GetItemViewModel( bankKey, itemKey, It.Is <string[]>(ss => Enumerable.SequenceEqual(ss, iSAAP.Split(';'))), It.IsAny <Dictionary <string, string> >())) .Returns(itemViewModel); var loggerFactory = new Mock <ILoggerFactory>(); var logger = new Mock <ILogger>(); loggerFactory.Setup(lf => lf.CreateLogger(It.IsAny <string>())).Returns(logger.Object); controller = new ItemController(itemViewRepoMock.Object, appSettings, loggerFactory.Object); }