public void Test1_2_Should_Be_Empty_After_Pop()
 {
     var bookSet = new BookSet(1, 2);
     var result = bookSet.PopCart(5);
     result = bookSet.PopCart(5);
     Assert.That(result, Is.EquivalentTo(new int[] {}));
 }
Example #2
0
 public void Cost_2Books(int book1, int book2)
 {
     var set = new BookSet();
     set.Add(book1);
     set.Add(book2);
     Assert.AreEqual(8 * 2 * 0.95, set.Cost());
 }
Example #3
0
        internal QuotationMarksDlg(Project project, BlockNavigatorViewModel navigatorViewModel, bool readOnly)
        {
            InitializeComponent();

            m_project = project;
            m_project.AnalysisCompleted -= HandleAnalysisCompleted;
            m_project.AnalysisCompleted += HandleAnalysisCompleted;
            m_navigatorViewModel         = navigatorViewModel;

            if (Settings.Default.QuoteMarksDialogShowGridView)
            {
                m_toolStripButtonGridView.Checked = true;
            }

            var books = new BookSet();

            foreach (var bookId in m_navigatorViewModel.IncludedBooks)
            {
                books.Add(bookId);
            }
            m_scriptureReference.VerseControl.BooksPresentSet = books;
            m_scriptureReference.VerseControl.ShowEmptyBooks  = false;

            m_scriptureReference.VerseControl.AllowVerseSegments = false;
            m_scriptureReference.VerseControl.Versification      = m_navigatorViewModel.Versification;
            m_scriptureReference.VerseControl.VerseRefChanged   += m_scriptureReference_VerseRefChanged;

            m_blocksViewer.Initialize(m_navigatorViewModel);
            m_navigatorViewModel.CurrentBlockChanged += HandleCurrentBlockChanged;

            SetupQuoteMarksComboBoxes(m_project.QuoteSystem);

            m_scriptureReference.VerseControl.GetLocalizedBookName = L10N.GetLocalizedBookNameFunc(m_scriptureReference.VerseControl.GetLocalizedBookName);
            HandleStringsLocalized();
            LocalizeItemDlg.StringsLocalized += HandleStringsLocalized;

            m_blocksViewer.VisibleChanged += (sender, args) => this.SafeInvoke(() =>
            {
                if (m_blocksViewer.Visible)
                {
                    LoadBlock();
                }
            }, GetType().FullName + " - anonymous delegate m_blocksViewer.VisibleChanged", ControlExtensions.ErrorHandlingAction.IgnoreIfDisposed);

            SetFilterControlsFromMode();

            if (m_project.ProjectState == ProjectState.NeedsQuoteSystemConfirmation)
            {
                UpdateTestParse(false);
            }
            else
            {
                ShowTestResults(PercentageOfExpectedQuotesFound(m_project.Books), false);
            }

            if (readOnly)
            {
                MakeReadOnly();
            }
        }
Example #4
0
        public static string CustomSummary(this BookSet bookSet)
        {
            var components = new List <string>();

            if (bookSet.Count == OldTestament.Count + NewTestament.Count)
            {
                return(LocalizationManager.GetString("BookSelection.AllBooks", "All Books"));
            }
            BookSet includedOtBooks = bookSet.Intersect(OldTestament);

            if (includedOtBooks.Count == OldTestament.Count)
            {
                components.Add(OldTestamentLocalizedString);
            }
            else
            {
                components.AddRange(PartialTestamentBookSummary(includedOtBooks, OldTestament));
            }

            BookSet includedNtBooks = bookSet.Intersect(NewTestament);

            if (includedNtBooks.Count == NewTestament.Count)
            {
                components.Add(NewTestamentLocalizedString);
            }
            else
            {
                components.AddRange(PartialTestamentBookSummary(includedNtBooks, NewTestament));
            }
            return(string.Join(", ", components));
        }
