public virtual void Use_provider_method_is_generated_correctly() { var codeGenerator = new NpgsqlCodeGenerator( new ProviderCodeGeneratorDependencies( Enumerable.Empty <IProviderCodeGeneratorPlugin>())); var result = codeGenerator.GenerateUseProvider("Server=test;Username=test;Password=test;Database=test", providerOptions: null); Assert.Equal("UseNpgsql", result.Method); Assert.Collection( result.Arguments, a => Assert.Equal("Server=test;Username=test;Password=test;Database=test", a)); Assert.Null(result.ChainedCall); }
public virtual void Use_provider_method_is_generated_correctly_with_NodaTime() { var codeGenerator = new NpgsqlCodeGenerator( new ProviderCodeGeneratorDependencies( new[] { new NpgsqlNodaTimeCodeGeneratorPlugin() })); var result = ((IProviderConfigurationCodeGenerator)codeGenerator).GenerateUseProvider("Data Source=Test"); Assert.Equal("UseNpgsql", result.Method); Assert.Collection( result.Arguments, a => Assert.Equal("Data Source=Test", a), a => { var nestedClosure = Assert.IsType <NestedClosureCodeFragment>(a); Assert.Equal("x", nestedClosure.Parameter); Assert.Equal("UseNodaTime", nestedClosure.MethodCalls[0].Method); }); Assert.Null(result.ChainedCall); }
public virtual void Use_provider_method_is_generated_correctly_with_options() { var codeGenerator = new NpgsqlCodeGenerator( new ProviderCodeGeneratorDependencies( Enumerable.Empty <IProviderCodeGeneratorPlugin>())); var providerOptions = new MethodCallCodeFragment("SetProviderOption"); var result = codeGenerator.GenerateUseProvider("Server=test;Username=test;Password=test;Database=test", providerOptions); Assert.Equal("UseNpgsql", result.Method); Assert.Collection( result.Arguments, a => Assert.Equal("Server=test;Username=test;Password=test;Database=test", a), a => { var nestedClosure = Assert.IsType <NestedClosureCodeFragment>(a); Assert.Equal("x", nestedClosure.Parameter); Assert.Same(providerOptions, nestedClosure.MethodCall); }); Assert.Null(result.ChainedCall); }