Это не важно . Конечно, нормально, что Вы просите начинать на поблочном тестировании, но я повторяю его, это не важно.
единица - что-то вроде:
, Но , "единица", функция или метод, может также вызвать другую "единицу" из приложения, которое аналогично осуществлено тестом. Таким образом, "единица" может охватить по нескольким функциям или даже нескольким классам.
"Тест более важен, чем единица" ( testivus). Хороший тест должен быть:
Во избежание циклических ссылок вам потребуется как минимум 3 сборки.
Библиотека C #:
namespace CSLibrary
{
public class CSClass
{
public delegate string ACSharpDelegate (string message);
public string Hello (string message)
{
return string.Format("Hello {0}", message);
}
}
}
Библиотека C ++ / CLI (ссылки CSLibrary):
using namespace System;
namespace CPPLibrary {
public ref class CPPClass
{
public:
String^ UseDelegate( CSLibrary::CSClass::ACSharpDelegate^ dlg )
{
String^ dlgReturn = dlg("World");
return String::Format("{0} !", dlgReturn);
}
};
}
Программа C # (ссылки CSLibrary и CPPLibrary):
namespace ConsoleApplication
{
class Program
{
static void Main (string [] args)
{
CSLibrary.CSClass a = new CSLibrary.CSClass ();
CSLibrary.CSClass.ACSharpDelegate dlg = new CSLibrary.CSClass.ACSharpDelegate (a.Hello);
CPPLibrary.CPPClass b = new CPPLibrary.CPPClass ();
String result = b.UseDelegate (dlg);
Console.WriteLine (result);
Console.Read ();
}
}
}