Example #5
0
 public void Cost_3Books(int book1, int book2, int book3)
 {
     var set = new BookSet();
     set.Add(book1);
     set.Add(book2);
     set.Add(book3);
     Assert.AreEqual(8 * 3 * 0.90, set.Cost());
 }
        public AssignCharacterDlg(AssignCharacterViewModel viewModel)
        {
            InitializeComponent();

            m_viewModel = viewModel;

            if (Settings.Default.AssignCharacterDialogFormSettings == null)
            {
                Settings.Default.AssignCharacterDialogFormSettings = FormSettings.Create(this);
            }

            m_txtCharacterFilter.CorrectHeight();
            m_txtDeliveryFilter.CorrectHeight();
            if (Settings.Default.AssignCharactersShowGridView)
            {
                m_toolStripButtonGridView.Checked = true;
            }

            var books = new BookSet();

            foreach (var bookId in m_viewModel.IncludedBooks)
            {
                books.Add(bookId);
            }
            m_scriptureReference.VerseControl.BooksPresentSet = books;
            m_scriptureReference.VerseControl.ShowEmptyBooks  = false;

            m_scriptureReference.VerseControl.AllowVerseSegments = false;
            m_scriptureReference.VerseControl.Versification      = m_viewModel.Versification;
            m_scriptureReference.VerseControl.VerseRefChanged   += m_scriptureReference_VerseRefChanged;
            m_scriptureReference.VerseControl.Disposed          += (sender, args) =>
                                                                   m_scriptureReference.VerseControl.VerseRefChanged -= m_scriptureReference_VerseRefChanged;

            m_blocksViewer.Initialize(m_viewModel,
                                      AssignCharacterViewModel.Character.GetCharacterIdForUi,
                                      block => block.Delivery);
            m_viewModel.CurrentBlockChanged += LoadBlock;

            UpdateProgressBarForMode();

            HandleStringsLocalized();
            LocalizeItemDlg.StringsLocalized += HandleStringsLocalized;

            m_listBoxCharacters.DisplayMember = "LocalizedDisplay";
            m_originalDefaultFontForLists     = m_listBoxCharacters.Font;
            SetFontsFromViewModel();

            m_viewModel.AssignedBlocksIncremented += m_viewModel_AssignedBlocksIncremented;
            m_viewModel.UiFontSizeChanged         += (sender, args) => SetFontsFromViewModel();

            m_blocksViewer.VisibleChanged += LoadBlock;
            m_blocksViewer.Disposed       += (sender, args) => m_blocksViewer.VisibleChanged -= LoadBlock;

            SetFilterControlsFromMode();

            m_viewModel.CurrentBookSaved += UpdateSavedText;
        }
Example #7
0
 public void Cost_4Books(int book1, int book2, int book3, int book4)
 {
     var set = new BookSet();
     set.Add(book1);
     set.Add(book2);
     set.Add(book3);
     set.Add(book4);
     Assert.AreEqual(8 * 4 * 0.80, set.Cost());
 }
 public void Test1_2_3()
 {
     var bookSet = new BookSet(1, 2, 3);
     Assert.That(bookSet.CountFor(1), Is.EqualTo(1));
     Assert.That(bookSet.CountFor(2), Is.EqualTo(1));
     Assert.That(bookSet.CountFor(3), Is.EqualTo(1));
     Assert.That(bookSet.CountFor(4), Is.EqualTo(0));
     Assert.That(bookSet.CountFor(5), Is.EqualTo(0));
 }
        public void NewTestament()
        {
            BookSet newTestament           = BookSetUtils.NewTestament;
            IEnumerable <string> ntBookIds = newTestament.SelectedBookIds;

            Assert.AreEqual(27, ntBookIds.Count());
            Assert.IsTrue(ntBookIds.Contains("MAT"));
            Assert.IsTrue(ntBookIds.Contains("TIT"));
            Assert.IsTrue(ntBookIds.Contains("REV"));
        }
Example #10
0
        public static BookSet ToBookSet(this IEnumerable <Book> books)
        {
            var bookSet = new BookSet();

            foreach (Book book in books)
            {
                bookSet.Add(book.Code);
            }
            return(bookSet);
        }
Example #11
0
 public void Cost_4Books()
 {
     var set = new BookSet();
     set.Add(1);
     set.Add(2);
     set.Add(3);
     set.Add(4);
     set.Add(5);
     Assert.AreEqual(8 * 5 * 0.75, set.Cost());
 }
        public void OldTestament()
        {
            BookSet oldTestament           = BookSetUtils.OldTestament;
            IEnumerable <string> otBookIds = oldTestament.SelectedBookIds;

            Assert.AreEqual(39, otBookIds.Count());
            Assert.IsTrue(otBookIds.Contains("GEN"));
            Assert.IsTrue(otBookIds.Contains("PSA"));
            Assert.IsTrue(otBookIds.Contains("MAL"));
        }
Example #13
0
        public static BookSet ToBookSet(this IEnumerable <BookScript> books)
        {
            var bookSet = new BookSet();

            foreach (BookScript book in books)
            {
                bookSet.Add(book.BookId);
            }
            return(bookSet);
        }
