public void ConvertNumber(int number, string expectedValue)
        {
            // Arrange
            var localization = new EnLoсalizationNumbers();

            // Act
            var result = NumberConverter.ConvertToString(number, localization);

            // Assert
            Assert.Equal(expectedValue, result);
        }
        public void ConvertNumber_Positive_Tests(int number, string expectedValue)
        {
            // Arrange
            var localization = new RuLocalizationNumbers();

            // Act
            var actualValue = NumberConverter.ConvertToString(number, localization);

            // Assert
            Assert.Equal(expectedValue, actualValue);
        }
        public static void Main(string[] args)
        {
            var logPath = "application.log";

            var logger = new AggregatedLogger(
                new FileLogger(logPath),
                new ConsoleLogger()
                );

            try
            {
                if (!Validator.IsParametersValid(args))
                {
                    logger.LogInformation("Input data must be in format <LocalizationType> <number>");

                    return;
                }

                var languageNumbersDescriptors = new ILanguageNumbersDescriptor[]
                {
                    new EnLoсalizationNumbers(),
                    new RuLocalizationNumbers(),
                    new UaLocalizationNumbers()
                };

                var inputDataParser = new InputDataParser(languageNumbersDescriptors, logger);
                var inputData       = inputDataParser.GetInputData(args);

                var localization = languageNumbersDescriptors.First(l => l.Name == inputData.LocalizationName);

                var result = NumberConverter.ConvertToString(inputData.Number, localization);

                logger.LogInformation($"Result: {result}");
            }
            catch (Exception ex)
            {
                logger.LogInformation(ex.Message);
            }
        }