Rodzajowy próbki do badań
Próbka "EvenOdd" jest projekt, który można tworzyć w prosty program.Następnie można zawijać ten program jako test rodzajowy.Pliki tej próbki przewidziane następujące Instruktaż: Instruktaż: Tworzenie i uruchamianie testu rodzajowy.
Wymagania
- Visual Studio Ultimate, Visual Studio Premium
Przykładowy kod
Ten przykładowy kod jest dostępny tutaj:
using System;
using System.Globalization;
using System.IO;
namespace EvenOdd
{
class TestSecondsOrNumbersOrFiles
{
/* Purpose: Wrap this sample app to create a generic test that passes or fails.
When you run the EvenOdd app, it exhibits the following Pass/Fail behavior:
* Pass zero arguments: EvenOdd randomly returns 1 (Fail) or 0 (Pass).
* Pass one (integer) argument: EvenOdd returns 1 if the argument is odd, 0 if even.
* Pass two arguments: EvenOdd ignores the first argument and uses only the second one, a string.
If the file named by that string has been deployed, EvenOdd returns 0 (Pass); otherwise 1 (Fail).
*/
[STAThread]
public static int Main(string[] args)
{
// If no argument was supplied, test whether the value of Second is even.
if (args.Length == 0)
return TestNumber(DateTime.Now.Second);
// If only a single numeric (integer) argument was supplied,
// test whether the argument is even.
if (args.Length == 1)
{
try
{
int num = Int32.Parse(args[0], CultureInfo.InvariantCulture);
return TestNumber(num);
}
// catch non-integer argument for args[0]
catch (FormatException)
{
Console.WriteLine("Please type an integer.");
return 1;
}
// catch too-large integer argument for args[0]
catch (OverflowException)
{
Console.WriteLine("Type an integer whose value is between {0} and {1}.", int.MinValue, int.MaxValue);
return 1;
}
}
// If two arguments are supplied, the test passes if the second
// argument is the name of a file that has been deployed.
if (args.Length == 2)
{
if (File.Exists(args[1]))
return 0;
}
// Test fails for all other cases
return 1;
}
public static int TestNumber(int arg)
{
return arg % 2;
}
}
}
Praca z kodem
Aby pracować z tego kodu, najpierw trzeba utworzyć projekt dla niego w Visual Studio.Wykonaj kroki opisane w sekcji "Przygotowania instruktaż" w Instruktaż: Tworzenie i uruchamianie testu rodzajowy.
Informacje o programie próbki EvenOdd
Próbka EvenOdd jest aplikacji konsoli Visual C#.Zwraca wartość 1 lub 0, w zależności od argumentu, wprowadzonego:
Jeśli bieżący czas systemowy w polu sekund jest nawet przekazać żaden argument, program zwraca 0.Jeśli wartość w polu sekund jest nieparzysta przekazać żaden argument, program zwraca wartość 1.
Jeśli przechodzą pojedynczym argumentem liczbowym, a liczba przekazuje jest parzysta, program zwraca wartość 0.Jeśli liczba przekazuje jest nieparzysta, program zwraca wartość 1.Jeśli przekazany argument nienumeryczny, program zwraca wartość 1.Powoduje to rodzajowe badań, które otacza program pożądany skutek nie powiodło się.
Jeśli drugi argument reprezentuje plik, który istnieje w tym samym katalogu co program przekazywać dwa argumenty, program zwraca wartość 0; w przeciwnym razie program zwraca wartość 1.
Wszystkich innych przypadkach nie powiedzie się.