public void EvaluateComposition(
            int cantusFirmusNote,
            int secondCantusFirmusNote,
            int thirdCantusFirmusNote,
            int expectedEvaluation
            )
        {
            var composition = _factory.CreateComposition();

            composition.AddNotes(cantusFirmusNote, 0, composition.GetCurrentCompositionContext(), new NoteChoice());
            composition.AddNotes(secondCantusFirmusNote, 0, composition.GetCurrentCompositionContext(),
                                 new NoteChoice());
            composition.AddNotes(thirdCantusFirmusNote, 0, composition.GetCurrentCompositionContext(),
                                 new NoteChoice());

            var evaluation = _ruleEvaluator.EvaluateComposition(composition);

            Assert.AreEqual(expectedEvaluation, evaluation);

            var detrimentalNotePairCount = composition.GetNotePairs().Count(notePair => notePair.IsDetrimental);

            Assert.AreEqual(expectedEvaluation, detrimentalNotePairCount);
        }