コード例 #1
0
        public virtual void Use_provider_method_is_generated_correctly()
        {
            var codeGenerator = new SqliteCodeGenerator(new ProviderCodeGeneratorDependencies());

            var result = codeGenerator.GenerateUseProvider("Data Source=Test");

            Assert.Equal("UseSqlite", result.Method);
            Assert.Collection(
                result.Arguments,
                a => Assert.Equal("Data Source=Test", a));
        }
コード例 #2
0
        public virtual void Use_provider_method_is_generated_correctly()
        {
            var codeGenerator = new SqliteCodeGenerator(
                new ProviderCodeGeneratorDependencies(
                    Enumerable.Empty <IProviderCodeGeneratorPlugin>()));

            var result = codeGenerator.GenerateUseProvider("Data Source=Test", providerOptions: null);

            Assert.Equal("UseSqlite", result.Method);
            Assert.Collection(
                result.Arguments,
                a => Assert.Equal("Data Source=Test", a));
            Assert.Null(result.ChainedCall);
        }
コード例 #3
0
        public virtual void Use_provider_method_is_generated_correctly_with_options()
        {
            var codeGenerator = new SqliteCodeGenerator(
                new ProviderCodeGeneratorDependencies(
                    Enumerable.Empty <IProviderCodeGeneratorPlugin>()));

            var providerOptions = new MethodCallCodeFragment(_setProviderOptionMethodInfo);

            var result = codeGenerator.GenerateUseProvider("Data Source=Test", providerOptions);

            Assert.Equal("UseSqlite", 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.Same(providerOptions, nestedClosure.MethodCalls[0]);
            });
            Assert.Null(result.ChainedCall);
        }