public LeaseConfiguration(string nodeId, ILeaseLengthCalculator leaseLengthCalculator, LeaseCriteria leaseCriteria) { if (string.IsNullOrEmpty(nodeId)) { throw new ArgumentException("Value cannot be null or empty.", nameof(nodeId)); } NodeId = nodeId; LeaseLengthCalculator = leaseLengthCalculator ?? throw new ArgumentNullException(nameof(leaseLengthCalculator)); LeaseCriteria = leaseCriteria; }
public void provide_the_lease_calculator_to_the_lease_manager() { var fakeCalculator = A.Fake <ILeaseLengthCalculator>(); var lcb = new LeaderConfigurationBuilder <object>(); ILeaseLengthCalculator calculatorProvided = null; lcb.WhenStarted((o, token) => throw new Exception()) .Lease(cb => { cb.WithLeaseManager(lc => { calculatorProvided = lc.LeaseLengthCalculator; return(new InMemoryLeaseManager(NodeId)); }).LeaseLength(() => fakeCalculator); }); lcb.Build(); Assert.Same(fakeCalculator, calculatorProvided); }
public LeaseConfigurationIncludingManager(string nodeId, Func <LeaseConfiguration, ILeaseManager> leaseManager, ILeaseLengthCalculator leaseLengthCalculator, LeaseCriteria leaseCriteria) : base(nodeId, leaseLengthCalculator, leaseCriteria) { LeaseManager = leaseManager; }