Ejemplo n.º 1
0
        public void ClearContainer()
        {
            var ioc = new ServiceContainer();
              Assert.AreEqual(3, ioc.Cast<object>().Count()); // By default only ServiceContainer is registered in 3 variants.

              ioc.Clear();
              Assert.AreEqual(0, ioc.Cast<object>().Count());

              ioc.Register(typeof(IService1), null, typeof(Service1));
              Assert.AreEqual(1, ioc.Cast<object>().Count());

              ioc.Clear();
              Assert.AreEqual(0, ioc.Cast<object>().Count());
        }
Ejemplo n.º 2
0
        public void ClearContainer()
        {
            var ioc = new ServiceContainer();

            Assert.AreEqual(3, ioc.Cast <object>().Count()); // By default only ServiceContainer is registered in 3 variants.

            ioc.Clear();
            Assert.AreEqual(0, ioc.Cast <object>().Count());

            ioc.Register(typeof(IService1), null, typeof(Service1));
            Assert.AreEqual(1, ioc.Cast <object>().Count());

            ioc.Clear();
            Assert.AreEqual(0, ioc.Cast <object>().Count());
        }
Ejemplo n.º 3
0
        public void ShouldThrowIfDisposed()
        {
            var ioc = new ServiceContainer();

            ioc.Dispose();
            ioc.Clear();
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Releases unmanaged and - optionally - managed resources
        /// </summary>
        /// <param name="disposeManagedResources"><c>true</c> to release both managed and unmanaged resources; <c>false</c> to release only unmanaged resources.</param>
        protected virtual void Dispose(bool disposeManagedResources)
        {
            if (IsDisposed)
            {
                return;
            }

            IsDisposed = true;

            if (disposeManagedResources)
            {
                entities.Clear();

                foreach (var manager in managers)
                {
                    manager.Dispose();
                }

                managers.Clear();

                foreach (var service in services)
                {
                    service.Dispose();
                }

                services.Clear();
            }
        }
Ejemplo n.º 5
0
        public void ShouldBeDisposedOnClear()
        {
            var ioc = new ServiceContainer();

            // Shared service.
            ioc.Register(typeof(IService1), null, typeof(DisposableService), CreationPolicy.Shared, DisposalPolicy.Automatic);

            var disposableService = ioc.GetInstance <IService1>() as DisposableService;

            Assert.IsNotNull(disposableService);
            Assert.IsFalse(disposableService.Disposed);

            ioc.Clear();
            Assert.IsTrue(disposableService.Disposed);
            Assert.IsNull(ioc.GetInstance <IService1>());

            // Single non-shared service.
            ioc.Register(typeof(IService1), null, typeof(DisposableService), CreationPolicy.NonShared, DisposalPolicy.Automatic);

            disposableService = ioc.GetInstance <IService1>() as DisposableService;
            Assert.IsNotNull(disposableService);
            Assert.IsFalse(disposableService.Disposed);

            ioc.Clear();
            Assert.IsTrue(disposableService.Disposed);
            Assert.IsNull(ioc.GetInstance <IService1>());

            // Multiple non-shared service.
            ioc.Register(typeof(IService1), null, typeof(DisposableService), CreationPolicy.NonShared, DisposalPolicy.Automatic);

            var disposableService0 = ioc.GetInstance <IService1>() as DisposableService;
            var disposableService1 = ioc.GetInstance <IService1>() as DisposableService;
            var disposableService2 = ioc.GetInstance <IService1>() as DisposableService;

            Assert.IsNotNull(disposableService0);
            Assert.IsNotNull(disposableService1);
            Assert.IsNotNull(disposableService2);
            Assert.AreNotSame(disposableService0, disposableService1);
            Assert.AreNotSame(disposableService0, disposableService2);
            Assert.IsFalse(disposableService0.Disposed);
            Assert.IsFalse(disposableService1.Disposed);
            Assert.IsFalse(disposableService2.Disposed);

            ioc.Clear();
            Assert.IsTrue(disposableService0.Disposed);
            Assert.IsNull(ioc.GetInstance <IService1>());
        }
Ejemplo n.º 6
0
        public void SetUp()
        {
            ServiceContainer.Clear();
            ServiceContainer.RegisterService <ISettingsProvider>(new SettingsProvider());
            ServiceContainer.RegisterService <IWebRequestProvider>(new WebRequestProvider());
            ServiceContainer.RegisterService <IAnalyticsService>(new AnalyticsService());
            ServiceContainer.RegisterService <ISessionProvider>(new SessionProvider());

            _webService = new NestWebService();
        }
Ejemplo n.º 7
0
        public void ShouldNotBeDisposedOnClear()
        {
            var ioc = new ServiceContainer();

            ioc.Register(typeof(IService1), null, new DisposableService()); // DisposalPolicy = Manual

            var disposableService = ioc.GetInstance <IService1>() as DisposableService;

            Assert.IsNotNull(disposableService);
            Assert.IsFalse(disposableService.Disposed);

            ioc.Clear();
            Assert.IsFalse(disposableService.Disposed);

            ioc.Register(typeof(IService1), null, typeof(DisposableService), CreationPolicy.NonShared, DisposalPolicy.Manual);

            disposableService = ioc.GetInstance <IService1>() as DisposableService;
            Assert.IsNotNull(disposableService);
            Assert.IsFalse(disposableService.Disposed);

            ioc.Clear();
            Assert.IsFalse(disposableService.Disposed);
        }
Ejemplo n.º 8
0
        public virtual void TearDown()
        {
            RunAsync(async delegate {
                // Use an empty transaction to ensure that the SQLiteDataStore has completed all scheduled jobs:
                await DataStore.ExecuteInTransactionAsync((ctx) => {
                });
            });

            // Make sure all of the scheduled actions have been completed
            while (syncContext.Run())
            {
            }

            ServiceContainer.Clear();

            if (databasePath != null)
            {
                File.Delete(databasePath);
                databasePath = null;
            }
        }
Ejemplo n.º 9
0
 public void TearDown()
 {
     ServiceContainer.Clear();
     _webService = null;
 }
Ejemplo n.º 10
0
 /// <summary>
 /// Restores the persisted high-level SDK components values to their corresponding default properties.
 /// </summary>
 public static void Reset()
 {
     Container.Clear();
     Initialize();
 }
Ejemplo n.º 11
0
 public void ShouldThrowIfDisposed()
 {
     var ioc = new ServiceContainer();
       ioc.Dispose();
       ioc.Clear();
 }
Ejemplo n.º 12
0
        public void ShouldNotBeDisposedOnClear()
        {
            var ioc = new ServiceContainer();

              ioc.Register(typeof(IService1), null, new DisposableService()); // DisposalPolicy = Manual

              var disposableService = ioc.GetInstance<IService1>() as DisposableService;
              Assert.IsNotNull(disposableService);
              Assert.IsFalse(disposableService.Disposed);

              ioc.Clear();
              Assert.IsFalse(disposableService.Disposed);

              ioc.Register(typeof(IService1), null, typeof(DisposableService), CreationPolicy.NonShared, DisposalPolicy.Manual);

              disposableService = ioc.GetInstance<IService1>() as DisposableService;
              Assert.IsNotNull(disposableService);
              Assert.IsFalse(disposableService.Disposed);

              ioc.Clear();
              Assert.IsFalse(disposableService.Disposed);
        }
Ejemplo n.º 13
0
        public void ShouldBeDisposedOnClear()
        {
            var ioc = new ServiceContainer();

              // Shared service.
              ioc.Register(typeof(IService1), null, typeof(DisposableService), CreationPolicy.Shared, DisposalPolicy.Automatic);

              var disposableService = ioc.GetInstance<IService1>() as DisposableService;
              Assert.IsNotNull(disposableService);
              Assert.IsFalse(disposableService.Disposed);

              ioc.Clear();
              Assert.IsTrue(disposableService.Disposed);
              Assert.IsNull(ioc.GetInstance<IService1>());

              // Single non-shared service.
              ioc.Register(typeof(IService1), null, typeof(DisposableService), CreationPolicy.NonShared, DisposalPolicy.Automatic);

              disposableService = ioc.GetInstance<IService1>() as DisposableService;
              Assert.IsNotNull(disposableService);
              Assert.IsFalse(disposableService.Disposed);

              ioc.Clear();
              Assert.IsTrue(disposableService.Disposed);
              Assert.IsNull(ioc.GetInstance<IService1>());

              // Multiple non-shared service.
              ioc.Register(typeof(IService1), null, typeof(DisposableService), CreationPolicy.NonShared, DisposalPolicy.Automatic);

              var disposableService0 = ioc.GetInstance<IService1>() as DisposableService;
              var disposableService1 = ioc.GetInstance<IService1>() as DisposableService;
              var disposableService2 = ioc.GetInstance<IService1>() as DisposableService;
              Assert.IsNotNull(disposableService0);
              Assert.IsNotNull(disposableService1);
              Assert.IsNotNull(disposableService2);
              Assert.AreNotSame(disposableService0, disposableService1);
              Assert.AreNotSame(disposableService0, disposableService2);
              Assert.IsFalse(disposableService0.Disposed);
              Assert.IsFalse(disposableService1.Disposed);
              Assert.IsFalse(disposableService2.Disposed);

              ioc.Clear();
              Assert.IsTrue(disposableService0.Disposed);
              Assert.IsNull(ioc.GetInstance<IService1>());
        }
Ejemplo n.º 14
0
 public virtual void TearDown()
 {
     ServiceContainer.Clear();
 }