Files
tbd-station-14/Content.Tests/Shared/Utility/RandomExtensionsTests.cs
DrSmugleaf b30bccc03b Add IRobustRandom extension to get a random value from a data set (#3260)
* Add extension to pick a random element from a dataset

* Add tests
2021-02-16 20:14:12 +01:00

39 lines
1.0 KiB
C#

using System.IO;
using System.Threading.Tasks;
using Content.Shared.Prototypes;
using Content.Shared.Utility;
using NUnit.Framework;
using Robust.Shared.IoC;
using Robust.Shared.Prototypes;
using Robust.Shared.Random;
namespace Content.Tests.Shared.Utility
{
[TestFixture]
[TestOf(typeof(SharedRandomExtensions))]
public class RandomExtensionsTests : ContentUnitTest
{
private const string TestDatasetId = "TestDataset";
private static readonly string Prototypes = $@"
- type: dataset
id: {TestDatasetId}
values:
- A";
[Test]
public void RandomDataSetValueTest()
{
var prototypeManager = IoCManager.Resolve<IPrototypeManager>();
prototypeManager.LoadFromStream(new StringReader(Prototypes));
var dataSet = prototypeManager.Index<DatasetPrototype>(TestDatasetId);
var random = IoCManager.Resolve<IRobustRandom>();
var id = random.Pick(dataSet);
Assert.NotNull(id);
}
}
}