Example #14
0
        public static string BookSummary(this IEnumerable <BookScript> books)
        {
            var bookSet = new BookSet();

            foreach (BookScript book in books)
            {
                bookSet.Add(book.BookId);
            }
            return(bookSet.CustomSummary());
        }
Example #15
0
        private static IEnumerable <string> PartialTestamentBookSummary(BookSet bookSet, BookSet setToCompare)
        {
            if (bookSet.Count == 0)
            {
                return(Enumerable.Empty <string>());
            }

            var    result   = new List <string>();
            string start    = null;
            string previous = null;

            foreach (int bookNum in setToCompare.SelectedBookNumbers)
            {
                if (bookSet.IsSelected(bookNum))
                {
                    string bookCode = BCVRef.NumberToBookCode(bookNum);
                    if (start == null)
                    {
                        start = bookCode;
                    }
                    previous = bookCode;
                }
                else
                {
                    if (start != null)
                    {
                        if (start == previous)
                        {
                            result.Add(start);
                        }
                        else
                        {
                            result.Add(start + "-" + previous);
                        }
                        start    = null;
                        previous = null;
                    }
                }
            }
            if (previous != null)
            {
                if (start == previous)
                {
                    result.Add(start);
                }
                else
                {
                    result.Add(start + "-" + previous);
                }
            }
            return(result);
        }
        public void ToBookSet_FromBooks()
        {
            var books = new List <string> {
                "MRK", "LUK", "1TH"
            };
            IEnumerable <Book>   bookScripts = books.ToBookEnumerable();
            BookSet              bookSet     = bookScripts.ToBookSet();
            IEnumerable <string> bookIds     = bookSet.SelectedBookIds;

            Assert.AreEqual(3, bookIds.Count());
            Assert.IsTrue(bookIds.Contains("MRK"));
            Assert.IsTrue(bookIds.Contains("LUK"));
            Assert.IsTrue(bookIds.Contains("1TH"));
        }
Example #17
0
        internal QuotationMarksDlg(Project project, BlockNavigatorViewModel navigatorViewModel, bool readOnly)
        {
            InitializeComponent();

            m_project = project;
            m_project.AnalysisCompleted -= HandleAnalysisCompleted;
            m_project.AnalysisCompleted += HandleAnalysisCompleted;
            m_navigatorViewModel         = navigatorViewModel;

            if (Settings.Default.QuoteMarksDialogShowGridView)
            {
                m_toolStripButtonGridView.Checked = true;
            }

            var books = new BookSet();

            foreach (var bookId in m_navigatorViewModel.IncludedBooks)
            {
                books.Add(bookId);
            }
            m_scriptureReference.VerseControl.BooksPresentSet = books;
            m_scriptureReference.VerseControl.ShowEmptyBooks  = false;

            m_scriptureReference.VerseControl.AllowVerseSegments = false;
            m_scriptureReference.VerseControl.Versification      = m_navigatorViewModel.Versification;
            m_scriptureReference.VerseControl.VerseRefChanged   += m_scriptureReference_VerseRefChanged;

            m_blocksViewer.Initialize(m_navigatorViewModel);
            m_navigatorViewModel.CurrentBlockChanged += HandleCurrentBlockChanged;

            SetupQuoteMarksComboBoxes(m_project.QuoteSystem);

            HandleStringsLocalized();
            LocalizeItemDlg.StringsLocalized += HandleStringsLocalized;

            m_blocksViewer.VisibleChanged += (sender, args) => this.SafeInvoke(() =>
            {
                if (m_blocksViewer.Visible)
                {
                    LoadBlock();
                }
            }, true);

            SetFilterControlsFromMode();

            if (readOnly)
            {
                MakeReadOnly();
            }
        }
Example #18
0
        public void AddBook(Book book)
        {
            var availableBookSets = bookSets.Where(x => !x.Contains(book));

            if (availableBookSets != null && availableBookSets.Count() != 0)
            {
                ChooseOptimalBookSet(availableBookSets, book).AddBook(book);
            }
            else
            {
                var newBookSet = new BookSet();
                newBookSet.AddBook(book);
                bookSets.Add(newBookSet);
            }
        }
