/// <summary>
        /// Initializes a new instance of the type
        /// </summary>
        /// <param name="writer">The writer callback to be invoked when the output is to be written</param>
        /// <param name="userState">The user state to pass to the callback</param>
        /// <param name="name">The name of the counter</param>
        /// <param name="delayPublish">Delay publishing of the counter until a value is received</param>
        /// <param name="help">The help text associated with the counter</param>
        /// <param name="labels">The labels assocaited with the counter</param>
        /// <param name="bucketDuration">The number of seconds in each bucket interval</param>
        public SimpleSummary(ISimpleMetricWriter writer, object userState, bool delayPublish, long bucketDuration, string name, string help, string[] labels)
        {
            Name   = name;
            Help   = help;
            Labels = labels;

            _bucket       = new MetricBucket(bucketDuration);
            _delayPublish = delayPublish;
            _userState    = userState;
            _writer       = writer;
        }
        public void BucketWriter()
        {
            var bucket = new MetricBucket(1);

            bucket.GetAggregates(out var startTime, out var count, out var maximum, out var minimum, out var mean, out var standardDeviation, out var p50, out var p90, out var p95, out var p98, out var p99);

            Assert.IsNull(startTime, "Start Time not expected");
            Assert.IsNull(count, "Count not expected");
            Assert.IsNull(maximum, "Maximum not expected");
            Assert.IsNull(minimum, "Minimum not expected");
            Assert.IsNull(mean, "Mean not expected");
            Assert.IsNull(standardDeviation, "Standard deviation not expected");
            Assert.IsNull(p50, "P50 not expected");
            Assert.IsNull(p90, "P90 not expected");
            Assert.IsNull(p95, "P95 not expected");
            Assert.IsNull(p98, "P98 not expected");
            Assert.IsNull(p99, "P99 not expected");
        }