Files
tbd-station-14/Content.Tests/Shared/Utility/RandomExtensionsTests.cs
Pieter-Jan Briers a6c9c36b68 Dependency update / fixes / skrungle bungle (#23745)
* Give .props files 2-space indents.

* Move to Central Package Management.

Allows us to store NuGet package versions all in one place. Yay!

* Update NuGet packages and fix code for changes.

Notable:

Changes to ILVerify.
Npgsql doesn't need hacks for inet anymore, now we need hacks to make the old code work with this new reality.
NUnit's analyzers are already complaining and I didn't even update it to 4.x yet.
TerraFX changed to GetLastSystemError so error handling had to be changed.
Buncha APIs have more NRT annotations.

* Remove dotnet-eng NuGet package source.

I genuinely don't know what this was for, and Central Package Management starts throwing warnings about it, so YEET.

* Remove Robust.Physics project.

Never used.

* Remove erroneous NVorbis reference.

Should be VorbisPizza and otherwise wasn't used.

* Sandbox fixes

* Remove unused unit test package references.

Castle.Core and NUnit.ConsoleRunner.

* Update NUnit to 4.0.1

This requires replacing all the old assertion methods because they removed them 🥲

* Oh so that's what dotnet-eng was used for. Yeah ok that makes sense.

* Add Robust.Analyzers.Test

* Update submodule

* commit to re-run CI
2024-01-12 23:22:01 +01:00

42 lines
1.2 KiB
C#

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