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 із).