/// <summary> /// Submits the user input. /// </summary> /// <remarks>Documented by Dev02, 2008-04-23</remarks> void SubmitUserInput() { if (learnlogic != null) { UserInputSubmitTextEventArgs args = new UserInputSubmitTextEventArgs( mLifterTextBox.Errors, mLifterTextBox.CorrectSynonyms, mLifterTextBox.Synonyms.Count, mLifterTextBox.CorrectFirstSynonym, mLifterTextBox.Text); UserInputSubmit(this, args); } }
public void GetBoxContentTest() { if (TestInfrastructure.IsActive(TestContext)) { ConnectionStringStruct connectionString = TestInfrastructure.GetConnectionStringWithDummyData(TestContext); LearnLogic learnLogic = new LearnLogic(OpenUserProfileTests.GetUserAdmin, (DataAccessErrorDelegate) delegate { return; }); //learnLogic.User.Authenticate((GetLoginInformation)MLifterTest.DAL.TestInfrastructure.GetTestUser, // connectionString, (DataAccessErrorDelegate)delegate { return; }); try { learnLogic.OpenLearningModule(new LearningModulesIndexEntry(connectionString)); } catch (IsOdxFormatException) { if (TestInfrastructure.ConnectionType(TestContext) == "File") { return; } else { throw; } } learnLogic.OnLearningModuleOptionsChanged(); learnLogic.ResetLearningProgress(); Card currentCard = learnLogic.Dictionary.Cards.GetCardByID(learnLogic.CurrentCardID); //Answer Card correct UserInputSubmitEventArgs e = new UserInputSubmitTextEventArgs(0, currentCard.CurrentAnswer.Words.Count, currentCard.CurrentAnswer.Words.Count, true, currentCard.CurrentAnswer.Words.ToString()); learnLogic.OnUserInputSubmit(this, e); learnLogic.OnUserInputSubmit(this, new UserInputSubmitEventArgs()); Assert.AreEqual <int>(1, learnLogic.Dictionary.Statistics.GetBoxContent(2, DateTime.Now.AddDays(1)), "GetBoxContent() did not return the correct number of cards"); for (int i = 1; i < 10; i++) { if (i == 2) { continue; } else { Assert.AreEqual <int>(0, learnLogic.Dictionary.Statistics.GetBoxContent(i, DateTime.Now.AddDays(1)), "GetBoxContent() says the Box " + i + " is NOT 0 (although it should)"); } } } }
public void GradeCardTest() { if (TestInfrastructure.IsActive(TestContext)) { ConnectionStringStruct connectionString = TestInfrastructure.GetConnectionStringWithDummyData(TestContext); LearnLogic llogic = new LearnLogic(OpenUserProfileTests.GetUserAdmin, (DataAccessErrorDelegate) delegate { return; }); //llogic.User.Authenticate((GetLoginInformation)MLifterTest.DAL.TestInfrastructure.GetTestUser, // connectionString, (DataAccessErrorDelegate)delegate { return; }); try { llogic.OpenLearningModule(new LearningModulesIndexEntry(connectionString)); } catch (IsOdxFormatException) { if (TestInfrastructure.ConnectionType(TestContext) == "File") { return; } else { throw; } } llogic.OnLearningModuleOptionsChanged(); Card card = llogic.Dictionary.Cards.GetCardByID(llogic.CurrentCardID); int oldBox = card.BaseCard.Box = 5; UserInputSubmitEventArgs e = new UserInputSubmitTextEventArgs(0, card.CurrentAnswer.Words.Count, card.CurrentAnswer.Words.Count, true, card.CurrentAnswer.Words.ToString()); llogic.OnUserInputSubmit(this, e); Assert.AreEqual <int>(oldBox + 1, card.BaseCard.Box, "Card was not correctly promoted!"); card.BaseCard.Box = oldBox; e = new UserInputSubmitTextEventArgs(5, 0, 5, false, string.Empty); llogic.OnUserInputSubmit(this, e); Assert.AreEqual <int>(1, card.BaseCard.Box, "Card was not demoted!"); } }
public void GetCurrentStatsTest() { if (TestInfrastructure.IsActive(TestContext)) { ConnectionStringStruct connectionString = TestInfrastructure.GetConnectionStringWithDummyData(TestContext); LearnLogic learnLogic = new LearnLogic(OpenUserProfileTests.GetUserAdmin, (DataAccessErrorDelegate) delegate { return; }); try { learnLogic.OpenLearningModule(new LearningModulesIndexEntry(connectionString)); } catch (IsOdxFormatException) { if (TestInfrastructure.ConnectionType(TestContext) == "File") { return; } else { throw; } } learnLogic.OnLearningModuleOptionsChanged(); learnLogic.Dictionary.ResetLearningProgress(); //Answer Card correct Card currentCard = learnLogic.Dictionary.Cards.GetCardByID(learnLogic.CurrentCardID); UserInputSubmitEventArgs e = new UserInputSubmitTextEventArgs(0, currentCard.CurrentAnswer.Words.Count, currentCard.CurrentAnswer.Words.Count, true, currentCard.CurrentAnswer.Words.ToString()); learnLogic.OnUserInputSubmit(this, e); learnLogic.OnUserInputSubmit(this, new UserInputSubmitEventArgs()); //Answer Card wrong currentCard = learnLogic.Dictionary.Cards.GetCardByID(learnLogic.CurrentCardID); e = new UserInputSubmitTextEventArgs(0, 0, currentCard.CurrentAnswer.Words.Count, false, string.Empty); learnLogic.OnUserInputSubmit(this, e); learnLogic.OnUserInputSubmit(this, new UserInputSubmitEventArgs()); LearnStats stats = learnLogic.Dictionary.Statistics.GetCurrentStats(); Assert.AreEqual <int>(1, stats.NumberOfRights, "GetCurrentStats() did not return the correct LearnStats.NumberOfRights"); Assert.AreEqual <int>(1, stats.NumberOfWrongs, "GetCurrentStats() did not return the correct LearnStats.NumberOfWrongs"); } }
/// <summary> /// Generates the test data. /// </summary> /// <param name="learningModules">The learning modules.</param> /// <param name="sessions">The sessions.</param> /// <param name="cardsPerSession">The cards per session.</param> /// <remarks>Documented by Dev03, 2008-11-18</remarks> internal void Generate(List <int> learningModules, int sessions, int cardsPerSession) { UserInputSubmitEventArgs e; TestStatusEventArgs args = new TestStatusEventArgs(sessions * cardsPerSession); ConnectionStringStruct css = m_learnLogic.CurrentLearningModule.ConnectionString; foreach (int id in learningModules) { m_connectionString.LmId = id; for (int i = 0; i < sessions; i++) { css.LmId = id; m_learnLogic.OpenLearningModule(new LearningModulesIndexEntry(css)); m_learnLogic.User.Dictionary.Settings.SelfAssessment = false; for (int k = (i * cardsPerSession); k < (i * cardsPerSession) + cardsPerSession; k++) { m_learnLogic.OnLearningModuleOptionsChanged(); Card card = m_learnLogic.Dictionary.Cards.GetCardByID(m_learnLogic.CurrentCardID); if (GetRandomBool()) { e = new UserInputSubmitTextEventArgs(0, card.CurrentAnswer.Words.Count, card.CurrentAnswer.Words.Count, true, card.CurrentAnswer.Words.ToString()); } else { e = new UserInputSubmitTextEventArgs(5, 0, 5, false, string.Empty); } m_learnLogic.OnUserInputSubmit(this, e); if ((k % 10) == 0) { args.Progress = (k + 1) * (i + 1); UpdateStatusMessage(args); } } m_learnLogic.CloseLearningModule(); } } }