Exemple #1
0
 public HighPassSummingAggregator(
     IEnumerable <Measurement> measurements)
 {
     _measurements = measurements;
     _filter       = new HighPassFilter();
     _aggregator   = new SummingStrategy();
 }
 public PointsAggregator(
     IEnumerable <Measurement> measurements,
     IMeasurementFilter filter,
     IAggregationStrategy aggregator)
 {
     _measurements = measurements;
     _filter       = filter;
     _aggregator   = aggregator;
 }
Exemple #3
0
 public PointsAggregator(
     IEnumerable<Measurement> measurements, 
     IMeasurementFilter filter, 
     IAggregationStrategy aggregator)
 {
     _measurements = measurements;
     _filter = filter;
     _aggregator = aggregator;
 }
 public PointsAggregator(                    // why do we want to take in measurements here? why not just pass in measurements for Aggregate?>
     IEnumerable <Measurement> measurements, // pass in everything "Has a relationship"
     IMeasurementFilter filter,
     IAggregationStrategy aggregator)
 {
     _measurements = measurements;
     _filter       = filter;
     _aggregator   = aggregator;
 }
Exemple #5
0
        public MetricRoute(
            BucketReference bucketReference,
            int frequencyInSeconds,
            IAggregationStrategy aggregationStrategy)
        {
            this.aggregationStrategy = aggregationStrategy;

            Bucket = bucketReference;
            FrequencyInSeconds = frequencyInSeconds;

            Logger = NullLogger.Instance;
        }
Exemple #6
0
 public AggregationProvider(
     ITableWrapper table,
     IAffectedComponentPathProvider <TAggregationEntity> aggregationPathProvider,
     IAggregationStrategy <TAggregationEntity> strategy,
     IComponentAffectingEntityFactory <TAggregationEntity> aggregationFactory,
     ILogger <AggregationProvider <TChildEntity, TAggregationEntity> > logger)
 {
     _table = table ?? throw new ArgumentNullException(nameof(table));
     _aggregationPathProvider = aggregationPathProvider ?? throw new ArgumentNullException(nameof(aggregationPathProvider));
     _strategy           = strategy ?? throw new ArgumentNullException(nameof(strategy));
     _aggregationFactory = aggregationFactory ?? throw new ArgumentNullException(nameof(aggregationFactory));
     _logger             = logger ?? throw new ArgumentNullException(nameof(logger));
 }
Exemple #7
0
        public void CantCreateAggregatorWithNullStrategy()
        {
            // Arrange
            IAggregationStrategy <TestItem, object> strategy = null !;
            var size  = 5;
            var delay = 1000;

            // Act
            var exception = Record.Exception(() => new Aggregator <TestItem, object>(size, delay, strategy, CancellationToken.None));

            // Assert
            exception.Should().NotBeNull().And.BeOfType <ArgumentNullException>();
        }
Exemple #8
0
        /// <summary>
        /// Creates aggregator
        /// </summary>
        /// <param name="initialSize">Approximate size of the number of keys.</param>
        /// <param name="millisecondsDelay">Delay in milliseconds when gets aggregates data from items.</param>
        /// <param name="strategy">Aggregation strategy <see cref="IAggregationStrategy"/>.</param>
        /// <param name="ct">Cancellation token for async operations.</param>
        /// <exception cref="ArgumentNullException">Thrown when <paramref name="strategy"/> is null.</exception>
        /// <exception cref="ArgumentException">Thrown when <paramref name="initialSize"/> or <paramref name="millisecondsDelay"/> is incorrect.</exception>
        public Aggregator(int initialSize, int millisecondsDelay, IAggregationStrategy <Item, KeyType> strategy, CancellationToken ct = default)
        {
            if (initialSize <= 0)
            {
                throw new ArgumentException("initialSize should be more than zero.", nameof(initialSize));
            }

            if (millisecondsDelay <= 0)
            {
                throw new ArgumentException("delay can not be negative.", nameof(millisecondsDelay));
            }

            if (strategy is null)
            {
                throw new ArgumentNullException(nameof(strategy));
            }

            _items         = new Dictionary <KeyType, LinkedList <Item> >(initialSize);
            _scheduledWork = new Dictionary <KeyType, Task>(initialSize);
            _ct            = ct;
            _delay         = millisecondsDelay;
            _channel       = Channel.CreateUnbounded <IEnumerable <Item> >();
            _strategy      = strategy;
        }
Exemple #9
0
 public ScoreCalculator(List <Die> dice, IAggregationStrategy aggregationStrategy)
 {
     _dice = dice;
     _aggregationStrategy = aggregationStrategy;
 }
Exemple #10
0
 public CategoryScoreCalculator(List <IDie> dice, IDiceFilter diceFilter, IAggregationStrategy aggregationStrategy) // dependency injection
 {
     _dice                = dice;
     _diceFilter          = diceFilter;
     _aggregationStrategy = aggregationStrategy;
 }