Exemple #1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="CacheStatusResult"/> class.
 /// </summary>
 /// <param name="size">The size.</param>
 /// <param name="dateRangeOfCachedObjectsUtc">The date range of the cached objects (using their retrieval <see cref="DateTime"/> in UTC.</param>
 public CacheStatusResult(
     long size,
     UtcDateTimeRangeInclusive dateRangeOfCachedObjectsUtc)
 {
     this.Size = size;
     this.DateRangeOfCachedObjectsUtc = dateRangeOfCachedObjectsUtc;
 }
Exemple #2
0
        public CacheStatusResult DeepCloneWithDateRangeOfCachedObjectsUtc(UtcDateTimeRangeInclusive dateRangeOfCachedObjectsUtc)
        {
            var result = new CacheStatusResult(
                this.Size.DeepClone(),
                dateRangeOfCachedObjectsUtc);

            return(result);
        }
Exemple #3
0
        /// <inheritdoc />
        public CacheStatusResult Execute(
            GetCacheStatusOp operation)
        {
            lock (this.syncCache)
            {
                UtcDateTimeRangeInclusive dateRangeOfCachedObjectsUtc = null;
                if (this.operationToCacheResultMap.Any())
                {
                    var minFreshness = this.operationToCacheResultMap.Values.Min(_ => _.FreshnessInUtc);
                    var maxFreshness = this.operationToCacheResultMap.Values.Max(_ => _.FreshnessInUtc);
                    dateRangeOfCachedObjectsUtc = new UtcDateTimeRangeInclusive(minFreshness, maxFreshness);
                }

                var result = new CacheStatusResult(this.operationToCacheResultMap.Count, dateRangeOfCachedObjectsUtc);
                return(result);
            }
        }
        public TypeDummyFactory()
        {
            AutoFixtureBackedDummyFactory.AddDummyCreator(() =>
            {
                var startDateTime = A.Dummy <DateTime>();

                var endDateTime = A.Dummy <DateTime>().ThatIs(_ => _ >= startDateTime);

                var result = new UtcDateTimeRangeInclusive(startDateTime.ToUniversalTime(), endDateTime.ToUniversalTime());

                return(result);
            });

            AutoFixtureBackedDummyFactory.AddDummyCreator(
                () =>
            {
                Type result;

                if (ThreadSafeRandom.Next(0, 2) == 0)
                {
                    result = GetRandomClosedTypeInAppDomain();
                }
                else
                {
                    while (true)
                    {
                        var genericTypeDefinition = GetRandomGenericTypeDefinitionInAppDomain();

                        var typeArguments = Enumerable.Range(0, genericTypeDefinition.GetGenericArguments().Length).Select(_ => GetRandomClosedTypeInAppDomain()).ToArray();

                        try
                        {
                            result = genericTypeDefinition.MakeGenericType(typeArguments);

                            break;
                        }
                        catch (Exception)
                        {
                        }
                    }
                }

                return(result);
            });
        }
Exemple #5
0
 public ChainedNoDefaultConstructorWithExpressionBodyPropertyModel(
     UtcDateTimeRangeInclusive utcDateTimeRangeInclusive)
     : this(utcDateTimeRangeInclusive.StartDateTimeInUtc, utcDateTimeRangeInclusive.EndDateTimeInUtc)
 {
 }
Exemple #6
0
 public UnchainedNoDefaultConstructorWithExpressionBodyPropertyModel(
     UtcDateTimeRangeInclusive utcDateTimeRangeInclusive)
 {
     this.StartDateTimeInUtc = utcDateTimeRangeInclusive.StartDateTimeInUtc;
     this.EndDateTimeInUtc   = utcDateTimeRangeInclusive.EndDateTimeInUtc;
 }
Exemple #7
0
        public TypeDummyFactory()
        {
            AutoFixtureBackedDummyFactory.ConstrainDummyToExclude(CultureKind.Unknown);
            AutoFixtureBackedDummyFactory.ConstrainDummyToExclude(DateTimeFormatKind.Unknown);
            AutoFixtureBackedDummyFactory.ConstrainDummyToExclude(MissingProtocolStrategy.Unknown);
            AutoFixtureBackedDummyFactory.ConstrainDummyToExclude(StandardTimeZone.Unknown);

            // UtcDateTimeRangeInclusive
            AutoFixtureBackedDummyFactory.AddDummyCreator(
                () =>
            {
                var startDateTime = A.Dummy <DateTime>();

                var endDateTime = A.Dummy <DateTime>().ThatIs(_ => _ >= startDateTime);

                var result = new UtcDateTimeRangeInclusive(startDateTime.ToUniversalTime(), endDateTime.ToUniversalTime());

                return(result);
            });

            // Type
            AutoFixtureBackedDummyFactory.AddDummyCreator(
                () =>
            {
                Type result;

                if (ThreadSafeRandom.Next(0, 2) == 0)
                {
                    result = GetRandomClosedTypeInAppDomain();
                }
                else
                {
                    while (true)
                    {
                        var genericTypeDefinition = GetRandomGenericTypeDefinitionInAppDomain();

                        var typeArguments = Enumerable.Range(0, genericTypeDefinition.GetGenericArguments().Length).Select(_ => GetRandomClosedTypeInAppDomain()).ToArray();

                        try
                        {
                            result = genericTypeDefinition.MakeGenericType(typeArguments);

                            break;
                        }
                        catch (Exception)
                        {
                        }
                    }
                }

                return(result);
            });

            // IOperation
            AutoFixtureBackedDummyFactory.AddDummyCreator(
                () =>
            {
                var result = (IOperation)A.Dummy <OperationBase>();

                return(result);
            });

            // IReturningOperation<Version>
            AutoFixtureBackedDummyFactory.AddDummyCreator(
                () =>
            {
                var result = (IReturningOperation <Version>)A.Dummy <ReturningOperationBase <Version> >();

                return(result);
            });

            // IVoidOperation
            AutoFixtureBackedDummyFactory.AddDummyCreator(
                () =>
            {
                var result = (IVoidOperation)A.Dummy <VoidOperationBase>();

                return(result);
            });

            // NullEvent
            AutoFixtureBackedDummyFactory.AddDummyCreator(
                () => new NullEvent(
                    A.Dummy <DateTime>().ToUniversalTime()));

            // NullEvent<Version>
            AutoFixtureBackedDummyFactory.AddDummyCreator(
                () => new NullEvent <Version>(
                    A.Dummy <Version>(),
                    A.Dummy <DateTime>().ToUniversalTime()));

            // ExecuteOpRequestedEvent<GetProtocolOp>
            AutoFixtureBackedDummyFactory.AddDummyCreator(
                () => new ExecuteOpRequestedEvent <GetProtocolOp>(
                    A.Dummy <GetProtocolOp>(),
                    A.Dummy <DateTime>().ToUniversalTime(),
                    A.Dummy <string>()));

            // ExecuteOpRequestedEvent<Version, GetProtocolOp>
            AutoFixtureBackedDummyFactory.AddDummyCreator(
                () => new ExecuteOpRequestedEvent <Version, GetProtocolOp>(
                    A.Dummy <Version>(),
                    A.Dummy <GetProtocolOp>(),
                    A.Dummy <DateTime>().ToUniversalTime(),
                    A.Dummy <string>()));
        }