Пример #1
0
        public void TestAddColumn_DuplicateColumnName_Throws()
        {
            Schema schema = new Schema();

            schema.AddColumn(new StringColumn("Name"));
            schema.AddColumn(new Int32Column("name"));
        }
Пример #2
0
        static SimpleQueryTests()
        {
            repository = new Repository("SimpleQueryTests");
            schema = new Schema(repository, "news");
            schema.AddColumn(new Column()
            {
                Name = "Title",
                DataType = DataType.String,
                Length = 256
            });
            schema.AddColumn(new Column()
            {
                Name = "Comments",
                DataType = DataType.Int
            });

            folder = new TextFolder(repository, "news");
            folder.SchemaName = schema.Name;

            ProviderFactory providerFactory = new ProviderFactory();
            Providers.DefaultProviderFactory = providerFactory;
            providerFactory.GetProvider<IRepositoryProvider>().Add(repository);
            providerFactory.GetProvider<ISchemaProvider>().Add(schema);
            providerFactory.GetProvider<ITextFolderProvider>().Add(folder);

            InitializeData();
        }
Пример #3
0
        static SimpleQueryTests()
        {
            repository = new Repository("SimpleQueryTests");
            schema     = new Schema(repository, "news");
            schema.AddColumn(new Column()
            {
                Name     = "Title",
                DataType = Kooboo.Data.DataType.String,
                Length   = 256
            });
            schema.AddColumn(new Column()
            {
                Name     = "Comments",
                DataType = Kooboo.Data.DataType.Int
            });

            folder            = new TextFolder(repository, "news");
            folder.SchemaName = schema.Name;

            ProviderFactory providerFactory = new ProviderFactory();

            Providers.DefaultProviderFactory = providerFactory;
            providerFactory.GetProvider <IRepositoryProvider>().Add(repository);
            providerFactory.GetProvider <ISchemaProvider>().Add(schema);
            providerFactory.GetProvider <ITextFolderProvider>().Add(folder);

            InitializeData();
        }
Пример #4
0
 public TextContentBinderTests()
 {
     schema = new Schema()
     {
         IsDummy = false
     };
     schema.AddColumn(new Column()
     {
         Name        = "Title",
         DataType    = DataType.String,
         ControlType = "TextBox",
         Validations = new ColumnValidation[] { new RequiredValidation()
                                                {
                                                    ErrorMessage = "The field is requried"
                                                } }
     });
     schema.AddColumn(new Column()
     {
         Name        = "Body",
         DataType    = DataType.String,
         ControlType = "TextBox"
     });
     schema.AddColumn(new Column()
     {
         Name        = "Comments",
         DataType    = DataType.Int,
         ControlType = "TextBox"
     });
     schema.AddColumn(new Column()
     {
         Name        = "PostDate",
         DataType    = DataType.DateTime,
         ControlType = "TextBox"
     });
 }
Пример #5
0
        public void OnIncluded(Site site)
        {
            var repository = site.AsActual().GetRepository();

            if (repository != null)
            {
                //import the content types. the zip file contains "Category" content type.
                //var contentTypePath = new ModulePathHelper(ModuleAreaRegistration.ModuleName).GetModuleInstallationFilePath("ContentType.zip");
                //if (File.Exists(contentTypePath.PhysicalPath))
                //{
                //    using (FileStream fs = new FileStream(contentTypePath.PhysicalPath, FileMode.Open, FileAccess.Read, FileShare.Read))
                //    {
                //        _schemaManager.Import(repository, fs, true);
                //    }
                //}
                Schema productSchema = new Schema(repository, "Product");
                productSchema.AddColumn("ProductName", "TextBox", DataType.String, "", true, true);
                productSchema.AddColumn("ProductDetail", "Tinymce", DataType.String, "", false, true);
                if (productSchema.AsActual() == null)
                {
                    _schemaManager.Add(repository, productSchema);
                }

                TextFolder productFolder = new TextFolder(repository, "Product")
                {
                    SchemaName = "Product"
                };
                if (productFolder.AsActual() == null)
                {
                    _textFolderManager.Add(repository, productFolder);
                }
            }
        }
