using System.Threading.Tasks;
using Robust.Shared.Log;
using Robust.UnitTesting.Pool;
namespace Robust.UnitTesting;
public partial class RobustIntegrationTest
{
///
/// implementation using instances.
///
[Virtual]
public class TestPair : TestPair
{
protected override async Task GenerateClient()
{
var client = new ClientIntegrationInstance(ClientOptions());
await client.WaitIdleAsync();
client.Resolve().GetSawmill("loc").Level = LogLevel.Error;
client.CfgMan.OnValueChanged(RTCVars.FailureLogLevel, value => ClientLogHandler.FailureLevel = value, true);
await client.WaitIdleAsync();
return client;
}
protected override async Task GenerateServer()
{
var server = new ServerIntegrationInstance(ServerOptions());
await server.WaitIdleAsync();
server.Resolve().GetSawmill("loc").Level = LogLevel.Error;
server.CfgMan.OnValueChanged(RTCVars.FailureLogLevel, value => ServerLogHandler.FailureLevel = value, true);
return server;
}
protected virtual ClientIntegrationOptions ClientOptions()
{
var options = new ClientIntegrationOptions
{
ContentAssemblies = Manager.ClientAssemblies,
OverrideLogHandler = () => ClientLogHandler
};
options.Options = new()
{
LoadConfigAndUserData = false,
LoadContentResources = false,
};
foreach (var (cvar, value) in Manager.DefaultCvars)
{
options.CVarOverrides[cvar] = value;
}
return options;
}
protected virtual ServerIntegrationOptions ServerOptions()
{
var options = new ServerIntegrationOptions
{
ContentAssemblies = Manager.ServerAssemblies,
OverrideLogHandler = () => ServerLogHandler
};
options.Options = new()
{
LoadConfigAndUserData = false,
LoadContentResources = false,
};
foreach (var (cvar, value) in Manager.DefaultCvars)
{
options.CVarOverrides[cvar] = value;
}
return options;
}
}
}