コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
ファイル: Columns.cs プロジェクト: CalvinMann/SimpleSqliteAPI
        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));
        }
コード例 #4
0
        public void Create()
        {
            TestDatabase.Delete();
            var database = new Database(TestDatabase.Path);

            Assert.IsTrue(File.Exists(TestDatabase.Path));
        }
コード例 #5
0
        public void AddWithoutColumns()
        {
            TestDatabase.Delete();
            var database = new Database(TestDatabase.Path);
            var table    = database.Tables.Add("TestTable");

            database.Tables.Add(table);
        }
コード例 #6
0
        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));
        }
コード例 #7
0
ファイル: Rows.cs プロジェクト: CalvinMann/SimpleSqliteAPI
        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));
        }
コード例 #8
0
        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);
        }
コード例 #9
0
ファイル: Rows.cs プロジェクト: CalvinMann/SimpleSqliteAPI
        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);
        }
コード例 #10
0
        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));
        }
コード例 #11
0
        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];
        }
コード例 #12
0
ファイル: Columns.cs プロジェクト: CalvinMann/SimpleSqliteAPI
        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);
        }
コード例 #13
0
        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);
        }
コード例 #14
0
        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);
        }
コード例 #15
0
        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);
        }
コード例 #16
0
ファイル: Columns.cs プロジェクト: CalvinMann/SimpleSqliteAPI
        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);
        }
コード例 #17
0
        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);
        }
コード例 #18
0
        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"]);
        }
コード例 #19
0
ファイル: Columns.cs プロジェクト: CalvinMann/SimpleSqliteAPI
        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);
        }