public void SHOULD_return_provided_main_letter_as_main_letter()
            {
                var mainLetter = Letters.X;
                var addition   = Letters.I;

                var sut = new Lib.AdditionChunk(mainLetter, addition, 1);

                Assert.That(sut.MainLetter, Is.EqualTo(mainLetter));
            }
            public void SHOULD_add_addition_as_many_times_as_provided_repetition()
            {
                var mainLetter = Letters.X;
                var addition   = Letters.I;

                var sut = new Lib.AdditionChunk(mainLetter, addition, 2);

                Assert.That(sut.Value, Is.EqualTo(12));
            }
            public void SHOULD_return_value_added_from_main_letter_and_subtrahend()
            {
                var mainLetter = Letters.X;
                var addition   = Letters.I;

                var sut = new Lib.AdditionChunk(mainLetter, addition, 1);

                Assert.That(sut.Value, Is.EqualTo(11));
            }
            public void SHOULD_throw_exception_if_addition_is_not_valid_neighbour()
            {
                var mainLetter = Letters.M;
                var addition   = Letters.I;

                Assert.Throws <ArgumentException>(() =>
                {
                    var sut = new Lib.AdditionChunk(mainLetter, addition, 1);
                });
            }
            public void SHOULD_throw_ArgumentOutOfRange_exception_if_repetitions_count_less_1_or_greater_2(int repetitionsCount)
            {
                var mainLetter = Letters.X;
                var addition   = Letters.I;

                Assert.Throws <ArgumentOutOfRangeException>(() =>
                {
                    var sut = new Lib.AdditionChunk(mainLetter, addition, repetitionsCount);
                });
            }