Пример #6
0
        public QueryTests()
        {
            EmptyUserKeyGenerator.DefaultGenerator = new EmptyUserKeyGenerator();
            Providers.DefaultProviderFactory = new MongoDB.ProviderFactory();

            repository = new Repository(Kooboo.UniqueIdGenerator.GetInstance().GetBase32UniqueId(10).ToString());
            Providers.DefaultProviderFactory.GetProvider<IRepositoryProvider>().Add(repository);
            categorySchema = new Schema(repository, "category") { IsDummy = false };
            categorySchema.AddColumn(new Column() { Name = "Title" });
            categoryFolder = new TextFolder(repository, "Category") { SchemaName = categorySchema.Name, IsDummy = false };
            Providers.DefaultProviderFactory.GetProvider<ITextFolderProvider>().Add(categoryFolder);

            newsSchema = new Schema(repository, "News") { IsDummy = false };
            newsSchema.AddColumn(new Column() { Name = "title", DataType = Data.DataType.String });
            newsSchema.AddColumn(new Column() { Name = "Body", DataType = Data.DataType.String });
            newsSchema.AddColumn(new Column() { Name = "Comments", DataType = Data.DataType.Int });
            Providers.DefaultProviderFactory.GetProvider<ISchemaProvider>().Add(newsSchema);

            newsFolder = new TextFolder(repository, "News") { SchemaName = newsSchema.Name, Categories = new List<CategoryFolder>() { new CategoryFolder() { FolderName = categoryFolder.FullName, SingleChoice = false } }, OrderSetting = new OrderSetting() { FieldName = "Sequence", Direction = OrderDirection.Descending } };
            Providers.DefaultProviderFactory.GetProvider<ITextFolderProvider>().Add(newsFolder);

            commentSchema = new Schema(repository, "Comment") { IsDummy = false };
            commentSchema.AddColumn(new Column() { Name = "Title" });
            Providers.DefaultProviderFactory.GetProvider<ISchemaProvider>().Add(commentSchema);

            category1 = new TextContent(repository.Name, categorySchema.Name, categoryFolder.FullName);
            category1["title"] = "category1";
            provider.Add(category1);

            category2 = new TextContent(repository.Name, categorySchema.Name, categoryFolder.FullName);
            category2["title"] = "category2";
            provider.Add(category2);

            newsContent = new TextContent(repository.Name, newsSchema.Name, newsFolder.FullName);
            newsContent["title"] = "news1";
            newsContent["body"] = "body";
            newsContent["comments"] = 1;
            provider.Add(newsContent);

            news2 = new TextContent(repository.Name, newsSchema.Name, newsFolder.FullName);
            news2["title"] = "news2";
            news2["body"] = "body";
            news2["comments"] = 0;
            provider.Add(news2);

            news3 = new TextContent(repository.Name, newsSchema.Name, newsFolder.FullName);
            news3["title"] = "news2";
            news3["body"] = "body";
            news3["comments"] = 5;
            provider.Add(news3);

            provider.AddCategories(newsContent, new Category() { ContentUUID = newsContent.UUID, CategoryUUID = category1.UUID, CategoryFolder = category1.FolderName });
            provider.AddCategories(newsContent, new Category() { ContentUUID = newsContent.UUID, CategoryUUID = category2.UUID, CategoryFolder = category2.FolderName });

            commenContent = new TextContent(repository.Name, commentSchema.Name, "");
            commenContent.ParentFolder = newsContent.FolderName;
            commenContent.ParentUUID = newsContent.UUID;
            commenContent["title"] = "comment1";
            provider.Add(commenContent);
        }
Пример #7
0
 public TextContentBinderTests()
 {
     schema = new Schema() { IsDummy = false };
     schema.AddColumn(new Column()
     {
         Name = "Title",
         DataType = DataType.String,
         ControlType = "TextBox",
         Validations = new ColumnValidation[] { new RequiredValidation() { ErrorMessage = "The field is requried" } }
     });
     schema.AddColumn(new Column()
         {
             Name = "Body",
             DataType = DataType.String,
             ControlType = "TextBox"
         });
     schema.AddColumn(new Column()
     {
         Name = "Comments",
         DataType = DataType.Int,
         ControlType = "TextBox"
     });
     schema.AddColumn(new Column()
     {
         Name = "PostDate",
         DataType = DataType.DateTime,
         ControlType = "TextBox"
     });
 }
Пример #8
0
        static ParentQueryTests()
        {
            repository = new Repository("ParentQueryTests");

            commentSchema = new Schema(repository, "comments");
            commentSchema.AddColumn(new Column() { Name = "title", DataType = Kooboo.Data.DataType.String, Length = 256 });


            newsSchema = new Schema(repository, "news") { ChildSchemas = new[] { commentSchema.Name } };
            newsSchema.AddColumn(new Column()
            {
                Name = "Title",
                DataType = Kooboo.Data.DataType.String,
                Length = 256
            });
            newsSchema.AddColumn(new Column()
            {
                Name = "Comments",
                DataType = Kooboo.Data.DataType.Int
            });

            newsFolder = new TextFolder(repository, "news") { SchemaName = newsSchema.Name };

            ProviderFactory providerFactory = new ProviderFactory();
            Providers.DefaultProviderFactory = providerFactory;
            providerFactory.GetProvider<IRepositoryProvider>().Add(repository);
            providerFactory.GetProvider<ISchemaProvider>().Add(commentSchema);
            providerFactory.GetProvider<ISchemaProvider>().Add(newsSchema);
            providerFactory.GetProvider<ITextFolderProvider>().Add(newsFolder);
            InitializeData();
        }
Пример #9
0
        static CategoriesQueryTests()
        {
            repository = new Repository("CategoriesQueryTests");

            categorySchema = new Schema(repository, "category");
            categorySchema.AddColumn(new Column() { Name = "title", DataType = DataType.String, Length = 256 });

            categoryFolder = new TextFolder(repository, "category") { SchemaName = categorySchema.Name };

            newsSchema = new Schema(repository, "news");
            newsSchema.AddColumn(new Column()
            {
                Name = "Title",
                DataType = DataType.String,
                Length = 256
            });
            newsSchema.AddColumn(new Column()
            {
                Name = "Comments",
                DataType = DataType.Int
            });

            newsFolder = new TextFolder(repository, "news") { SchemaName = newsSchema.Name, CategoryFolders = new[] { categoryFolder.Name } };

            ProviderFactory providerFactory = new ProviderFactory();
            Providers.DefaultProviderFactory = providerFactory;
            providerFactory.GetProvider<IRepositoryProvider>().Add(repository);
            providerFactory.GetProvider<ISchemaProvider>().Add(categorySchema);
            providerFactory.GetProvider<ISchemaProvider>().Add(newsSchema);
            providerFactory.GetProvider<ITextFolderProvider>().Add(newsFolder);
            providerFactory.GetProvider<ITextFolderProvider>().Add(categoryFolder);
            InitializeData();
        }
