using Bitmex.NET.Authorization; using Bitmex.NET.Models; using System; using System.Configuration; using Unity; using Unity.Extension; using Unity.Lifetime; namespace Bitmex.NET.IntegrationTests { public sealed class BitmexNetUnityExtension : UnityContainerExtension { protected override void Initialize() { Container.RegisterType<IBitmexApiProxy, BitmexApiProxy>(); Container.RegisterType<IBitmexApiService, BitmexApiService>(); Container.RegisterType<IBitmexApiSocketService, BitmexApiSocketService>(); Container.RegisterType<IBitmexApiSocketProxy, BitmexApiSocketProxy>(); Container.RegisterType<IExpiresTimeProvider, ExpiresTimeProvider>(new ContainerControlledLifetimeManager()); Container.RegisterType<ISignatureProvider, SignatureProvider>(new ContainerControlledLifetimeManager()); var authorization = new BitmexAuthorization { Key = ConfigurationManager.AppSettings["Key"], Secret = ConfigurationManager.AppSettings["Secret"], BitmexEnvironment = (BitmexEnvironment)Enum.Parse(typeof(BitmexEnvironment), ConfigurationManager.AppSettings["Environment"]), }; Container.RegisterInstance<IBitmexAuthorization>(authorization); } } }