public void AddingItemsDoesNotTriggerResolve(bool doubleAdd) { var containerMock = new Mock <IServiceProvider>(); var cache = new TypedInstanceCache <MyType>(containerMock.Object); var type1 = new MyType(); var type2 = new MyType(); cache.Add(type1); var result = cache.Get(); Assert.Equal(type1, result.First()); if (doubleAdd) { cache.Add(type2); result = cache.Get(); Assert.Equal(type2, result.First()); } Assert.True(result.Count == 1); containerMock.Verify(c => c.GetService(It.Is <Type>(t => t == typeof(MyType))), Times.Never()); }
public void AddingItemTypeDoesTriggerResolve() { var type1 = new MyType(); Services.AddSingleton(type1); var cache = new TypedInstanceCache <MyType>(Services.BuildServiceProvider()); cache.Add(typeof(MyType)); var result = cache.Get(); Assert.Equal(type1, result.First()); Assert.True(result.Count == 1); }
public async Task <IValidationResult> ValidateAsync(object @object, CancellationToken cancellationToken = default) { var errors = (await Task.WhenAll(validators.Get() .Select(async v => await v.ValidateAsync(new ValidationContext <object>(@object), cancellationToken)))) .SelectMany(r => r.Errors) .ToList(); if (errors.Any()) { return(FluentValidationsResult.Failure(errors)); } else { return(FluentValidationsResult.Succes()); } }