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
{
}
}