Example #1
0
        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
        }
Example #2
0
 public void AircraftOnlineLookupManager_RegisterCache_Throws_If_Cache_Is_Null()
 {
     _Manager.RegisterCache(null, 1, letManagerControlLifetime: false);
 }