Add test for non abstract entities without icons (#1666)
* Add test for non abstract entities without icons Fixes #575. Test will now fail if an entity is added that is not abstract but has no icon. Also added icons or made entities abstract that failed the test. No non abstract entities actually missed textures. Some notes: Changed name of "constructionghost" from "spooky ghost" to "construction ghost", and changed name of "AdminObserver" from "observer" to "admin observer" to avoid overlap in names. * Split up client side and server side tests
This commit is contained in:
@@ -19,7 +19,7 @@ namespace Content.IntegrationTests.Tests
|
||||
public class EntityTest : ContentIntegrationTest
|
||||
{
|
||||
[Test]
|
||||
public async Task Test()
|
||||
public async Task SpawnTest()
|
||||
{
|
||||
var server = StartServerDummyTicker();
|
||||
await server.WaitIdleAsync();
|
||||
@@ -79,5 +79,27 @@ namespace Content.IntegrationTests.Tests
|
||||
await server.WaitIdleAsync();
|
||||
}
|
||||
|
||||
[Test]
|
||||
public async Task NotAbstractIconTest()
|
||||
{
|
||||
var client = StartClient();
|
||||
await client.WaitIdleAsync();
|
||||
var prototypeMan = client.ResolveDependency<IPrototypeManager>();
|
||||
|
||||
client.Assert(() =>
|
||||
{
|
||||
foreach (var prototype in prototypeMan.EnumeratePrototypes<EntityPrototype>())
|
||||
{
|
||||
if (prototype.Abstract)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
Assert.That(prototype.Components.ContainsKey("Icon"), $"Entity {prototype.ID} does not have an Icon component, but is not abstract");
|
||||
}
|
||||
});
|
||||
|
||||
await client.WaitIdleAsync();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,6 +9,8 @@
|
||||
- type: Collidable
|
||||
- type: Sprite
|
||||
texture: Constructible/Misc/TurrBase.png
|
||||
- type: Icon
|
||||
texture: Constructible/Misc/TurrBase.png
|
||||
|
||||
- type: entity
|
||||
id: TurretTopGun
|
||||
@@ -23,6 +25,8 @@
|
||||
drawdepth: WallMountedItems
|
||||
texture: Constructible/Misc/TurrTop.png
|
||||
directional: false
|
||||
- type: Icon
|
||||
texture: Constructible/Misc/TurrTop.png
|
||||
|
||||
- type: entity
|
||||
id: TurretTopLight
|
||||
@@ -35,6 +39,8 @@
|
||||
drawdepth: WallMountedItems
|
||||
texture: Constructible/Misc/TurrLamp.png
|
||||
directional: false
|
||||
- type: Icon
|
||||
texture: Constructible/Misc/TurrLamp.png
|
||||
- type: PointLight
|
||||
radius: 512
|
||||
mask: flashlight_mask
|
||||
|
||||
@@ -19,6 +19,7 @@
|
||||
|
||||
- type: entity
|
||||
id: DisposalHolder
|
||||
abstract: true
|
||||
name: disposal holder
|
||||
components:
|
||||
- type: DisposalHolder
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
- type: entity
|
||||
name: spooky ghost
|
||||
name: construction ghost
|
||||
id: constructionghost
|
||||
abstract: true
|
||||
components:
|
||||
- type: Sprite
|
||||
color: '#3F38'
|
||||
@@ -12,6 +13,7 @@
|
||||
- type: entity
|
||||
name: somebody-messed-up frame
|
||||
id: structureconstructionframe
|
||||
abstract: true
|
||||
components:
|
||||
- type: Sprite
|
||||
- type: Construction
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
- type: entity
|
||||
name: drag shadow
|
||||
id: dragshadow
|
||||
abstract: true
|
||||
components:
|
||||
- type: Sprite
|
||||
layers:
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
- type: entity
|
||||
name: hover entity
|
||||
id: hoverentity
|
||||
abstract: true
|
||||
components:
|
||||
- type: Sprite
|
||||
layers:
|
||||
|
||||
@@ -6,6 +6,9 @@
|
||||
netsync: false
|
||||
sprite: Interface/Misc/pointing.rsi
|
||||
state: pointing
|
||||
- type: Icon
|
||||
sprite: Interface/Misc/pointing.rsi
|
||||
state: pointing
|
||||
- type: PointingArrow
|
||||
duration: 4
|
||||
step: 0.5
|
||||
|
||||
@@ -2,3 +2,5 @@
|
||||
parent: MobObserver
|
||||
save: false
|
||||
id: AdminObserver
|
||||
name: admin observer
|
||||
abstract: true
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
- type: entity
|
||||
id: MobObserver
|
||||
name: observer
|
||||
abstract: true
|
||||
save: false
|
||||
description: Boo!
|
||||
components:
|
||||
|
||||
Reference in New Issue
Block a user