RandomExtensionsTests.cs 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. using System.IO;
  2. using Content.Shared.Dataset;
  3. using Content.Shared.Random.Helpers;
  4. using NUnit.Framework;
  5. using Robust.Shared.IoC;
  6. using Robust.Shared.Prototypes;
  7. using Robust.Shared.Random;
  8. using Robust.Shared.Serialization.Manager;
  9. namespace Content.Tests.Shared.Utility
  10. {
  11. [TestFixture]
  12. [TestOf(typeof(SharedRandomExtensions))]
  13. public sealed class RandomExtensionsTests : ContentUnitTest
  14. {
  15. private const string TestDatasetId = "TestDataset";
  16. private static readonly string Prototypes = $@"
  17. - type: dataset
  18. id: {TestDatasetId}
  19. values:
  20. - A";
  21. [Test]
  22. public void RandomDataSetValueTest()
  23. {
  24. IoCManager.Resolve<ISerializationManager>().Initialize();
  25. var prototypeManager = IoCManager.Resolve<IPrototypeManager>();
  26. prototypeManager.Initialize();
  27. prototypeManager.LoadFromStream(new StringReader(Prototypes));
  28. prototypeManager.ResolveResults();
  29. var dataSet = prototypeManager.Index<DatasetPrototype>(TestDatasetId);
  30. var random = IoCManager.Resolve<IRobustRandom>();
  31. var id = random.Pick(dataSet);
  32. Assert.That(id, Is.Not.Null);
  33. }
  34. }
  35. }