public void ThrowsWithGlobalErrorhandling(TranslationThrowSource.ErrorData data)
            {
                if (!Translator.ContainsCulture(data.Culture))
                {
                    Assert.Pass("nop");
                }

                Translator.CurrentCulture = data.Culture;
                Translator.ErrorHandling = data.ErrorHandling;
                var actual = Assert.Throws<ArgumentOutOfRangeException>(() => Translator.Translate(Properties.Resources.ResourceManager, data.Key));
                Assert.AreEqual(data.ExpectedMessage, actual.Message);

                actual = Assert.Throws<ArgumentOutOfRangeException>(() => Translator.Translate(Properties.Resources.ResourceManager, data.Key, ErrorHandling.Inherit));
                Assert.AreEqual(data.ExpectedMessage, actual.Message);
            }
            public void ThrowsWithExplicitErrorhandlingAndCulture(TranslationThrowSource.ErrorData data)
            {
                Translator.CurrentCulture = null;
                Translator.ErrorHandling = ErrorHandling.ReturnErrorInfo;
                var actual = Assert.Throws<ArgumentOutOfRangeException>(() => Translator.Translate(Properties.Resources.ResourceManager, data.Key, data.Culture, data.ErrorHandling));
#if DEBUG
                Console.Write(actual.Message);
#endif
                Assert.AreEqual(data.ExpectedMessage, actual.Message);
            }
        public void ThrowsWithExplicitErrorhandling(TranslationThrowSource.ErrorData data)
        {
            if (!Translator.ContainsCulture(data.Culture))
            {
                Assert.Pass("nop");
            }

            Translator.CurrentCulture = data.Culture;
            Translator.ErrorHandling = ErrorHandling.ReturnErrorInfo;
            var actual = Assert.Throws<ArgumentOutOfRangeException>(() => Translator<Properties.Resources>.Translate(data.Key, data.ErrorHandling));
            Assert.AreEqual(data.ExpectedMessage, actual.Message);
        }