using System; using System.Linq; using NUnit.Framework; using Umbraco.Core; using Umbraco.Core.ObjectResolution; using Umbraco.Tests.TestHelpers; using umbraco.interfaces; namespace Umbraco.Tests { [TestFixture] public class CacheRefresherFactoryTests { [SetUp] public void Initialize() { TestHelper.SetupLog4NetForTests(); //this ensures its reset PluginManager.Current = new PluginManager(false); //for testing, we'll specify which assemblies are scanned for the PluginTypeResolver PluginManager.Current.AssembliesToScan = new[] { this.GetType().Assembly }; CacheRefreshersResolver.Current = new CacheRefreshersResolver( () => PluginManager.Current.ResolveCacheRefreshers()); Resolution.Freeze(); } [TearDown] public void TearDown() { CacheRefreshersResolver.Reset(); PluginManager.Current = null; } [Test] public void Get_All_Instances() { var factory = new umbraco.presentation.cache.Factory(); Assert.AreEqual(2, factory.GetAll().Count()); } #region Classes for tests public class CacheRefresher1 : ICacheRefresher { public Guid UniqueIdentifier { get { return new Guid("21350A89-4C0D-48B2-B25E-3EE19BFD59FF"); } } public string Name { get { return "CacheRefresher1"; } } public void RefreshAll() { throw new NotImplementedException(); } public void Refresh(int Id) { throw new NotImplementedException(); } public void Remove(int Id) { throw new NotImplementedException(); } public void Refresh(Guid Id) { throw new NotImplementedException(); } } public class CacheRefresher2 : ICacheRefresher { public Guid UniqueIdentifier { get { return new Guid("9266CB73-1FDE-4CD9-8DBC-159C2D39BE5D"); } } public string Name { get { return "CacheRefresher2"; } } public void RefreshAll() { throw new NotImplementedException(); } public void Refresh(int Id) { throw new NotImplementedException(); } public void Remove(int Id) { throw new NotImplementedException(); } public void Refresh(Guid Id) { throw new NotImplementedException(); } } #endregion } }