using System; using System.Collections.Generic; using NUnit.Framework; 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 ServicesContainerMutableT( 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 ServicesContainerMutableT( 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 ServicesContainerMutableT( 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 { } } }