Ejemplo n.º 1
0
        public void CleanupCommandsTest()
        {
            using (var pool = DbManagerTestSettings.CreateConnectionPool())
            {
                var manager = new DbManager(pool);
                var stack = new Stack<IDbCommand>();

                Assert.AreEqual(0, manager.ConnectionPool.LiveObjects);
                for (var i = 1; i < 20; i++)
                {
                    var item = manager.GetCommand();
                    stack.Push(item);
                    Assert.AreEqual(i, manager.ConnectionPool.LiveObjects, string.Format("Iteration {0}", i));
                }

                while (stack.Count > 0)
                {
                    var item = stack.Pop();
                    var start = manager.ConnectionPool.LiveObjects;
                    item.Dispose();
                    Assert.AreEqual(start - 1, manager.ConnectionPool.LiveObjects);
                }

                Assert.AreEqual(0, manager.ConnectionPool.LiveObjects);
            }
        }
Ejemplo n.º 2
0
        public void CommandParametersTest()
        {
            using (var pool = DbManagerTestSettings.CreateConnectionPool())
            {
                var manager = new DbManager(pool);
                for (var i = 0; i < 10; i++)
                {
                    Assert.AreEqual(0, manager.ConnectionPool.LiveObjects, string.Format("Iteration {0}", i));

                    IDbCommand cmd;
                    using (cmd = manager.GetCommand())
                    {
                        Assert.AreEqual(1, manager.ConnectionPool.LiveObjects, string.Format("Iteration {0}", i));
                        Assert.IsNotNull(cmd);

                        cmd.CommandText = "SELECT @left + @right";

                        var left = new MySqlParameter("@left", null) { Value = 500 };
                        var right = new MySqlParameter("@right", null) { Value = 100 };
                        cmd.Parameters.Add(left);
                        cmd.Parameters.Add(right);

                        using (var r = cmd.ExecuteReader())
                        {
                            r.Read();
                            Assert.AreEqual("600", r[0].ToString());
                        }

                        Assert.AreNotEqual(0, cmd.Parameters.Count);
                        Assert.IsFalse(string.IsNullOrEmpty(cmd.CommandText));
                    }
                }
            }
        }
Ejemplo n.º 3
0
 public void CommandTest()
 {
     using (var pool = DbManagerTestSettings.CreateConnectionPool())
     {
         var manager = new DbManager(pool);
         for (var i = 0; i < 10; i++)
         {
             Assert.AreEqual(0, manager.ConnectionPool.LiveObjects, string.Format("Iteration {0}", i));
             IDbCommand cmd;
             using (cmd = manager.GetCommand())
             {
                 Assert.AreEqual(1, manager.ConnectionPool.LiveObjects, string.Format("Iteration {0}", i));
                 Assert.IsNotNull(cmd);
                 cmd.CommandText = "SELECT 500 + 100";
                 using (var r = cmd.ExecuteReader())
                 {
                     r.Read();
                     Assert.AreEqual("600", r[0].ToString());
                 }
             }
         }
     }
 }