Files
mRemoteNG/mRemoteNGTests/TestHelpers/ConnectionInfoHelpers.cs
2019-04-01 11:56:09 -05:00

43 lines
1.2 KiB
C#

using mRemoteNG.Connection;
using mRemoteNG.Container;
namespace mRemoteNGTests.TestHelpers
{
internal static class ConnectionInfoHelpers
{
/// <summary>
/// Returns a <see cref="ConnectionInfo"/> object with randomized
/// values in all fields.
/// </summary>
internal static ConnectionInfo GetRandomizedConnectionInfo(bool randomizeInheritance = false)
{
var connectionInfo = new ConnectionInfo().RandomizeValues();
if (randomizeInheritance)
connectionInfo.Inheritance = GetRandomizedInheritance(connectionInfo);
return connectionInfo;
}
internal static ContainerInfo GetRandomizedContainerInfo(bool randomizeInheritance = false)
{
var containerInfo = new ContainerInfo().RandomizeValues();
if (randomizeInheritance)
containerInfo.Inheritance = GetRandomizedInheritance(containerInfo);
return containerInfo;
}
internal static ConnectionInfoInheritance GetRandomizedInheritance(ConnectionInfo parent)
{
var inheritance = new ConnectionInfoInheritance(parent, true);
foreach (var property in inheritance.GetProperties())
{
property.SetValue(inheritance, Randomizer.RandomBool());
}
return inheritance;
}
}
}