using NUnit.Framework; using System; using System.Collections.Generic; using TINK.Services; namespace TestShareeLib.Services { [TestFixture] public class TestServicesContainerMutable { [Test] public void TestCtor() { var typeA = new MyTypeA(); var typeB = new MyTypeB(); var serviceContainer = new ServicesContainerMutable( new List { typeA, typeB, typeB }, typeA.GetType().FullName); Assert.That( serviceContainer, Is.EqualTo(new List { typeA, typeB}).AsCollection); Assert.That( serviceContainer.Active, Is.EqualTo(typeA)); } [Test] public void TestSetActive() { var typeA = new MyTypeA(); var typeB = new MyTypeB(); var serviceContainer = new ServicesContainerMutable( new List { typeA, typeB }, typeA.GetType().FullName); serviceContainer.SetActive(typeB.GetType().FullName); Assert.That( serviceContainer.Active, Is.EqualTo(typeB)); } [Test] public void TestSetActiveNotExists() { var typeA = new MyTypeA(); var typeB = new MyTypeB(); var serviceContainer = new ServicesContainerMutable( new List { typeA, typeB }, typeA.GetType().FullName); Assert.That( () => serviceContainer.SetActive(new MyTypeC().GetType().FullName), Throws.TypeOf()); } private class MyTypeA {} private class MyTypeB { } private class MyTypeC { } } }