Ejemplo n.º 1
0
        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;
 }