Пример #10
0
        public TextContentProviderTest()
        {
            repository = new Repository("TextContentProviderTest");

            newsSchema = new Schema(repository, "News");
            newsSchema.AddColumn(new Column()
            {
                Name = "title", DataType = Common.DataType.String
            });
            newsSchema.AddColumn(new Column()
            {
                Name = "Body", DataType = Common.DataType.String
            });
            schemaProvider.Initialize(newsSchema);

            textFolder = new TextFolder(repository, "News")
            {
                SchemaName = newsSchema.Name
            };

            news1          = new TextContent(repository.Name, newsSchema.Name, textFolder.FullName);
            news1["Title"] = "title1";
            news1["body"]  = "body1";

            category1          = new TextContent(repository.Name, "category", "category");
            category1["Title"] = "category1";

            categories = new Category[] { new Category()
                                          {
                                              ContentUUID = news1.UUID, CategoryFolder = category1.FolderName, CategoryUUID = category1.UUID
                                          } };
        }
Пример #11
0
        public void TestAdd()
        {
            Schema schema = new Schema(repository, "news") { IsDummy = false };

            schema.AddColumn(new Column()
            {
                Name = "Title",
                DataType = DataType.String,
                Length = 100
            });

            //add
            SchemaManager.Add(schema);

            Schema newSchema = new Schema(repository, "news") { IsDummy = false };

            newSchema.AddColumn(new Column()
            {
                Name = "Title",
                DataType = DataType.String,
                Length = 100
            });

            newSchema.AddColumn(new Column()
            {
                Name = "Body",
                DataType = DataType.String,
                Length = 256
            });
            newSchema.AddColumn(new Column()
            {
                Name = "Comments",
                DataType = DataType.Int
            });
            //add column
            SchemaManager.Update(newSchema, schema);

            //remove column
            Schema lastSchema = new Schema(repository, "news") { IsDummy = false };

            lastSchema.AddColumn(new Column()
            {
                Name = "Title",
                DataType = DataType.String,
                Length = 100
            });

            lastSchema.AddColumn(new Column()
            {
                Name = "Body",
                DataType = DataType.String,
                Length = 256
            });

            //add column
            SchemaManager.Update(lastSchema, newSchema);

            SchemaManager.Delete(lastSchema);

        }
Пример #12
0
        public InsertUpdateDeleteTests()
        {
            repository = new Repository("InsertUpdateDeleteTests");
            newsSchema = new Schema(repository, "News");
            newsSchema.AddColumn(new Column() { Name = "title", DataType = Data.DataType.String });
            newsSchema.AddColumn(new Column() { Name = "Body", DataType = Data.DataType.String });
            textFolder = new TextFolder(repository, "News") { SchemaName = newsSchema.Name };

            EmptyUserKeyGenerator.DefaultGenerator = new EmptyUserKeyGenerator();
        }
        public QueryTests()
        {
            EmptyUserKeyGenerator.DefaultGenerator = new EmptyUserKeyGenerator();
            Providers.DefaultProviderFactory = new RavenDB.ProviderFactory();
            Database.Current = new EmbeddedDatabase();

            repository = new Repository(Guid.NewGuid().ToString());
            Providers.DefaultProviderFactory.GetProvider<IRepositoryProvider>().Add(repository);

            categorySchema = new Schema(repository, "category") { IsDummy = false };
            categorySchema.AddColumn(new Column() { Name = "Title" });
            Providers.DefaultProviderFactory.GetProvider<ISchemaProvider>().Add(categorySchema);
            categoryFolder = new TextFolder(repository, "Category") { SchemaName = categorySchema.Name, IsDummy = false };
            Providers.DefaultProviderFactory.GetProvider<ITextFolderProvider>().Add(categoryFolder);

            newsSchema = new Schema(repository, "News") { IsDummy = false };
            newsSchema.AddColumn(new Column() { Name = "title", DataType = Data.DataType.String });
            newsSchema.AddColumn(new Column() { Name = "Body", DataType = Data.DataType.String });
            newsSchema.AddColumn(new Column() { Name = "Comments", DataType = Data.DataType.Int });
            Providers.DefaultProviderFactory.GetProvider<ISchemaProvider>().Add(newsSchema);
            newsFolder = new TextFolder(repository, "News") { SchemaName = newsSchema.Name, CategoryFolders = new[] { categoryFolder.FullName }, IsDummy = false };
            Providers.DefaultProviderFactory.GetProvider<ITextFolderProvider>().Add(newsFolder);

            commentSchema = new Schema(repository, "Comment") { IsDummy = false };
            commentSchema.AddColumn(new Column() { Name = "Title" });
            Providers.DefaultProviderFactory.GetProvider<ISchemaProvider>().Add(commentSchema);

            category1 = new TextContent(repository.Name, categorySchema.Name, categoryFolder.FullName);
            category1["title"] = "category1";
            provider.Add(category1);

            category2 = new TextContent(repository.Name, categorySchema.Name, categoryFolder.FullName);
            category2["title"] = "category2";
            provider.Add(category2);

            newsContent = new TextContent(repository.Name, newsSchema.Name, newsFolder.FullName);
            newsContent["title"] = "news1";
            newsContent["body"] = "body";
            newsContent["comments"] = 10;
            provider.Add(newsContent);

            provider.AddCategories(newsContent, new Category() { ContentUUID = newsContent.UUID, CategoryUUID = category1.UUID, CategoryFolder = category1.FolderName });
            provider.AddCategories(newsContent, new Category() { ContentUUID = newsContent.UUID, CategoryUUID = category2.UUID, CategoryFolder = category2.FolderName });

            commenContent = new TextContent(repository.Name, commentSchema.Name, "");
            commenContent.ParentUUID = newsContent.UUID;
            commenContent["title"] = "comment1";
            provider.Add(commenContent);
        }
        public InsertUpdateDeleteTests()
        {
            EmptyUserKeyGenerator.DefaultGenerator = new EmptyUserKeyGenerator();
            Providers.DefaultProviderFactory = new RavenDB.ProviderFactory();

            repository = new Repository("InsertUpdateDeleteTests");
            Providers.DefaultProviderFactory.GetProvider<IRepositoryProvider>().Add(repository);

            newsSchema = new Schema(repository, "News");
            newsSchema.AddColumn(new Column() { Name = "title", DataType = Data.DataType.String });
            newsSchema.AddColumn(new Column() { Name = "Body", DataType = Data.DataType.String });
            Providers.DefaultProviderFactory.GetProvider<ISchemaProvider>().Add(newsSchema);

            textFolder = new TextFolder(repository, "News") { SchemaName = newsSchema.Name };
            Providers.DefaultProviderFactory.GetProvider<ITextFolderProvider>().Add(textFolder);
        }
