Files
RobustToolbox/Robust.UnitTesting/Pool/ITestPair.cs
T
2026-03-16 00:33:36 +01:00

47 lines
1.3 KiB
C#

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using Robust.Shared.Timing;
namespace Robust.UnitTesting.Pool;
[NotContentImplementable]
public interface ITestPair
{
int Id { get; }
public Stopwatch Watch { get; }
public PairState State { get; }
public bool Initialized { get; }
void Kill();
[Obsolete("Constructed on the spot when needed, use ExtendedTestHistory instead.")]
List<string> TestHistory => ExtendedTestHistory.Select(x => x.TestName).ToList();
IReadOnlyList<TestHistoryEntry> ExtendedTestHistory { get; }
PairSettings Settings { get; set; }
int ServerSeed { get; }
int ClientSeed { get; }
void ActivateContext(TextWriter testOut);
void ValidateSettings(PairSettings settings);
void SetupSeed();
void ClearModifiedCvars();
void Use();
Task Init(int id, BasePoolManager manager, PairSettings settings, TextWriter testOut, TextWriter? gravestone);
Task RecycleInternal(PairSettings next, TextWriter testOut);
Task ApplySettings(PairSettings settings);
Task RunTicksSync(int ticks);
Task SyncTicks(int targetDelta = 1);
Task AddToHistory(string testName);
}
public enum PairState : byte
{
Ready = 0,
InUse = 1,
CleanDisposed = 2,
Dead = 3,
}