public void TestAddColumn_DuplicateColumnName_Throws() { Schema schema = new Schema(); schema.AddColumn(new StringColumn("Name")); schema.AddColumn(new Int32Column("name")); }
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(); }
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(); }
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" }); }
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); } } }
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); }
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" }); }
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(); }
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(); }
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 } }; }
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); }
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); }
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"); }
public void TestParseValues_WrongNumber_Throws() { Schema schema = new Schema(); schema.AddColumn(new StringColumn("name")); schema.ParseValues(new string[] { "bob", "smith" }); }
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."); }
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(); }
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(); }
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(); }
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 } }; }
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(); }
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(); }
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(); }
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."); }
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 }); }
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 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."); }
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); }
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(); }
public override void Up() { Schema.AddColumn("users", "rofl", typeof(string), 500, false, false); }
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."); }
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."); }
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); } } }
public void TestAddColumn_NullDefinition_Throws() { Schema schema = new Schema(); schema.AddColumn(null); }
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"); }
public void TestAddColumn_DuplicateColumnName_Throws() { Schema schema = new Schema(); schema.AddColumn(new StringColumn("Name")); schema.AddColumn(new Int32Column("name")); }
public void TestParseValues_WrongNumber_Throws() { Schema schema = new Schema(); schema.AddColumn(new StringColumn("name")); schema.ParseValues(new string[] { "bob", "smith" }); }