Пример #15
0
        public void TestReadFlatFile_SchemaProvided_TypesUsed()
        {
            const string text   = @"123,Bob,12/31/2012,3.14159";
            Stream       stream = new MemoryStream(Encoding.Default.GetBytes(text));
            DataTable    table  = new DataTable();
            Schema       schema = new Schema();

            schema.AddColumn(new Int32Column("id"))
            .AddColumn(new StringColumn("name"))
            .AddColumn(new DateTimeColumn("created"))
            .AddColumn(new DoubleColumn("avg"));
            IParser parser = new SeparatedValueParser(stream, schema);

            table.ReadFlatFile(parser);
            Assert.AreEqual(4, table.Columns.Count, "The wrong number of columns were extracted.");
            Assert.IsTrue(table.Columns.Contains("id"), "The ID column was not extracted.");
            Assert.IsTrue(table.Columns.Contains("name"), "The name column was not extracted.");
            Assert.IsTrue(table.Columns.Contains("created"), "The created column was not extracted.");
            Assert.IsTrue(table.Columns.Contains("avg"), "The AVG column was not extracted.");
            Assert.AreEqual(1, table.Rows.Count, "Not all of the records were extracted.");
            DataRow row = table.Rows[0];

            object[] expected = new object[] { 123, "Bob", new DateTime(2012, 12, 31), 3.14159 };
            object[] values   = row.ItemArray;
            CollectionAssert.AreEqual(expected, values, "The wrong values were extracted");
        }
Пример #16
0
        public void TestParseValues_WrongNumber_Throws()
        {
            Schema schema = new Schema();

            schema.AddColumn(new StringColumn("name"));
            schema.ParseValues(new string[] { "bob", "smith" });
        }
Пример #17
0
        public void TestColumnDefinitions_WithColumns_CountEqualsColumnCount()
        {
            Schema schema = new Schema();

            schema.AddColumn(new Int32Column("id")).AddColumn(new StringColumn("name")).AddColumn(new DateTimeColumn("created"));
            ColumnCollection collection = schema.ColumnDefinitions;

            Assert.AreEqual(3, collection.Count, "The column collection count was wrong.");
        }
Пример #18
0
 public void TestColumnDefinitions_GetEnumerable_Explicit()
 {
     Schema schema = new Schema();
     ColumnDefinition id = new Int32Column("id");
     ColumnDefinition name = new StringColumn("name");
     ColumnDefinition created = new DateTimeColumn("created");
     schema.AddColumn(id).AddColumn(name).AddColumn(created);
     IEnumerable collection = schema.ColumnDefinitions;
     IEnumerator enumerator = collection.GetEnumerator();
 }
Пример #19
0
        public InsertUpdateDeleteTests()
        {
            repository = new Repository("InsertUpdateDeleteTests");
            newsSchema = new Schema(repository, "News");
            newsSchema.AddColumn(new Column()
            {
                Name = "title", DataType = Data.DataType.String
            });
            newsSchema.AddColumn(new Column()
            {
                Name = "Body", DataType = Data.DataType.String
            });
            textFolder = new TextFolder(repository, "News")
            {
                SchemaName = newsSchema.Name
            };

            EmptyUserKeyGenerator.DefaultGenerator = new EmptyUserKeyGenerator();
        }
