Пример #1
0
        public RequireServerFactAttribute(string versionText = null,
                                          VersionComparison versionCompare = VersionComparison.EqualTo)
        {
            var skipText = new StringBuilder();

            if (!BoltkitHelper.IsBoltkitAvailable())
            {
                skipText.AppendLine(BoltkitHelper.TestRequireBoltkit);
            }

            if (!string.IsNullOrWhiteSpace(versionText))
            {
                var version          = ServerVersion.From(versionText);
                var availableVersion = ServerVersion.From(BoltkitHelper.ServerVersion());

                var satisfy = false;
                switch (versionCompare)
                {
                case VersionComparison.LessThan:
                    satisfy = availableVersion.CompareTo(version) < 0;
                    break;

                case VersionComparison.LessThanOrEqualTo:
                    satisfy = availableVersion.CompareTo(version) <= 0;
                    break;

                case VersionComparison.EqualTo:
                    satisfy = availableVersion.CompareTo(version) == 0;
                    break;

                case VersionComparison.GreaterThanOrEqualTo:
                    satisfy = availableVersion.CompareTo(version) >= 0;
                    break;

                case VersionComparison.GreaterThan:
                    satisfy = availableVersion.CompareTo(version) > 0;
                    break;

                default:
                    throw new ArgumentOutOfRangeException(nameof(versionCompare));
                }

                if (!satisfy)
                {
                    skipText.AppendLine(
                        $"Test requires available server version {availableVersion} to be {versionCompare.ToString()} {version}.");
                }
            }

            Skip = skipText.ToString();
        }
Пример #2
0
        public static bool RequiredServerAvailable(string versionText, VersionComparison versionCompare, StringBuilder skipText)
        {
            var satisfy = true;

            if (!string.IsNullOrWhiteSpace(versionText))
            {
                var version          = ServerVersion.From(versionText);
                var availableVersion = ServerVersion.From(BoltkitHelper.ServerVersion());


                switch (versionCompare)
                {
                case VersionComparison.LessThan:
                    satisfy = availableVersion.CompareTo(version) < 0;
                    break;

                case VersionComparison.LessThanOrEqualTo:
                    satisfy = availableVersion.CompareTo(version) <= 0;
                    break;

                case VersionComparison.EqualTo:
                    satisfy = availableVersion.CompareTo(version) == 0;
                    break;

                case VersionComparison.GreaterThanOrEqualTo:
                    satisfy = availableVersion.CompareTo(version) >= 0;
                    break;

                case VersionComparison.GreaterThan:
                    satisfy = availableVersion.CompareTo(version) > 0;
                    break;

                default:
                    throw new ArgumentOutOfRangeException(nameof(versionCompare));
                }

                if (!satisfy)
                {
                    skipText.AppendLine(
                        $"Test requires available server version {availableVersion} to be {versionCompare.ToString()} {version}.");
                }
            }

            return(satisfy);
        }