Esempio n. 1
0
        void ParseValueFailure(string paramName, bool launchRequest,
                               Dictionary <string, Tuple <string, ConfigStatus.ErrorLevel> >
                               invalidValues)
        {
            foreach (KeyValuePair <string, Tuple <string, ConfigStatus.ErrorLevel> > valuePair in
                     invalidValues)
            {
                string paramValue  = valuePair.Key;
                string messagePart = valuePair.Value.Item1;
                ConfigStatus.ErrorLevel expectedErrorLevel = valuePair.Value.Item2;
                var queryParams = new Dictionary <string, string>
                {
                    { paramName, paramValue }
                };
                LaunchGameRequest request    = ShallowCopy(ValidRequest);
                LaunchParams      parameters = ShallowCopy(ValidParams);
                ConfigStatus      status     = launchRequest
                    ? _target.ParseToLaunchRequest(queryParams, request)
                    : _target.ParseToParameters(queryParams, parameters);
                // Verify that corresponding message is populated.
                Assert.That(status.SeverityLevel, Is.EqualTo(expectedErrorLevel));
                Assert.That(status.MessagesByErrorLevel(expectedErrorLevel).Count, Is.EqualTo(1));
                Assert.That(status.AllMessages.Count, Is.EqualTo(1));
                Assert.That(status.AllMessages[0].Contains(messagePart));

                object obj  = launchRequest ? (object)request : parameters;
                Type   type = launchRequest
                    ? typeof(LaunchGameRequest)
                    : typeof(LaunchParams);
                object originObject = launchRequest ? (object)ValidRequest : ValidParams;
                // Assert that all properties are unchanged.
                AssertObjectPropertiesEqual(type, obj, originObject);
            }
        }
Esempio n. 2
0
        public void AppendErrorTest(ConfigStatus.ErrorLevel initialLevel)
        {
            var    newLevel       = ConfigStatus.ErrorLevel.Error;
            string initialMessage = "Message init";
            string errorMessage   = "Error message";

            ConfigStatus status = StatusBySeverityLevel(initialLevel, initialMessage);

            status.AppendError(errorMessage);
            Assert.That(status.SeverityLevel, Is.EqualTo(newLevel));
            Assert.That(status.IsOk, Is.EqualTo(false));
            Assert.That(status.IsWarningLevel, Is.EqualTo(false));
            Assert.That(status.IsErrorLevel, Is.EqualTo(true));
            string[] errorMessages = GetMessagesForLevel(ConfigStatus.ErrorLevel.Error,
                                                         new[] { initialLevel, ConfigStatus.ErrorLevel.Error },
                                                         new[] { initialMessage, errorMessage });
            string[] warningMessages = GetMessagesForLevel(ConfigStatus.ErrorLevel.Warning,
                                                           new[] { initialLevel, ConfigStatus.ErrorLevel.Error },
                                                           new[] { initialMessage, errorMessage });
            Assert.That(status.AllMessages,
                        Is.EquivalentTo(errorMessages.Concat(warningMessages)));
            Assert.That(status.ErrorMessages, Is.EquivalentTo(errorMessages));
            Assert.That(status.MessagesByErrorLevel(ConfigStatus.ErrorLevel.Error),
                        Is.EquivalentTo(errorMessages));
            Assert.That(status.WarningMessages, Is.EquivalentTo(warningMessages));
            Assert.That(status.MessagesByErrorLevel(ConfigStatus.ErrorLevel.Warning),
                        Is.EquivalentTo(warningMessages));
            Assert.That(status.MessagesByErrorLevel(ConfigStatus.ErrorLevel.Ok), Is.Null);
        }
Esempio n. 3
0
        public void AppendWarningTest(ConfigStatus.ErrorLevel initialLevel)
        {
            int initialLevelNum = Array.IndexOf(_sortedLevels, initialLevel);
            int warningNum      = Array.IndexOf(_sortedLevels, ConfigStatus.ErrorLevel.Warning);
            int newLevelNum     = Math.Max(initialLevelNum, warningNum);

            ConfigStatus.ErrorLevel newLevel = _sortedLevels[newLevelNum];
            string initialMessage            = "Message init";
            string warningMessage            = "Warning message";

            ConfigStatus status = StatusBySeverityLevel(initialLevel, initialMessage);

            status.AppendWarning(warningMessage);
            Assert.That(status.SeverityLevel, Is.EqualTo(newLevel));
            Assert.That(status.IsOk, Is.EqualTo(false));
            Assert.That(status.IsWarningLevel,
                        Is.EqualTo(newLevel == ConfigStatus.ErrorLevel.Warning));
            Assert.That(status.IsErrorLevel, Is.EqualTo(newLevel == ConfigStatus.ErrorLevel.Error));
            string[] errorMessages = GetMessagesForLevel(ConfigStatus.ErrorLevel.Error,
                                                         new[] { initialLevel, ConfigStatus.ErrorLevel.Warning },
                                                         new[] { initialMessage, warningMessage });
            string[] warningMessages = GetMessagesForLevel(ConfigStatus.ErrorLevel.Warning,
                                                           new[] { initialLevel, ConfigStatus.ErrorLevel.Warning },
                                                           new[] { initialMessage, warningMessage });
            Assert.That(status.AllMessages,
                        Is.EquivalentTo(errorMessages.Concat(warningMessages)));
            Assert.That(status.ErrorMessages, Is.EquivalentTo(errorMessages));
            Assert.That(status.MessagesByErrorLevel(ConfigStatus.ErrorLevel.Error),
                        Is.EquivalentTo(errorMessages));
            Assert.That(status.WarningMessages, Is.EquivalentTo(warningMessages));
            Assert.That(status.MessagesByErrorLevel(ConfigStatus.ErrorLevel.Warning),
                        Is.EquivalentTo(warningMessages));
            Assert.That(status.MessagesByErrorLevel(ConfigStatus.ErrorLevel.Ok), Is.Null);
        }
Esempio n. 4
0
        ConfigStatus StatusBySeverityLevel(ConfigStatus.ErrorLevel level, string message)
        {
            switch (level)
            {
            case ConfigStatus.ErrorLevel.Ok:
                return(ConfigStatus.OkStatus());

            case ConfigStatus.ErrorLevel.Warning:
                return(ConfigStatus.WarningStatus(message));

            case ConfigStatus.ErrorLevel.Error:
                return(ConfigStatus.ErrorStatus(message));

            default:
                throw new ArgumentOutOfRangeException(nameof(level), level,
                                                      "Unsupported error level value received.");
            }
        }
Esempio n. 5
0
        string[] GetMessagesForLevel(ConfigStatus.ErrorLevel level,
                                     ConfigStatus.ErrorLevel[] levels, string[] messages)
        {
            if (level == ConfigStatus.ErrorLevel.Ok)
            {
                return(new string[0]);
            }
            var res = new List <string>();

            for (var i = 0; i < levels.Length; ++i)
            {
                if (levels[i] == level)
                {
                    res.Add(messages[i]);
                }
            }

            return(res.ToArray());
        }
Esempio n. 6
0
 bool IsError(ConfigStatus.ErrorLevel level) => level == ConfigStatus.ErrorLevel.Error;
Esempio n. 7
0
 bool IsWarning(ConfigStatus.ErrorLevel level) => level == ConfigStatus.ErrorLevel.Warning;
Esempio n. 8
0
 bool IsOk(ConfigStatus.ErrorLevel level) => level == ConfigStatus.ErrorLevel.Ok;