Пример #20
0
        static CategorizablesQueryTests()
        {
            repository = new Repository("CategorizablesQueryTests");

            categorySchema = new Schema(repository, "category");
            categorySchema.AddColumn(new Column()
            {
                Name = "title", DataType = Kooboo.Data.DataType.String, Length = 256
            });

            categoryFolder = new TextFolder(repository, "category")
            {
                SchemaName = categorySchema.Name
            };

            newsSchema = new Schema(repository, "news");
            newsSchema.AddColumn(new Column()
            {
                Name     = "Title",
                DataType = Kooboo.Data.DataType.String,
                Length   = 256
            });
            newsSchema.AddColumn(new Column()
            {
                Name     = "Comments",
                DataType = Kooboo.Data.DataType.Int
            });

            newsFolder = new TextFolder(repository, "news")
            {
                SchemaName = newsSchema.Name, CategoryFolders = new[] { categoryFolder.Name }
            };

            ProviderFactory providerFactory = new ProviderFactory();

            Providers.DefaultProviderFactory = providerFactory;
            providerFactory.GetProvider <IRepositoryProvider>().Add(repository);
            providerFactory.GetProvider <ISchemaProvider>().Add(categorySchema);
            providerFactory.GetProvider <ISchemaProvider>().Add(newsSchema);
            providerFactory.GetProvider <ITextFolderProvider>().Add(newsFolder);
            providerFactory.GetProvider <ITextFolderProvider>().Add(categoryFolder);
            InitializeData();
        }
Пример #21
0
        public TextContentProviderTest()
        {
            repository = new Repository("TextContentProviderTest");

            newsSchema = new Schema(repository, "News");
            newsSchema.AddColumn(new Column() { Name = "title", DataType = Common.DataType.String });
            newsSchema.AddColumn(new Column() { Name = "Body", DataType = Common.DataType.String });
            schemaProvider.Initialize(newsSchema);

            textFolder = new TextFolder(repository, "News") { SchemaName = newsSchema.Name };

            news1 = new TextContent(repository.Name, newsSchema.Name, textFolder.FullName);
            news1["Title"] = "title1";
            news1["body"] = "body1";

            category1 = new TextContent(repository.Name, "category", "category");
            category1["Title"] = "category1";

            categories = new Category[] { new Category() { ContentUUID = news1.UUID, CategoryFolder = category1.FolderName, CategoryUUID = category1.UUID } };
        }
Пример #22
0
        public void TestColumnDefinitions_GetEnumerable_Explicit()
        {
            Schema           schema  = new Schema();
            ColumnDefinition id      = new Int32Column("id");
            ColumnDefinition name    = new StringColumn("name");
            ColumnDefinition created = new DateTimeColumn("created");

            schema.AddColumn(id).AddColumn(name).AddColumn(created);
            IEnumerable collection = schema.ColumnDefinitions;
            IEnumerator enumerator = collection.GetEnumerator();
        }
Пример #23
0
        static ChildrenQueryTests()
        {
            repository = new Repository("ChildrenQueryTests");

            commentSchema = new Schema(repository, "comments");
            commentSchema.AddColumn(new Column()
            {
                Name = "title", DataType = DataType.String, Length = 256
            });


            newsSchema = new Schema(repository, "news")
            {
                ChildSchemas = new[] { commentSchema.Name }
            };
            newsSchema.AddColumn(new Column()
            {
                Name     = "Title",
                DataType = DataType.String,
                Length   = 256
            });
            newsSchema.AddColumn(new Column()
            {
                Name     = "Comments",
                DataType = DataType.Int
            });

            newsFolder = new TextFolder(repository, "news")
            {
                SchemaName = newsSchema.Name
            };

            ProviderFactory providerFactory = new ProviderFactory();

            Providers.DefaultProviderFactory = providerFactory;
            providerFactory.GetProvider <IRepositoryProvider>().Add(repository);
            providerFactory.GetProvider <ISchemaProvider>().Add(commentSchema);
            providerFactory.GetProvider <ISchemaProvider>().Add(newsSchema);
            providerFactory.GetProvider <ITextFolderProvider>().Add(newsFolder);
            InitializeData();
        }
Пример #24
0
 public void TestColumnDefinitions_FindByIndex()
 {
     Schema schema = new Schema();
     ColumnDefinition id = new Int32Column("id");
     ColumnDefinition name = new StringColumn("name");
     ColumnDefinition created = new DateTimeColumn("created");
     schema.AddColumn(id).AddColumn(name).AddColumn(created);
     ColumnCollection collection = schema.ColumnDefinitions;
     Assert.AreSame(id, collection[0], "The first column definition was wrong.");
     Assert.AreSame(name, collection[1], "The second column definition was wrong.");
     Assert.AreSame(created, collection[2], "The third column definition was wrong.");
 }
        public void TestGetSchema_SchemaProvided_WrongNumberOfColumns_Throws()
        {
            const string text   = @"123,Bob";
            Schema       schema = new Schema();

            schema.AddColumn(new Int32Column("id"))
            .AddColumn(new StringColumn("name"))
            .AddColumn(new DateTimeColumn("created"));
            SeparatedValueParser parser = new SeparatedValueParser(new MemoryStream(Encoding.Default.GetBytes(text)), schema);

            parser.Read();
        }
