public void Returns_in_memory_GUID_generator_for_GUID_types_setup_for_client_values() { var guidFactory = new SimpleValueGeneratorFactory <GuidValueGenerator>(); var selector = new ValueGeneratorSelector(guidFactory); Assert.Same(guidFactory, selector.Select(CreateProperty(typeof(Guid), ValueGenerationOnAdd.Client))); }
public void Returns_in_memory_GUID_generator_for_GUID_types_setup_for_client_values() { var guidFactory = new SimpleValueGeneratorFactory<GuidValueGenerator>(); var selector = new ValueGeneratorSelector(guidFactory); Assert.Same(guidFactory, selector.Select(CreateProperty(typeof(Guid), ValueGenerationOnAdd.Client))); }
public virtual IValueGenerator GetGenerator([NotNull] IProperty property) { Check.NotNull(property, "property"); var factory = _selector.Select(property); var pool = _cache.GetOrAdd(factory.GetCacheKey(property), k => CreatePool(property, factory)); return(pool.GetGenerator()); }
public void Throws_for_unsupported_combinations() { var selector = new ValueGeneratorSelector( new SimpleValueGeneratorFactory<GuidValueGenerator>()); var typeMock = new Mock<IEntityType>(); typeMock.Setup(m => m.Name).Returns("AnEntity"); var property = CreateProperty(typeof(Guid), ValueGenerationOnAdd.Server); Assert.Equal( Strings.FormatNoValueGenerator("server", "MyType", "MyProperty", "Guid"), Assert.Throws<NotSupportedException>(() => selector.Select(property)).Message); }
public void Throws_for_unsupported_combinations() { var selector = new ValueGeneratorSelector( new SimpleValueGeneratorFactory <GuidValueGenerator>()); var typeMock = new Mock <IEntityType>(); typeMock.Setup(m => m.Name).Returns("AnEntity"); var property = CreateProperty(typeof(Guid), ValueGenerationOnAdd.Server); Assert.Equal( Strings.FormatNoValueGenerator("server", "MyType", "MyProperty", "Guid"), Assert.Throws <NotSupportedException>(() => selector.Select(property)).Message); }
public virtual IValueGenerator GetGenerator([NotNull] IProperty property) { Check.NotNull(property, "property"); // TODO: Consider if a specific generator has been set on the property then use it instead var factory = _selector.Select(property); if (factory == null) { return(null); } var pool = _cache.GetOrAdd(factory.GetCacheKey(property), k => CreatePool(property, factory)); return(pool.GetGenerator()); }
public virtual IValueGenerator GetGenerator([NotNull] IProperty property) { Check.NotNull(property, "property"); if (property.IsForeignKey()) { return(_foreignKeyValueGenerator); } var factory = _selector.Select(property); if (factory == null) { return(null); } var pool = _cache.GetOrAdd(factory.GetCacheKey(property), k => CreatePool(property, factory)); return(pool.GetGenerator()); }
public void Returns_null_when_no_value_generation_configured() { var selector = new ValueGeneratorSelector(new SimpleValueGeneratorFactory <GuidValueGenerator>()); Assert.Null(selector.Select(CreateProperty(typeof(int), ValueGenerationOnAdd.None))); }
public void Returns_null_when_no_value_generation_configured() { var selector = new ValueGeneratorSelector(new SimpleValueGeneratorFactory<GuidValueGenerator>()); Assert.Null(selector.Select(CreateProperty(typeof(int), ValueGenerationOnAdd.None))); }