using Kompas.Mcp.Core; using Kompas.Mcp.Core.Threading; namespace Kompas.Mcp.Tests.Integration; /// /// Общая фикстура интеграционных тестов: один STA-диспетчер и одно подключение к КОМПАС /// на весь набор тестов коллекции (КОМПАС присоединяется/запускается единожды). /// public sealed class KompasFixture : IDisposable { public KompasDispatcher Dispatcher { get; } public KompasSession Session { get; } public KompasConnectionInfo Info { get; } public KompasFixture() { Dispatcher = new KompasDispatcher(); Session = new KompasSession(Dispatcher); Info = Session.ConnectAsync(visible: true).GetAwaiter().GetResult(); } public void Dispose() { Session.Dispose(); Dispatcher.Dispose(); } } /// Коллекция, позволяющая делить одно подключение между классами интеграционных тестов. [CollectionDefinition(Name)] public sealed class KompasCollection : ICollectionFixture { public const string Name = "kompas"; }