public void Test_verify_input_null()
        {
            var checkSum = new CheckSum(new[] { 'A' }, 3);
            var appender = new CheckSumAppender("-", checkSum);

            TestHelper.AssertException <ArgumentNullException>(() => appender.Verify(null));
        }
        private static void AssertCheckSum(string separator, string input)
        {
            var checkSum = new CheckSum(new[] { 'A' }, 3);
            var appender = new CheckSumAppender(separator, checkSum);
            var expected = input + separator + "AAA";

            Assert.AreEqual(expected, appender.Append(input));
            Assert.IsTrue(appender.Verify(expected));
        }
        public void Test_verify_input_length_less_than_checksum()
        {
            var checkSum = new CheckSum(new[] { 'A' }, 3);
            var appender = new CheckSumAppender("-", checkSum);

            Assert.IsFalse(appender.Verify(""));
            Assert.IsFalse(appender.Verify("A"));
            Assert.IsFalse(appender.Verify("AA"));
            Assert.IsFalse(appender.Verify("AAA"));
        }
        public void Test_verify_is_false()
        {
            var checkSum = new CheckSum(10);
            var appender = new CheckSumAppender("-", checkSum);
            var input    = appender.Append("ABCDEFGHIJKLMNOPQRSTUVW");

            Assert.IsTrue(appender.Verify(input));
            Assert.IsFalse(appender.Verify("A" + input));
            Assert.IsFalse(appender.Verify(input + "A"));

            Assert.IsFalse(appender.Verify("B" + new String(input.Skip(1).ToArray())));
        }