public void StreamProcessor_CountGarbageCharacters_EmptyGarbage()
        {
            // act
            var result = StreamProcessor.CountGarbageCharacters("<>");

            // assert
            Assert.AreEqual(0, result);
        }
        public void StreamProcessor_CountGarbageCharacters_ComplexTags()
        {
            // act
            var result = StreamProcessor.CountGarbageCharacters("<{o\"i!a,<{i<a>");

            // assert
            Assert.AreEqual(10, result);
        }
        public void StreamProcessor_CountGarbageCharacters_TripleEscape()
        {
            // act
            var result = StreamProcessor.CountGarbageCharacters("<!!!>>");

            // assert
            Assert.AreEqual(0, result);
        }
        public void StreamProcessor_CountGarbageCharacters_EscapedGroup()
        {
            // act
            var result = StreamProcessor.CountGarbageCharacters("<{!>}>");

            // assert
            Assert.AreEqual(2, result);
        }
        public void StreamProcessor_CountGarbageCharacters_GarbageTagsInsideGarbage()
        {
            // act
            var result = StreamProcessor.CountGarbageCharacters("<<<<>");

            // assert
            Assert.AreEqual(3, result);
        }
        public void StreamProcessor_CountGarbageCharacters_RandomCharacters()
        {
            // act
            var result = StreamProcessor.CountGarbageCharacters("<random characters>");

            // assert
            Assert.AreEqual(17, result);
        }