Пример #26
0
        public void TestColumnDefinitions_FindByIndex()
        {
            Schema           schema  = new Schema();
            ColumnDefinition id      = new Int32Column("id");
            ColumnDefinition name    = new StringColumn("name");
            ColumnDefinition created = new DateTimeColumn("created");

            schema.AddColumn(id).AddColumn(name).AddColumn(created);
            ColumnCollection collection = schema.ColumnDefinitions;

            Assert.AreSame(id, collection[0], "The first column definition was wrong.");
            Assert.AreSame(name, collection[1], "The second column definition was wrong.");
            Assert.AreSame(created, collection[2], "The third column definition was wrong.");
        }
        public void TestGetSchema_SchemaProvided_ParsesValues()
        {
            const string text   = @"123,Bob,1/19/2013";
            Schema       schema = new Schema();

            schema.AddColumn(new Int32Column("id"))
            .AddColumn(new StringColumn("name"))
            .AddColumn(new DateTimeColumn("created"));
            SeparatedValueParser parser = new SeparatedValueParser(new MemoryStream(Encoding.Default.GetBytes(text)), schema);

            Assert.IsTrue(parser.Read(), "The first record was skipped.");
            object[] actual   = parser.GetValues();
            object[] expected = new object[] { 123, "Bob", new DateTime(2013, 1, 19) };
            CollectionAssert.AreEqual(expected, actual, "The values were not parsed as expected.");
        }
Пример #28
0
        public WhereClauseParserTests()
        {
            var mockValueProvider = new Mock <IValueProvider>();

            valueProvider   = mockValueProvider.Object;
            translatedQuery = new TranslatedQueryMock();

            schema = new Schema()
            {
                IsDummy = false
            };
            schema.AddColumn(new Column()
            {
                Name = "title", DataType = Common.DataType.String
            });
            schema.AddColumn(new Column()
            {
                Name = "body", DataType = Common.DataType.String
            });
            schema.AddColumn(new Column()
            {
                Name = "userkey", DataType = Common.DataType.String
            });
        }
Пример #29
0
        public void TestParseValues_ParsesValues()
        {
            Schema schema = new Schema();

            schema.AddColumn(new StringColumn("first_name"))
            .AddColumn(new StringColumn("last_name"))
            .AddColumn(new DateTimeColumn("birth_date")
            {
                DateTimeFormat = "yyyyMMdd"
            })
            .AddColumn(new Int32Column("weight"));
            string[] values   = new string[] { "bob", "smith", "20120123", "185" };
            object[] parsed   = schema.ParseValues(values);
            object[] expected = new object[] { "bob", "smith", new DateTime(2012, 1, 23), 185 };
            CollectionAssert.AreEqual(expected, parsed, "The values were not parsed as expected.");
        }
Пример #30
0
        public static Column AddColumn(this Schema schema, string columnName, string controlType, DataType dataType,
                                       string label = null, bool showInGrid = false, bool summarize = false, string tooltip = null)
        {
            Column column = new Column()
            {
                Name        = columnName,
                Label       = label,
                ControlType = controlType,
                DataType    = dataType,
                ShowInGrid  = showInGrid,
                Summarize   = summarize,
                Tooltip     = tooltip
            };

            schema.AddColumn(column);
            return(column);
        }
        public void TestGetSchema_SchemaProvided_FirstRecordSchema_SkipsFirstRecord()
        {
            const string text   = @"id,name,created";
            Schema       schema = new Schema();

            schema.AddColumn(new Int32Column("id"))
            .AddColumn(new StringColumn("name"))
            .AddColumn(new DateTimeColumn("created"));
            SeparatedValueParserOptions options = new SeparatedValueParserOptions()
            {
                IsFirstRecordSchema = true
            };
            IParser parser = new SeparatedValueParser(new MemoryStream(Encoding.Default.GetBytes(text)), schema, options);
            Schema  actual = parser.GetSchema();

            Assert.AreSame(schema, actual, "The schema was passed did not take priority.");
            Assert.IsFalse(parser.Read(), "The schema record was not skipped.");
        }
 public void TestGetSchema_SchemaProvided_ParsesValues()
 {
     const string text = @"123,Bob,1/19/2013";
     Schema schema = new Schema();
     schema.AddColumn(new Int32Column("id"))
           .AddColumn(new StringColumn("name"))
           .AddColumn(new DateTimeColumn("created"));
     SeparatedValueParser parser = new SeparatedValueParser(new MemoryStream(Encoding.Default.GetBytes(text)), schema);
     Assert.IsTrue(parser.Read(), "The first record was skipped.");
     object[] actual = parser.GetValues();
     object[] expected = new object[] { 123, "Bob", new DateTime(2013, 1, 19) };
     CollectionAssert.AreEqual(expected, actual, "The values were not parsed as expected.");
 }
