protected override void Warmup(IResolveScope scope)
        {
            using (var childScope = scope.CreateScope())
            {
                var instance = childScope.Resolve <IImportMultipleSmallObject>();

                if (!ReferenceEquals(instance.SmallObject1, instance.SmallObject2))
                {
                    throw new Exception("Not the same instance");
                }

                var instance2 = childScope.Resolve <IImportMultipleSmallObject>();

                if (ReferenceEquals(instance, instance2))
                {
                    throw new Exception("Same instance");
                }

                if (!ReferenceEquals(instance.SmallObject1, instance2.SmallObject1))
                {
                    throw new Exception("Small object1 not same instance");
                }

                if (!ReferenceEquals(instance.SmallObject2, instance2.SmallObject2))
                {
                    throw new Exception("Small object2 not same instance");
                }
            }
        }
 protected override void ExecuteBenchmark(IResolveScope scope)
 {
     using (var childScope = scope.CreateScope())
     {
         childScope.Resolve(typeof(IImportMultipleSmallObject));
     }
 }
 protected override void ExecuteBenchmark(IResolveScope scope)
 {
     using (var childScope = scope.CreateScope())
     {
         childScope.Resolve(typeof(ISmallObjectService));
     }
 }