예제 #1
0
 internal IdContextFactory(JobScheduler jobScheduler, System.Func <string, IdGeneratorFactory> idFactoryProvider, IdTypeConfigurationProvider idTypeConfigurationProvider, IdReuseEligibility eligibleForIdReuse, System.Func <IdGeneratorFactory, IdGeneratorFactory> factoryWrapper)
 {
     this._jobScheduler                = jobScheduler;
     this._idFactoryProvider           = idFactoryProvider;
     this._idTypeConfigurationProvider = idTypeConfigurationProvider;
     this._eligibleForIdReuse          = eligibleForIdReuse;
     this._factoryWrapper              = factoryWrapper;
 }
예제 #2
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @Test void createContextWithProvidedReusabilityCheck()
        internal virtual void CreateContextWithProvidedReusabilityCheck()
        {
            IdReuseEligibility reuseEligibility         = mock(typeof(IdReuseEligibility));
            IdContextFactory   contextFactory           = IdContextFactoryBuilder.Of(_fs, _jobScheduler).withIdReuseEligibility(reuseEligibility).build();
            DatabaseIdContext  idContext                = contextFactory.CreateIdContext("database");
            IdGeneratorFactory bufferedGeneratorFactory = idContext.IdGeneratorFactory;

            assertThat(bufferedGeneratorFactory, instanceOf(typeof(BufferingIdGeneratorFactory)));
            BufferingIdGeneratorFactory bufferedFactory = ( BufferingIdGeneratorFactory )bufferedGeneratorFactory;

            KernelTransactionsSnapshot snapshot = mock(typeof(KernelTransactionsSnapshot));

            when(snapshot.AllClosed()).thenReturn(true);

            bufferedFactory.Initialize(() => snapshot);
            using (IdGenerator idGenerator = bufferedFactory.Open(_testDirectory.file("a"), IdType.PROPERTY, () => 100, 100))
            {
                idGenerator.FreeId(15);

                bufferedFactory.Maintenance();
                verify(reuseEligibility).isEligible(snapshot);
            }
        }
예제 #3
0
 public virtual IdContextFactoryBuilder WithIdReuseEligibility(IdReuseEligibility eligibleForIdReuse)
 {
     this._idReuseEligibility = eligibleForIdReuse;
     return(this);
 }