public void TryParseCachesSingleStat()
        {
            var sut = new CachingStringParser <string>(_inner);

            sut.Parse(TrueStat);
            sut.Parse(TrueStat);

            _innerMock.VerifyParse(TrueStat, Times.Once);
        }
        public string TryParsePassesResult(string stat)
        {
            var sut = new CachingStringParser <string>(_inner);

            var(_, _, actual) = sut.Parse(stat);

            return(actual);
        }
        public bool TryParsePassesSuccessfullyParsed(string stat)
        {
            var sut = new CachingStringParser <string>(_inner);

            var(actual, _, _) = sut.Parse(stat);

            return(actual);
        }
        public void TryParsesCachesMultipleStats()
        {
            var sut = new CachingStringParser <string>(_inner);

            sut.Parse(TrueStat);
            sut.Parse(FalseStat);
            sut.Parse(FalseStat);
            sut.Parse("whatever");
            sut.Parse(TrueStat);
            sut.Parse(TrueStat);
            sut.Parse("whatever");

            _innerMock.VerifyParse(TrueStat, Times.Once);
            _innerMock.VerifyParse(FalseStat, Times.Once);
            _innerMock.VerifyParse("whatever", Times.Once);
        }