protected override void Arrange() { _edFiOdsInstanceIdentificationProvider = new FakeEdFiOdsInstanceIdentificationProvider(); _personIdentifiersProvider = Stub <IPersonIdentifiersProvider>(); A.CallTo(() => _personIdentifiersProvider.GetAllPersonIdentifiers(A <string> .That.IsEqualTo(Staff))) .Returns( Task.Run( () => (IEnumerable <PersonIdentifiersValueMap>) new[] { new PersonIdentifiersValueMap { UniqueId = "ABC123", Usi = 11 } })).Once(); A.CallTo(() => _personIdentifiersProvider.GetAllPersonIdentifiers(A <string> .That.IsEqualTo(Staff))) .Returns( Task.Run( () => (IEnumerable <PersonIdentifiersValueMap>) new[] { new PersonIdentifiersValueMap { UniqueId = "CDE234", Usi = 11 } })).Once(); // USI value mapper gets call twice during Act step, with first value on ODS instance 1, and second on ODS instance 2 _usiValueMapper = Stub <IUniqueIdToUsiValueMapper>(); SetupCaching(); void SetupCaching() { var memorycacheoption = A.Fake <IOptions <MemoryCacheOptions> >(); MemoryCache memoryCache = new MemoryCache(memorycacheoption); _memoryCacheProvider = new MemoryCacheProvider(memoryCache); _usiCache = new PersonUniqueIdToUsiCache( _memoryCacheProvider, _edFiOdsInstanceIdentificationProvider, _usiValueMapper, _personIdentifiersProvider, TimeSpan.Zero, TimeSpan.Zero, synchronousInitialization: true); } }
protected override void Arrange() { _edFiOdsInstanceIdentificationProvider = new FakeEdFiOdsInstanceIdentificationProvider(); _personIdentifiersProvider = Stub <IPersonIdentifiersProvider>(); A.CallTo(() => _personIdentifiersProvider.GetAllPersonIdentifiers(A <string> ._)) .Returns(Task.Run(() => (IEnumerable <PersonIdentifiersValueMap>) new PersonIdentifiersValueMap[0])); _suppliedIdForUniqueIdABC123 = Guid.NewGuid(); // USI value mapper gets call twice during Act step, with first value on ODS instance 1, and second on ODS instance 2 _usiValueMapper = Stub <IUniqueIdToUsiValueMapper>(); A.CallTo(() => _usiValueMapper.GetUsi(A <string> .That.IsEqualTo(Staff), A <string> .That.IsEqualTo("ABC123"))) .Returns( new PersonIdentifiersValueMap { UniqueId = "ABC123", Usi = 11 }).Once(); A.CallTo(() => _usiValueMapper.GetUsi(A <string> .That.IsEqualTo(Staff), A <string> .That.IsEqualTo("ABC123"))) .Returns( new PersonIdentifiersValueMap { UniqueId = "ABC123", Usi = 22 }).Once(); _idValueMapper = Stub <IUniqueIdToIdValueMapper>(); A.CallTo(() => _idValueMapper.GetId(A <string> .That.IsEqualTo(Staff), A <string> .That.IsEqualTo("ABC123"))) .Returns( new PersonIdentifiersValueMap { UniqueId = "ABC123", Id = _suppliedIdForUniqueIdABC123 }).Once(); SetupCaching(); void SetupCaching() { _memoryCacheProvider = new MemoryCacheProvider { MemoryCache = new MemoryCache(IsolatedForUnitTest) }; _idCache = new PersonUniqueIdToIdCache( _memoryCacheProvider, _edFiOdsInstanceIdentificationProvider, _idValueMapper); _usiCache = new PersonUniqueIdToUsiCache( _memoryCacheProvider, _edFiOdsInstanceIdentificationProvider, _usiValueMapper, _personIdentifiersProvider, TimeSpan.Zero, TimeSpan.Zero, synchronousInitialization: true); } }