Пример #33
0
        public void TestAdd()
        {
            Schema schema = new Schema(repository, "news")
            {
                IsDummy = false
            };

            schema.AddColumn(new Column()
            {
                Name     = "Title",
                DataType = DataType.String,
                Length   = 100
            });

            //add
            SchemaManager.Add(schema);

            Schema newSchema = new Schema(repository, "news")
            {
                IsDummy = false
            };

            newSchema.AddColumn(new Column()
            {
                Name     = "Title",
                DataType = DataType.String,
                Length   = 100
            });

            newSchema.AddColumn(new Column()
            {
                Name     = "Body",
                DataType = DataType.String,
                Length   = 256
            });
            newSchema.AddColumn(new Column()
            {
                Name     = "Comments",
                DataType = DataType.Int
            });
            //add column
            SchemaManager.Update(newSchema, schema);

            //remove column
            Schema lastSchema = new Schema(repository, "news")
            {
                IsDummy = false
            };

            lastSchema.AddColumn(new Column()
            {
                Name     = "Title",
                DataType = DataType.String,
                Length   = 100
            });

            lastSchema.AddColumn(new Column()
            {
                Name     = "Body",
                DataType = DataType.String,
                Length   = 256
            });

            //add column
            SchemaManager.Update(lastSchema, newSchema);

            SchemaManager.Delete(lastSchema);
        }
Пример #34
0
        public void TestAddColumn_NullDefinition_Throws()
        {
            Schema schema = new Schema();

            schema.AddColumn(null);
        }
 public void TestGetSchema_SchemaProvided_WrongNumberOfColumns_Throws()
 {
     const string text = @"123,Bob";
     Schema schema = new Schema();
     schema.AddColumn(new Int32Column("id"))
           .AddColumn(new StringColumn("name"))
           .AddColumn(new DateTimeColumn("created"));
     SeparatedValueParser parser = new SeparatedValueParser(new MemoryStream(Encoding.Default.GetBytes(text)), schema);
     parser.Read();
 }
Пример #36
0
 public override void Up()
 {
     Schema.AddColumn("users", "rofl", typeof(string), 500, false, false);
 }
Пример #37
0
 public void TestParseValues_ParsesValues()
 {
     Schema schema = new Schema();
     schema.AddColumn(new StringColumn("first_name"))
           .AddColumn(new StringColumn("last_name"))
           .AddColumn(new DateTimeColumn("birth_date") { DateTimeFormat = "yyyyMMdd" })
           .AddColumn(new Int32Column("weight"));
     string[] values = new string[] { "bob", "smith", "20120123", "185" };
     object[] parsed = schema.ParseValues(values);
     object[] expected = new object[] { "bob", "smith", new DateTime(2012, 1, 23), 185 };
     CollectionAssert.AreEqual(expected, parsed, "The values were not parsed as expected.");
 }
 public void TestGetSchema_SchemaProvided_FirstRecordSchema_SkipsFirstRecord()
 {
     const string text = @"id,name,created";
     Schema schema = new Schema();
     schema.AddColumn(new Int32Column("id"))
           .AddColumn(new StringColumn("name"))
           .AddColumn(new DateTimeColumn("created"));
     SeparatedValueParserOptions options = new SeparatedValueParserOptions() { IsFirstRecordSchema = true };
     IParser parser = new SeparatedValueParser(new MemoryStream(Encoding.Default.GetBytes(text)), schema, options);
     Schema actual = parser.GetSchema();
     Assert.AreSame(schema, actual, "The schema was passed did not take priority.");
     Assert.IsFalse(parser.Read(), "The schema record was not skipped.");
 }
Пример #39
0
 public void TestColumnDefinitions_WithColumns_CountEqualsColumnCount()
 {
     Schema schema = new Schema();
     schema.AddColumn(new Int32Column("id")).AddColumn(new StringColumn("name")).AddColumn(new DateTimeColumn("created"));
     ColumnCollection collection = schema.ColumnDefinitions;
     Assert.AreEqual(3, collection.Count, "The column collection count was wrong.");
 }
Пример #40
0
        public void OnIncluded(ModuleContext moduleContext)
        {
            var repository = moduleContext.Site.AsActual().GetRepository();
            if (repository != null)
            {
                //import the content types. the zip file contains "Category" content type.
                //var contentTypePath = new ModulePathHelper(ModuleAreaRegistration.ModuleName).GetModuleInstallationFilePath("ContentType.zip");
                //if (File.Exists(contentTypePath.PhysicalPath))
                //{
                //    using (FileStream fs = new FileStream(contentTypePath.PhysicalPath, FileMode.Open, FileAccess.Read, FileShare.Read))
                //    {
                //        _schemaManager.Import(repository, fs, true);
                //    }
                //}
                Schema productSchema = new Schema(repository, "Product");
                productSchema.AddColumn("ProductName", "TextBox", DataType.String, "", true, true);
                productSchema.AddColumn("ProductDetail", "Tinymce", DataType.String, "", false, true);
                if (productSchema.AsActual() == null)
                {
                    _schemaManager.Add(repository, productSchema);
                }

                TextFolder productFolder = new TextFolder(repository, "Product")
                {
                    SchemaName = "Product"
                };
                if (productFolder.AsActual() == null)
                {
                    _textFolderManager.Add(repository, productFolder);
                }
            }
        }
Пример #41
0
 public void TestAddColumn_NullDefinition_Throws()
 {
     Schema schema = new Schema();
     schema.AddColumn(null);
 }
