public void SetNarratorOption_CallbackPublishesValues() { // Setup var testProject = TestProject.CreateTestProject(TestProject.TestBook.GAL, TestProject.TestBook.IIIJN); var model = CreateModelWithInitialCustomValues(testProject, 1, 1); var dlg = new MockCastSizePlanningDialog(model); // Test - Part 1 model.NarratorOption = NarratorsOption.NarrationByAuthor; // Verify results Assert.AreEqual(2, dlg.MaleNarratorsValue); Assert.AreEqual(0, dlg.FemaleNarratorsValue); VerifyThatModelAndDlgAreInSync(model, dlg); // Test - Part 2 model.NarratorOption = NarratorsOption.SingleNarrator; // Verify results Assert.AreEqual(1, dlg.MaleNarratorsValue); Assert.AreEqual(0, dlg.FemaleNarratorsValue); VerifyThatModelAndDlgAreInSync(model, dlg); // Test - Part 3 model.NarratorOption = NarratorsOption.Custom; // Verify results Assert.AreEqual(2, dlg.MaleNarratorsValue); Assert.AreEqual(1, dlg.FemaleNarratorsValue); VerifyThatModelAndDlgAreInSync(model, dlg); }
public void SetNarratorOption_NarrationByAuthorForTwoBooksWrittenBySameAuthor_DefaultsToOneNarrator() { // Setup var testProject = TestProject.CreateTestProject(TestProject.TestBook.REV, TestProject.TestBook.IIIJN); var model = CreateModelWithInitialCustomValues(testProject, 2, 0); var dlg = new MockCastSizePlanningDialog(model); // Test model.NarratorOption = NarratorsOption.NarrationByAuthor; // Verify results Assert.AreEqual(1, dlg.MaleNarratorsValue); Assert.That(dlg.FemaleNarratorsValueChangedEventNeverFired); }
public void SetNarratorOption_NarrationByAuthorForThreeBooksWrittenByNonSpeakingAuthors_DefaultsToOneNarrator() { // Setup var testProject = TestProject.CreateTestProject(TestProject.TestBook.RUT, TestProject.TestBook.ACT, TestProject.TestBook.HEB); var model = CreateModelWithInitialCustomValues(testProject, 2, 1); var dlg = new MockCastSizePlanningDialog(model); // Test model.NarratorOption = NarratorsOption.NarrationByAuthor; // Verify results Assert.AreEqual(1, dlg.MaleNarratorsValue); Assert.AreEqual(0, dlg.FemaleNarratorsValue); VerifyThatModelAndDlgAreInSync(model, dlg); }
private void VerifyThatModelAndDlgAreInSync(CastSizePlanningViewModel model, MockCastSizePlanningDialog dlg) { Assert.AreEqual(model.MaleNarrators, dlg.MaleNarratorsValue); Assert.AreEqual(model.FemaleNarrators, dlg.FemaleNarratorsValue); }