/// <summary> /// See base docs. /// </summary> protected override void DoInitialise() { _AutoConfigDatabase = Factory.Singleton.Resolve <IAutoConfigBaseStationDatabase>().Singleton; _AutoConfigDatabase.Database.AircraftUpdated += BaseStationDatabase_AircraftUpdated; _AutoConfigDatabase.Database.FileNameChanged += BaseStationDatabase_FileNameChanged; _AircraftOnlineLookupManager = Factory.Singleton.Resolve <IAircraftOnlineLookupManager>().Singleton; _AircraftOnlineLookupManager.AircraftFetched += AircraftOnlineLookupManager_AircraftFetched; _PictureManager = Factory.Singleton.Resolve <IAircraftPictureManager>().Singleton; var autoConfigurationPictureFolderCache = Factory.Singleton.Resolve <IAutoConfigPictureFolderCache>().Singleton; _PictureFolderCache = autoConfigurationPictureFolderCache.DirectoryCache; autoConfigurationPictureFolderCache.CacheConfigurationChanged += AutoConfigPictureFolderCache_CacheConfigurationChanged; _StandingDataManager = Factory.Singleton.Resolve <IStandingDataManager>().Singleton; _StandingDataManager.LoadCompleted += StandingDataManager_LoadCompleted; if (_PictureLookupThread == null) { _PictureLookupThread = new BackgroundThreadQueue <LookupPictureDetail>("PictureLookup", BackgroundThreadQueueMechanism.ThreadPool); _PictureLookupThread.MaximumParallelThreads = 10; _PictureLookupThread.StartBackgroundThread(PictureLookupThread_ProcessLookup, PictureLookupThread_ProcessException); } base.DoInitialise(); }
public void TestInitialise() { _Snapshot = Factory.TakeSnapshot(); _FetchedRecorder = new EventRecorder <AircraftOnlineLookupEventArgs>(); _Clock = new ClockMock(); Factory.Singleton.RegisterInstance <IClock>(_Clock.Object); _Lookup = TestUtilities.CreateMockSingleton <IAircraftOnlineLookup>(); _LookupUsed = new List <string>(); _LookupIcaos = new List <string>(); _LookupResponds = true; _Lookup.Setup(r => r.Lookup(It.IsAny <string>())).Callback((string icao) => { _LookupUsed.Add(icao); if (_LookupResponds) { var args = BuildAircraftOnlineLookupEventArgs(new string[] { icao }, _LookupIcaos); _Lookup.Raise(r => r.AircraftFetched += null, args); } }); _Lookup.Setup(r => r.LookupMany(It.IsAny <IEnumerable <string> >())).Callback((IEnumerable <string> icaos) => { _LookupUsed.AddRange(icaos); if (_LookupResponds) { var args = BuildAircraftOnlineLookupEventArgs(icaos, _LookupIcaos); _Lookup.Raise(r => r.AircraftFetched += null, args); } }); _Cache1 = TestUtilities.CreateMockInstance <IAircraftOnlineLookupCache>(); _Cache2 = TestUtilities.CreateMockInstance <IAircraftOnlineLookupCache>(); _Cache1Icaos = new List <string>(); _Cache2Icaos = new List <string>(); _SavedDetails = new List <AircraftOnlineLookupDetail>(); _RecordedMissingIcaos = new List <string>(); _LookupCacheUsed = new List <int>(); _SaveCacheUsed = new List <int>(); _SaveCallback = null; _CreateCacheRecordCallback = null; SetupCache(1, _Cache1, _Cache1Icaos); SetupCache(2, _Cache2, _Cache2Icaos); _Manager = Factory.Singleton.Resolve <IAircraftOnlineLookupManager>(); _Manager.RegisterCache(_Cache1.Object, 1, false); _Manager.RegisterCache(_Cache2.Object, 2, false); // <-- this has a higher priority and should take precedence }