public void TryLoadRegex_ResultValueHasIntersectionIsFalse_WhenPatternDoesNotContainIntersectionToken(string pattern)
        {
            var factory = new RegularExpressionFactory(RegexAlphabetFactory.Default(), Substitute.For <IRandomGenerator>(), 1);

            var result = factory.TryGetRegularExpression(pattern, out _);

            Assert.IsFalse(result.Value.HasIntersection);
        }
        public void TryLoadRegex_ReturnedExpressionYieldsExpectedMinExpansionLength_WhenCalledForPattern(string pattern, int expectedMinExpansionLength)
        {
            var factory = new RegularExpressionFactory(RegexAlphabetFactory.Default(), Substitute.For <IRandomGenerator>(), 1);

            factory.TryGetRegularExpression(pattern, out var union);
            var result = union.MaxExpansionRange.Start;

            Assert.AreEqual(expectedMinExpansionLength, result);
        }