public void Add2()
        {
            var block = new Block();

            block.AddCode('a', false);
            block.AddCode('0', true);
        }
        public void Add3Cutoff()
        {
            var block = new Block();

            block.AddCode('a', false);
            block.AddCode('0', false);
            block.AddCode('a', false);

            Assert.IsTrue(block.Finished);
            Assert.IsTrue(block.IsCutoff);
            Assert.AreEqual(3, block.CodeLength);
            Assert.AreEqual(1, block.DataLength);
        }
        public void Add8()
        {
            var block = new Block();

            for (int i = 0; i < 7; i++)
            {
                block.AddCode('a', false);
            }

            block.AddCode('a', false);

            Assert.IsTrue(block.Finished);
            Assert.AreEqual(5, block.DataLength);
        }
        public void Add1GetDataLength()
        {
            var block = new Block();

            block.AddCode('a', false);
            _ = block.DataLength;
        }
        public void AddX()
        {
            var block = new Block();

            var nonBase32 = new List <char>(); // all the invalid characters

            for (int x = char.MinValue; x <= char.MaxValue; x++)
            {
                var c = (char)x;

                if (Common.IsEncodeCharacter(c)) // valid Base-32 characters
                {
                    continue;
                }

                nonBase32.Add(c);
            }

            foreach (var c in nonBase32)
            {
                try {
                    block.AddCode(c, false);
                    Assert.Fail("A non-Base-32 character was added to block");
                }
                catch (InvalidOperationException) {
                }
            }

            Assert.AreEqual(0, block.DataLength);
            Assert.AreEqual(0, block.CodeLength);
        }
        public void Add9()
        {
            var block = new Block();

            for (int i = 0; i < 9; i++)
            {
                block.AddCode('a', false);
            }
        }
        public void Add7()
        {
            var block = new Block();

            for (int i = 0; i < 7; i++)
            {
                block.AddCode('a', false);
                Assert.IsFalse(block.Finished);
            }
        }
        public void Add1()
        {
            var block = new Block();

            block.AddCode('a', true);
        }