| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- using System.Linq;
- using Content.Shared.Containers.ItemSlots;
- using Content.Shared.Whitelist;
- using Robust.Shared.GameObjects;
- namespace Content.IntegrationTests.Tests.Utility
- {
- [TestFixture]
- [TestOf(typeof(EntityWhitelist))]
- public sealed class EntityWhitelistTest
- {
- private const string InvalidComponent = "Sprite";
- private const string ValidComponent = "Physics";
- [TestPrototypes]
- private const string Prototypes = $@"
- - type: Tag
- id: WhitelistTestValidTag
- - type: Tag
- id: WhitelistTestInvalidTag
- - type: entity
- id: WhitelistDummy
- components:
- - type: ItemSlots
- slots:
- slotName:
- whitelist:
- prototypes:
- - ValidPrototypeDummy
- components:
- - {ValidComponent}
- tags:
- - WhitelistTestValidTag
- - type: entity
- id: InvalidComponentDummy
- components:
- - type: {InvalidComponent}
- - type: entity
- id: WhitelistTestInvalidTagDummy
- components:
- - type: Tag
- tags:
- - WhitelistTestInvalidTag
- - type: entity
- id: ValidComponentDummy
- components:
- - type: {ValidComponent}
- - type: entity
- id: WhitelistTestValidTagDummy
- components:
- - type: Tag
- tags:
- - WhitelistTestValidTag";
- [Test]
- public async Task Test()
- {
- await using var pair = await PoolManager.GetServerClient();
- var server = pair.Server;
- var testMap = await pair.CreateTestMap();
- var mapCoordinates = testMap.MapCoords;
- var sEntities = server.EntMan;
- var sys = server.System<EntityWhitelistSystem>();
- await server.WaitAssertion(() =>
- {
- var validComponent = sEntities.SpawnEntity("ValidComponentDummy", mapCoordinates);
- var WhitelistTestValidTag = sEntities.SpawnEntity("WhitelistTestValidTagDummy", mapCoordinates);
- var invalidComponent = sEntities.SpawnEntity("InvalidComponentDummy", mapCoordinates);
- var WhitelistTestInvalidTag = sEntities.SpawnEntity("WhitelistTestInvalidTagDummy", mapCoordinates);
- // Test instantiated on its own
- var whitelistInst = new EntityWhitelist
- {
- Components = new[] { $"{ValidComponent}" },
- Tags = new() { "WhitelistTestValidTag" }
- };
- Assert.Multiple(() =>
- {
- Assert.That(sys.IsValid(whitelistInst, validComponent), Is.True);
- Assert.That(sys.IsValid(whitelistInst, WhitelistTestValidTag), Is.True);
- Assert.That(sys.IsValid(whitelistInst, invalidComponent), Is.False);
- Assert.That(sys.IsValid(whitelistInst, WhitelistTestInvalidTag), Is.False);
- });
- // Test from serialized
- var dummy = sEntities.SpawnEntity("WhitelistDummy", mapCoordinates);
- var whitelistSer = sEntities.GetComponent<ItemSlotsComponent>(dummy).Slots.Values.First().Whitelist;
- Assert.That(whitelistSer, Is.Not.Null);
- Assert.Multiple(() =>
- {
- Assert.That(whitelistSer.Components, Is.Not.Null);
- Assert.That(whitelistSer.Tags, Is.Not.Null);
- });
- Assert.Multiple(() =>
- {
- Assert.That(sys.IsValid(whitelistSer, validComponent), Is.True);
- Assert.That(sys.IsValid(whitelistSer, WhitelistTestValidTag), Is.True);
- Assert.That(sys.IsValid(whitelistSer, invalidComponent), Is.False);
- Assert.That(sys.IsValid(whitelistSer, WhitelistTestInvalidTag), Is.False);
- });
- });
- await pair.CleanReturnAsync();
- }
- }
- }
|