using Moq; using NUnit.Framework; using Umbraco.Core; using Umbraco.Core.Cache; using Umbraco.Core.LightInject; using Umbraco.Core.Logging; using Umbraco.Core.ObjectResolution; using Umbraco.Core.Persistence.Mappers; using Umbraco.Core.Persistence.SqlSyntax; using Umbraco.Core.Profiling; namespace Umbraco.Tests.TestHelpers { [TestFixture] public abstract class BaseUsingSqlCeSyntax { private SqlCeSyntaxProvider _sqlSyntax; protected SqlCeSyntaxProvider SqlSyntax { get { return _sqlSyntax ?? (_sqlSyntax = new SqlCeSyntaxProvider()); } } private IMappingResolver _mappingResolver; protected IMappingResolver MappingResolver { get { return _mappingResolver ?? (_mappingResolver = Mock.Of()); } } [SetUp] public virtual void Initialize() { var container = new ServiceContainer(); container.Register(factory => SqlSyntax, new PerContainerLifetime()); container.Register(factory => Mock.Of(), new PerContainerLifetime()); container.Register(factory => Mock.Of(), new PerContainerLifetime()); var logger = new ProfilingLogger(Mock.Of(), Mock.Of()); PluginManager.Current = new PluginManager(new ActivatorServiceProvider(), new NullCacheProvider(), logger, false); //MappingResolver.Current = new MappingResolver( // container, logger.Logger, // () => PluginManager.Current.ResolveAssignedMapperTypes()); Resolution.Freeze(); SetUp(); } public virtual void SetUp() {} [TearDown] public virtual void TearDown() { //MappingResolver.Reset(); PluginManager.Current = null; } } }