Пример #42
0
        public QueryTests()
        {
            EmptyUserKeyGenerator.DefaultGenerator = new EmptyUserKeyGenerator();

            repository = new Repository(Guid.NewGuid().ToString());
            Providers.DefaultProviderFactory.GetProvider <IRepositoryProvider>().Add(repository);

            repository = new Repository(Guid.NewGuid().ToString());
            Providers.DefaultProviderFactory.GetProvider <IRepositoryProvider>().Add(repository);

            categorySchema = new Schema(repository, "category")
            {
                IsDummy = false
            };
            categorySchema.AddColumn(new Column()
            {
                Name = "Title"
            });
            Providers.DefaultProviderFactory.GetProvider <ISchemaProvider>().Add(categorySchema);
            categoryFolder = new TextFolder(repository, "Category")
            {
                SchemaName = categorySchema.Name, IsDummy = false
            };
            Providers.DefaultProviderFactory.GetProvider <ITextFolderProvider>().Add(categoryFolder);

            newsSchema = new Schema(repository, "News")
            {
                IsDummy = false
            };
            newsSchema.AddColumn(new Column()
            {
                Name = "title", DataType = Data.DataType.String
            });
            newsSchema.AddColumn(new Column()
            {
                Name = "Body", DataType = Data.DataType.String
            });
            newsSchema.AddColumn(new Column()
            {
                Name = "Comments", DataType = Data.DataType.Int
            });
            Providers.DefaultProviderFactory.GetProvider <ISchemaProvider>().Add(newsSchema);
            newsFolder = new TextFolder(repository, "News")
            {
                SchemaName = newsSchema.Name, Categories = new List <CategoryFolder>()
                {
                    new CategoryFolder()
                    {
                        FolderName = categoryFolder.FullName, SingleChoice = false
                    }
                }, OrderSetting = new OrderSetting()
                {
                    FieldName = "Sequence", Direction = OrderDirection.Descending
                }
            };
            Providers.DefaultProviderFactory.GetProvider <ITextFolderProvider>().Add(newsFolder);

            commentSchema = new Schema(repository, "Comment")
            {
                IsDummy = false
            };
            commentSchema.AddColumn(new Column()
            {
                Name = "Title"
            });
            Providers.DefaultProviderFactory.GetProvider <ISchemaProvider>().Add(commentSchema);

            categoryContent          = new TextContent(repository.Name, categorySchema.Name, categoryFolder.FullName);
            categoryContent["title"] = "category1";
            provider.Add(categoryContent);

            newsContent             = new TextContent(repository.Name, newsSchema.Name, newsFolder.FullName);
            newsContent["title"]    = "news1";
            newsContent["body"]     = "body";
            newsContent["comments"] = 1;
            provider.Add(newsContent);

            news2             = new TextContent(repository.Name, newsSchema.Name, newsFolder.FullName);
            news2["title"]    = "news2";
            news2["body"]     = "body2";
            news2["comments"] = 0;
            provider.Add(news2);

            news3             = new TextContent(repository.Name, newsSchema.Name, newsFolder.FullName);
            news3["title"]    = "news2";
            news3["body"]     = "body3";
            news3["comments"] = 5;
            provider.Add(news3);

            provider.AddCategories(newsContent, new Category()
            {
                ContentUUID = newsContent.UUID, CategoryUUID = categoryContent.UUID, CategoryFolder = categoryContent.FolderName
            });

            commenContent            = new TextContent(repository.Name, commentSchema.Name, "");
            commenContent.ParentUUID = newsContent.UUID;
            commenContent["title"]   = "comment1";
            provider.Add(commenContent);
        }
 public void TestReadFlatFile_SchemaProvided_TypesUsed()
 {
     const string text = @"123,Bob,12/31/2012,3.14159";
     Stream stream = new MemoryStream(Encoding.Default.GetBytes(text));
     DataTable table = new DataTable();
     Schema schema = new Schema();
     schema.AddColumn(new Int32Column("id"))
           .AddColumn(new StringColumn("name"))
           .AddColumn(new DateTimeColumn("created"))
           .AddColumn(new DoubleColumn("avg"));
     IParser parser = new SeparatedValueParser(stream, schema);
     table.ReadFlatFile(parser);
     Assert.AreEqual(4, table.Columns.Count, "The wrong number of columns were extracted.");
     Assert.IsTrue(table.Columns.Contains("id"), "The ID column was not extracted.");
     Assert.IsTrue(table.Columns.Contains("name"), "The name column was not extracted.");
     Assert.IsTrue(table.Columns.Contains("created"), "The created column was not extracted.");
     Assert.IsTrue(table.Columns.Contains("avg"), "The AVG column was not extracted.");
     Assert.AreEqual(1, table.Rows.Count, "Not all of the records were extracted.");
     DataRow row = table.Rows[0];
     object[] expected = new object[] { 123, "Bob", new DateTime(2012, 12, 31), 3.14159 };
     object[] values = row.ItemArray;
     CollectionAssert.AreEqual(expected, values, "The wrong values were extracted");
 }
Пример #44
0
 public void TestAddColumn_DuplicateColumnName_Throws()
 {
     Schema schema = new Schema();
     schema.AddColumn(new StringColumn("Name"));
     schema.AddColumn(new Int32Column("name"));
 }
Пример #45
0
 public void TestParseValues_WrongNumber_Throws()
 {
     Schema schema = new Schema();
     schema.AddColumn(new StringColumn("name"));
     schema.ParseValues(new string[] { "bob", "smith" });
 }