public void AddWithRows() { TestDatabase.Delete(); var database = new Database(TestDatabase.Path); var table1 = new Table("table1"); table1.Columns.Add("column1", ColumnType.Text); var column2 = new Column("column2", ColumnType.Integer); table1.Columns.Add(column2); var row1 = new Row(new Cell("column1", "test"), new Cell("column2", 15)); table1.Rows.Add(row1); table1.Rows.Add(new Cell("column2", 5), new Cell("column1", "example")); database.Tables.Add(table1); database = new Database(TestDatabase.Path); table1 = database.Tables["table1"]; Assert.IsNotNull(table1); Assert.AreEqual(2, table1.Columns.Count); Assert.AreEqual(2, table1.Rows.Count); }
public void AddAndLoadValue() { TestDatabase.Delete(); var database = new Database(TestDatabase.Path); var table = database.Tables.Add("Table", new Column("IntList", ColumnType.Integer, ColumnQuantity.List), new Column("BinList", ColumnType.BLOB, ColumnQuantity.List), new Column("NumList", ColumnType.Numeric, ColumnQuantity.List), new Column("RealList", ColumnType.Real, ColumnQuantity.List), new Column("TextList", ColumnType.Text, ColumnQuantity.List)); var intList = new long[] { 5, 2, 1, 8 }; var binList = new[] { new byte[] { 255, 0, 12, 4 }, new byte[] { 92, 14, 3 }, new byte[9] }; var numList = new[] { 5.2M, 2.0M, 11.1M, 8.98721M }; var realList = new[] { 18.288, 6.914, 5.001 }; var textList = new[] { "example", "test", "another sample string" }; table.Rows.Add(new Cell("IntList", intList), new Cell("BinList", binList), new Cell("NumList", numList), new Cell("RealList", realList), new Cell("TextList", textList)); var row = new Database(TestDatabase.Path).Tables["Table"].Rows.Single(); CollectionAssert.AreEqual(intList, (long[])row.Cells["IntList"].Value); var binListResult = (byte[][])row.Cells["BinList"].Value; Assert.AreEqual(binList.Length, binListResult.Length); for (var i = 0; i < binList.Length; i++) { CollectionAssert.AreEqual(binList[i], binListResult[i]); } CollectionAssert.AreEqual(numList, (decimal[])row.Cells["NumList"].Value); CollectionAssert.AreEqual(realList, (double[])row.Cells["RealList"].Value); CollectionAssert.AreEqual(textList, (string[])row.Cells["TextList"].Value); }
public void CreateWithDefaultValue() { TestDatabase.Delete(); var database = new Database(TestDatabase.Path); database.Tables.Add("table1", new Column("text", ColumnType.Text, true, false, "test"), new Column("int", ColumnType.Integer, true, false, 200), new Column("num", ColumnType.Numeric, true, false, 12.4M), new Column("real", ColumnType.Real, true, false, 99.2), new Column("blob", ColumnType.BLOB, true, false, new byte[] { 255, 13 })); database = new Database(TestDatabase.Path); var table = database.Tables["table1"]; Assert.IsNotNull(table.Columns["text"]); Assert.AreEqual("test", table.Columns["text"].DefaultValue); Assert.IsNotNull(table.Columns["int"]); Assert.AreEqual((Int64)200, table.Columns["int"].DefaultValue); Assert.IsNotNull(table.Columns["num"]); Assert.AreEqual(12.4M, table.Columns["num"].DefaultValue); Assert.IsNotNull(table.Columns["real"]); Assert.AreEqual(99.2, table.Columns["real"].DefaultValue); Assert.IsNotNull(table.Columns["blob"]); Assert.IsTrue(new byte[] { 255, 13 }.SequenceEqual((byte[])table.Columns["blob"].DefaultValue)); }
public void Create() { TestDatabase.Delete(); var database = new Database(TestDatabase.Path); Assert.IsTrue(File.Exists(TestDatabase.Path)); }
public void AddWithoutColumns() { TestDatabase.Delete(); var database = new Database(TestDatabase.Path); var table = database.Tables.Add("TestTable"); database.Tables.Add(table); }
public void WrongValue() { TestDatabase.Delete(); var database = new Database(TestDatabase.Path); var table = database.Tables.Add("Table", new Column("BinList", ColumnType.BLOB, ColumnQuantity.List)); table.Rows.Add(new Cell("BinList", 15)); }
public void AddDuplicatedKey() { TestDatabase.Delete(); var database = new Database(TestDatabase.Path); var table = database.Tables.Add("Table1", new Column("id", ColumnType.Integer, false, true), new Column("id2", ColumnType.Text, false, true), new Column("value", ColumnType.Real)); table.Rows.Add(new Cell("id", 5), new Cell("id2", "test"), new Cell("value", 18.3D)); table.Rows.Add(new Cell("id", 5), new Cell("id2", "test"), new Cell("value", 2.2D)); }
public void CreateWithoutKey() { TestDatabase.Delete(); var database = new Database(TestDatabase.Path); var column1 = new Column("value1", ColumnType.Integer); var table1 = database.Tables.Add("table1", column1); Assert.AreEqual(0, table1.PrimaryKey.Count); }
public void AddWithoutCells() { TestDatabase.Delete(); var database = new Database(TestDatabase.Path); database.Tables.Add("Table1", new Column("id", ColumnType.Integer, false, true), new Column("value", ColumnType.Text)); var row = new Row(); database.Tables["Table1"].Rows.Add(row); }
public void Create() { TestDatabase.Delete(); var database = new Database(TestDatabase.Path); var column1 = new Column("id", ColumnType.Text, false, true); var column2 = new Column("value1", ColumnType.Integer); var table1 = database.Tables.Add("table1", column1, column2); Assert.AreEqual(1, table1.PrimaryKey.Count); Assert.IsTrue(table1.PrimaryKey.Contains(column1)); }
public void UpdateWithWrongValue() { TestDatabase.Delete(); var database = new Database(TestDatabase.Path); var table = database.Tables.Add("Table", new Column("List", ColumnType.Real, ColumnQuantity.List)); table.Rows.Add(new Cell("List", new [] { 90.002, 84.1 })); var row = new Database(TestDatabase.Path).Tables["Table"].Rows.First(); row.Cells["List"].Value = new byte[9]; }
public void CreatePrimaryKey() { TestDatabase.Delete(); var database = new Database(TestDatabase.Path); var column1 = new Column("column1", ColumnType.Text, false, true); database.Tables.Add("table1", column1); database = new Database(TestDatabase.Path); column1 = database.Tables["table1"].Columns["column1"]; Assert.IsNotNull(column1); Assert.AreEqual(true, column1.IsPrimaryKey); }
public void AddComplexName() { TestDatabase.Delete(); var database = new Database(TestDatabase.Path); var table1 = new Table("Complex Table.Name*1"); table1.Columns.Add("column1", ColumnType.Text); table1.Rows.Add(new Cell("column1", "test")); database.Tables.Add(table1); database = new Database(TestDatabase.Path); table1 = database.Tables["Complex Table.Name*1"]; Assert.IsNotNull(table1); }
public void UpdateValue() { TestDatabase.Delete(); var database = new Database(TestDatabase.Path); var table = database.Tables.Add("Table", new Column("IntList", ColumnType.Integer, ColumnQuantity.List)); table.Rows.Add(new Cell("IntList", new long[] { 5, 2, 1, 8 })); var row = new Database(TestDatabase.Path).Tables["Table"].Rows.Single(); row.Cells["IntList"].Value = new long[] { 198142, 15, -40 }; row = new Database(TestDatabase.Path).Tables["Table"].Rows.Single(); CollectionAssert.AreEqual(new long[] { 198142, 15, -40 }, (long[])row.Cells["IntList"].Value); }
public void CreateAndLoad() { TestDatabase.Delete(); var database = new Database(TestDatabase.Path); database.Tables.Add(new Table("Table0", new Column("Value", ColumnType.Real))); database.Tables.Add(new Table("Table1", new Column("Id", ColumnType.Integer, false, true), new Column("ListColumn", ColumnType.Integer, ColumnQuantity.List))); database = new Database(TestDatabase.Path); var listColumn = database.Tables["Table1"].Columns["ListColumn"]; Assert.AreEqual(ColumnQuantity.List, listColumn.Quantity); Assert.AreEqual(ColumnType.Integer, listColumn.Type); Assert.AreNotEqual(ColumnQuantity.List, database.Tables["Table1"].Columns["Id"].Quantity); Assert.AreNotEqual(ColumnQuantity.List, database.Tables["Table0"].Columns["Value"].Quantity); }
public void CreateComplexName() { TestDatabase.Delete(); var database = new Database(TestDatabase.Path); var table1 = new Table { Name = "table1" }; table1.Columns.Add("Complex1Column &Name_", ColumnType.Integer); table1.Rows.Add(new Cell("Complex1Column &Name_")); database.Tables.Add(table1); database = new Database(TestDatabase.Path); var column1 = database.Tables["table1"].Columns["Complex1Column &Name_"]; Assert.IsNotNull(column1); }
public void CreateForeignKeyToNewTable() { TestDatabase.Delete(); var database = new Database(TestDatabase.Path); var table1 = new Table("Table1", new Column("Id", ColumnType.Integer, false, true), new Column("Value", ColumnType.Text)); var table2 = new Table("Table2", new Column("Value2", ColumnType.Text)); table2.Columns.AddForeignKey("Table1Id", table1.Columns["Id"]); database.Tables.Add(table1); database.Tables.Add(table2); database = new Database(TestDatabase.Path); var table1Fk = database.Tables["Table2"].Columns["Table1Id"].ForeignKeys.FirstOrDefault(); Assert.IsNotNull(table1Fk); }
public void Add() { TestDatabase.Delete(); var database = new Database(TestDatabase.Path); var column1 = new Column("column1", ColumnType.Text); var table1 = database.Tables.Add("table1", column1); Assert.AreEqual("table1", table1.Name); var table2 = new Table { Name = "table2" }; table2.Columns.Add("column2", ColumnType.Numeric); database.Tables.Add(table2); database = new Database(TestDatabase.Path); Assert.AreEqual(2, database.Tables.Count); Assert.IsNotNull(database.Tables["table1"]); Assert.IsNotNull(database.Tables["table2"]); }
public void Create() { TestDatabase.Delete(); var database = new Database(TestDatabase.Path); var table1 = new Table { Name = "table1" }; table1.Columns.Add("value1", ColumnType.Numeric); var column2 = new Column("value2", ColumnType.Real); table1.Columns.Add(column2); database.Tables.Add(table1); database = new Database(TestDatabase.Path); var column1 = database.Tables["table1"].Columns["value1"]; Assert.IsNotNull(column1); Assert.AreEqual(ColumnType.Numeric, column1.Type); column2 = database.Tables["table1"].Columns["value2"]; Assert.IsNotNull(column2); Assert.AreEqual(ColumnType.Real, column2.Type); }