using NUnit.Framework; using Robust.Shared.IoC; namespace Robust.UnitTesting.Shared.IoC; [TestFixture] [TestOf(typeof(DependencyCollection))] [Parallelizable] internal sealed class DependencyCollectionTest { /// /// Tests that registering two interfaces with the same implementation results in a single instance being shared. /// [Test] public void TestRegisterSameImplementation() { var deps = new DependencyCollection(); deps.Register(); deps.Register(); deps.BuildGraph(); var a = deps.Resolve(); var b = deps.Resolve(); Assert.That(a, Is.EqualTo(b), () => "A & B instances must be reference equal"); } private interface IA { } private interface IB { } private sealed class C : IA, IB { } }