diff --git a/Content.IntegrationTests/ContentIntegrationTest.cs b/Content.IntegrationTests/ContentIntegrationTest.cs index 07177639c8..e1914cadc2 100644 --- a/Content.IntegrationTests/ContentIntegrationTest.cs +++ b/Content.IntegrationTests/ContentIntegrationTest.cs @@ -13,7 +13,6 @@ using Robust.Shared.Interfaces.Network; using Robust.Shared.IoC; using Robust.Shared.Map; using Robust.UnitTesting; -using EntryPoint = Content.Client.EntryPoint; namespace Content.IntegrationTests { @@ -23,11 +22,14 @@ namespace Content.IntegrationTests protected sealed override ClientIntegrationInstance StartClient(ClientIntegrationOptions options = null) { options ??= new ClientIntegrationOptions(); - options.ExtraAssemblies = new[] {typeof(ContentIntegrationTest).Assembly}; - // ReSharper disable once RedundantNameQualifier - options.ClientContentAssembly = typeof(EntryPoint).Assembly; - options.SharedContentAssembly = typeof(Shared.EntryPoint).Assembly; + options.ContentAssemblies = new[] + { + typeof(Shared.EntryPoint).Assembly, + typeof(Client.EntryPoint).Assembly, + typeof(ContentIntegrationTest).Assembly + }; + options.BeforeStart += () => { IoCManager.Resolve().SetModuleBaseCallbacks(new ClientModuleTestingCallbacks @@ -54,9 +56,12 @@ namespace Content.IntegrationTests protected override ServerIntegrationInstance StartServer(ServerIntegrationOptions options = null) { options ??= new ServerIntegrationOptions(); - options.ExtraAssemblies = new[] {typeof(ContentIntegrationTest).Assembly}; - options.ServerContentAssembly = typeof(Server.EntryPoint).Assembly; - options.SharedContentAssembly = typeof(Shared.EntryPoint).Assembly; + options.ContentAssemblies = new[] + { + typeof(Shared.EntryPoint).Assembly, + typeof(Server.EntryPoint).Assembly, + typeof(ContentIntegrationTest).Assembly + }; options.BeforeStart += () => { IoCManager.Resolve().SetModuleBaseCallbacks(new ServerModuleTestingCallbacks diff --git a/Content.IntegrationTests/Tests/Networking/SimplePredictReconcileTest.cs b/Content.IntegrationTests/Tests/Networking/SimplePredictReconcileTest.cs index f37fe7215e..31f3d93633 100644 --- a/Content.IntegrationTests/Tests/Networking/SimplePredictReconcileTest.cs +++ b/Content.IntegrationTests/Tests/Networking/SimplePredictReconcileTest.cs @@ -14,6 +14,7 @@ using Robust.Shared.Interfaces.Map; using Robust.Shared.Interfaces.Timing; using Robust.Shared.IoC; using Robust.Shared.Map; +using Robust.Shared.Reflection; using Robust.Shared.Timing; namespace Content.IntegrationTests.Tests.Networking @@ -425,6 +426,7 @@ namespace Content.IntegrationTests.Tests.Networking } } + [Reflect(false)] private sealed class PredictionTestEntitySystem : EntitySystem { public bool Allow { get; set; } = true; diff --git a/Content.IntegrationTests/Tests/ResettingEntitySystemTests.cs b/Content.IntegrationTests/Tests/ResettingEntitySystemTests.cs index 01dd1a4127..99df0017fb 100644 --- a/Content.IntegrationTests/Tests/ResettingEntitySystemTests.cs +++ b/Content.IntegrationTests/Tests/ResettingEntitySystemTests.cs @@ -6,6 +6,7 @@ using NUnit.Framework; using Robust.Shared.GameObjects.Systems; using Robust.Shared.Interfaces.GameObjects; using Robust.Shared.IoC; +using Robust.Shared.Reflection; namespace Content.IntegrationTests.Tests { @@ -13,6 +14,7 @@ namespace Content.IntegrationTests.Tests [TestOf(typeof(IResettingEntitySystem))] public class ResettingEntitySystemTests : ContentIntegrationTest { + [Reflect(false)] private class TestResettingEntitySystem : EntitySystem, IResettingEntitySystem { public bool HasBeenReset { get; set; } diff --git a/Content.Tests/ContentUnitTest.cs b/Content.Tests/ContentUnitTest.cs index fe6980a312..cc06d7a6bb 100644 --- a/Content.Tests/ContentUnitTest.cs +++ b/Content.Tests/ContentUnitTest.cs @@ -1,3 +1,5 @@ +using System.Collections.Generic; +using System.Reflection; using Content.Client; using Content.Server; using Robust.UnitTesting; @@ -19,5 +21,26 @@ namespace Content.Tests ClientContentIoC.Register(); } } + + protected override Assembly[] GetContentAssemblies() + { + var l = new List + { + typeof(Content.Shared.EntryPoint).Assembly + }; + + if (Project == UnitTestProject.Server) + { + l.Add(typeof(Content.Server.EntryPoint).Assembly); + } + else if (Project == UnitTestProject.Client) + { + l.Add(typeof(Content.Client.EntryPoint).Assembly); + } + + l.Add(typeof(ContentUnitTest).Assembly); + + return l.ToArray(); + } } } diff --git a/Content.Tests/Server/GameObjects/Components/Mobs/ServerAlertsComponentTests.cs b/Content.Tests/Server/GameObjects/Components/Mobs/ServerAlertsComponentTests.cs index 48062b1e62..89ddb24c53 100644 --- a/Content.Tests/Server/GameObjects/Components/Mobs/ServerAlertsComponentTests.cs +++ b/Content.Tests/Server/GameObjects/Components/Mobs/ServerAlertsComponentTests.cs @@ -37,7 +37,6 @@ namespace Content.Tests.Server.GameObjects.Components.Mobs // in a unit test var prototypeManager = IoCManager.Resolve(); - prototypeManager.RegisterType(typeof(AlertPrototype)); var factory = IoCManager.Resolve(); factory.Register(); prototypeManager.LoadFromStream(new StringReader(PROTOTYPES)); diff --git a/Content.Tests/Shared/Alert/AlertManagerTests.cs b/Content.Tests/Shared/Alert/AlertManagerTests.cs index 7601b04eb9..9a82d89e08 100644 --- a/Content.Tests/Shared/Alert/AlertManagerTests.cs +++ b/Content.Tests/Shared/Alert/AlertManagerTests.cs @@ -12,7 +12,7 @@ using YamlDotNet.RepresentationModel; namespace Content.Tests.Shared.Alert { [TestFixture, TestOf(typeof(AlertManager))] - public class AlertManagerTests : RobustUnitTest + public class AlertManagerTests : ContentUnitTest { const string PROTOTYPES = @" - type: alert @@ -28,9 +28,7 @@ namespace Content.Tests.Shared.Alert public void TestAlertManager() { var prototypeManager = IoCManager.Resolve(); - prototypeManager.RegisterType(typeof(AlertPrototype)); prototypeManager.LoadFromStream(new StringReader(PROTOTYPES)); - IoCManager.RegisterInstance(new AlertManager()); var alertManager = IoCManager.Resolve(); alertManager.Initialize(); diff --git a/Content.Tests/Shared/Alert/AlertOrderPrototypeTests.cs b/Content.Tests/Shared/Alert/AlertOrderPrototypeTests.cs index f67914ef6b..b7aad0e5ce 100644 --- a/Content.Tests/Shared/Alert/AlertOrderPrototypeTests.cs +++ b/Content.Tests/Shared/Alert/AlertOrderPrototypeTests.cs @@ -10,7 +10,7 @@ using Robust.UnitTesting; namespace Content.Tests.Shared.Alert { [TestFixture, TestOf(typeof(AlertOrderPrototype))] - public class AlertOrderPrototypeTests : RobustUnitTest + public class AlertOrderPrototypeTests : ContentUnitTest { const string PROTOTYPES = @" - type: alertOrder @@ -64,8 +64,6 @@ namespace Content.Tests.Shared.Alert public void TestAlertOrderPrototype() { var prototypeManager = IoCManager.Resolve(); - prototypeManager.RegisterType(typeof(AlertPrototype)); - prototypeManager.RegisterType(typeof(AlertOrderPrototype)); prototypeManager.LoadFromStream(new StringReader(PROTOTYPES)); var alertOrder = prototypeManager.EnumeratePrototypes().FirstOrDefault(); diff --git a/Content.Tests/Shared/Alert/AlertPrototypeTests.cs b/Content.Tests/Shared/Alert/AlertPrototypeTests.cs index d4104a568f..6729028337 100644 --- a/Content.Tests/Shared/Alert/AlertPrototypeTests.cs +++ b/Content.Tests/Shared/Alert/AlertPrototypeTests.cs @@ -11,7 +11,7 @@ using YamlDotNet.RepresentationModel; namespace Content.Tests.Shared.Alert { [TestFixture, TestOf(typeof(AlertPrototype))] - public class AlertPrototypeTests : RobustUnitTest + public class AlertPrototypeTests : ContentUnitTest { private const string PROTOTYPE = @"- type: alert alertType: HumanHealth