Example #19
0
        private BookSet ChooseOptimalBookSet(IEnumerable <BookSet> availableBookSets, Book book)
        {
            BookSet optimalBookSet = null;
            double  totalPrice     = double.MaxValue;

            foreach (var bookSet in availableBookSets)
            {
                bookSet.AddBook(book);
                if (TotalPrice < totalPrice)
                {
                    totalPrice     = TotalPrice;
                    optimalBookSet = bookSet;
                }
                bookSet.RemoveBook(book);
            }

            return(optimalBookSet);
        }
Example #20
0
 public PT8BookSetWrapper(BookSet getValue)
 {
     ptBookSet = getValue;
 }
 public void Test1_2()
 {
     var bookSet = new BookSet(1, 2);
     var result = bookSet.PopCart(5);
     Assert.That(result, Is.EquivalentTo(new[] { 1, 2 }));
 }
Example #22
0
        internal QuotationMarksDlg(Project project, BlockNavigatorViewModel navigatorViewModel, bool readOnly, ProjectSettingsDlg parentDlg)
        {
            InitializeComponent();
            Cursor.Current = Cursors.WaitCursor;
            m_project      = project;
            m_project.AnalysisCompleted -= HandleAnalysisCompleted;
            m_project.AnalysisCompleted += HandleAnalysisCompleted;
            m_navigatorViewModel         = navigatorViewModel;
            m_parentDlg = parentDlg;

            if (Settings.Default.QuoteMarksDialogShowGridView)
            {
                m_toolStripButtonGridView.Checked = true;
            }

            if (m_navigatorViewModel == null)
            {
                PreventNavigation();
            }
            else
            {
                var books = new BookSet();
                foreach (var bookId in m_navigatorViewModel.IncludedBooks)
                {
                    books.Add(bookId);
                }
                m_scriptureReference.VerseControl.BooksPresentSet = books;
                m_scriptureReference.VerseControl.ShowEmptyBooks  = false;

                m_scriptureReference.VerseControl.AllowVerseSegments = false;
                m_scriptureReference.VerseControl.Versification      = m_navigatorViewModel.Versification;
                m_scriptureReference.VerseControl.VerseRefChanged   += m_scriptureReference_VerseRefChanged;

                m_blocksViewer.Initialize(m_navigatorViewModel);
                m_navigatorViewModel.CurrentBlockChanged += HandleCurrentBlockChanged;
                m_scriptureReference.VerseControl.GetLocalizedBookName = L10N.GetLocalizedBookNameFunc(m_scriptureReference.VerseControl.GetLocalizedBookName);

                m_blocksViewer.VisibleChanged += (sender, args) => this.SafeInvoke(() =>
                {
                    if (m_blocksViewer.Visible)
                    {
                        LoadBlock();
                    }
                }, GetType().FullName + " - anonymous delegate m_blocksViewer.VisibleChanged", ControlExtensions.ErrorHandlingAction.IgnoreIfDisposed);
            }

            SetupQuoteMarksComboBoxes(m_project.QuoteSystem);

            if (m_project.IsLiveParatextProject && readOnly)
            {
                var wrapper = m_project.GetLiveParatextDataIfCompatible(false, checkForChangesInAvailableBooks: false);
                m_linkOverride.Visible = m_allowOverride = wrapper == null || !wrapper.UserCanEditProject;
            }

            try
            {
                HandleStringsLocalized();
                LocalizeItemDlg <TMXDocument> .StringsLocalized += HandleStringsLocalized;

                SetFilterControlsFromMode();

                if (m_project.ProjectState == ProjectState.NeedsQuoteSystemConfirmation)
                {
                    UpdateTestParse(false);
                }

                ReadOnly = readOnly;
            }
            finally
            {
                Cursor.Current = Cursors.Default;
            }
        }
Example #23
0
 public void Add_DuplicateBook_Throws()
 {
     var set = new BookSet();
     set.Add(1);
     Assert.Throws<InvalidOperationException>(() => set.Add(1));
 }
Example #24
0
 public void CanAdd_BookNotInSet_ReturnTrue()
 {
     var set = new BookSet();
     Assert.IsTrue(set.CanAdd(1));
 }
Example #25
0
 public void CanAdd_DuplicateBook_ReturnFalse()
 {
     var set = new BookSet();
     set.Add(1);
     Assert.IsFalse(set.CanAdd(1));
 }
Example #26
0
 public void Cost_1Book(int book)
 {
     var set = new BookSet();
     set.Add(book);
     Assert.AreEqual(8, set.Cost());
 }
Example #27
0
 public void Cost_Empty()
 {
     var set = new BookSet();
     Assert.AreEqual(0, set.Cost());
 }