isopesku05 написав:using System;
 
namespace Program1
{
    class Program
    {
        static void Main(string[] args)
        {
            int v = 654;
            int x = (int)Math.Log10(v) + 1;
            int result = 0;
            for (int i = 0; i < x; i++)
            {
                result = result * 10 + (v % 10);
                v /= 10;
            }
            Console.WriteLine("Результат");
            Console.WriteLine(result);
            Console.ReadKey();
        }
    }
}
Цей код перевертає трьохзначні числа.
 Це не так. Функція Main в цьому коді повертає нічого (void).
Краще користувати int
static int Main(string[] args) {
    // code ..
    return 0; // if ok
}
це дозволить повертати код помилки у випадках коли це необхідно.
isopesku05 написав:Потрібен код для теста цієї програми в VS 2022.
 Не викликайте System.Console.ReadKey();. Це створює проблему для автоматизації тестуваня.
System.InvalidOperationException: Cannot read keys when either application does not have a console or when console input has been redirected from a file.
Як варіант, можна зробити щось таке:
using List = System.Collections.Generic.List<string>;
using static System.Console;
using static System.ConsoleColor;
namespace Test1 {
    class Program {
        static int Main(string[] args) {
            List skip = new List() {
                "Результат"
            };
            string s = ReadLine();
            while(skip.Contains(s)) {
                ForegroundColor = Yellow;
                Write("Skipped: ");
                ResetColor();
                WriteLine("\"{0}\".", s
                    .Replace("\\", "\\\\")
                    .Replace("\"", "\\\"")
                );
                s = ReadLine();
            }
            if(s.Length != 3) {
                ForegroundColor = Red;
                Write("Test failed: ");
                ResetColor();
                WriteLine("String length is greater than 3. Length: {0}.", s.Length);
                return 1;
            }
            foreach(char ch in s.Trim("+-. \t\r\n".ToCharArray())) {
                if(!char.IsDigit(ch)) {
                    ForegroundColor = Red;
                    Write("Test failed: ");
                    ResetColor();
                    WriteLine("Invalid symbol: '{0}'.", ch);
                    return 2;
                }
            }
            ForegroundColor = Green;
            Write("Test passed: ");
            ResetColor();
            WriteLine("\"{0}\" is valid value.", s);
            return 0;
        }
    }
}
і викликати програму так (bash):
./Program1.exe | ./Test1.exe
або так (dos):
.\Program1.exe | .\Test1.exe
На виході буде щось таке:
Skipped: "Результат".
Test passed: "456" is valid value.
isopesku05 написав:Моя спроба написати тест.
using Microsoft.VisualStudio.TestTools.UnitTesting;
    [TestClass]
        [TestMethod]
 Це юніт тести (1 із).