示例#1
0
        public void DeriveTypeFromStringValue()
        {
            var param = new CqlParameter("hello.world", "hello2");

            Assert.IsNull(param.Keyspace);
            Assert.AreEqual("hello", param.Table);
            Assert.AreEqual("world", param.ColumnName);
            Assert.AreEqual("hello.world", param.ParameterName);
            Assert.AreEqual("hello2", param.Value);
            Assert.AreEqual(CqlType.Varchar, param.CqlType);
        }
示例#2
0
        public void DeriveTypeFromMapValue()
        {
            var param = new CqlParameter("say.hello.world.me", new Dictionary<string, int> {{"hi", 1}, {"there", 2}});

            Assert.AreEqual("say", param.Keyspace);
            Assert.AreEqual("hello", param.Table);
            Assert.AreEqual("world.me", param.ColumnName);
            Assert.AreEqual("say.hello.world.me", param.ParameterName);
            Assert.AreEqual(CqlTypeCode.Map, param.CqlType.CqlTypeCode);
            Assert.AreEqual(CqlType.Varchar, ((MapType<string, int>)param.CqlType).KeyType);
            Assert.AreEqual(CqlType.Int, ((MapType<string, int>)param.CqlType).ValueType);
        }
示例#3
0
        public override DbDataAdapter GetAdapter(string selectCommand, DbConnection connection, CommandParameterCollection parameters)
        {
            CqlDataAdapter adapter = new CqlDataAdapter();

            adapter.SelectCommand             = new CqlCommand();
            adapter.SelectCommand.Connection  = connection;
            adapter.SelectCommand.CommandText = selectCommand;
            foreach (DbParameter p in parameters)
            {
                CqlParameter parameter = new CqlParameter(p.ParameterName, p.Value);
                adapter.SelectCommand.Parameters.Add(parameter);
            }
            return(adapter);
        }
        public void TestCqlParameter()
        {
            var name   = "p1";
            var value  = 1;
            var target = new CqlParameter(name, value);

            // test ParameterName
            var formattedName = ":p1";
            var name2         = ":p2";

            Assert.AreEqual(formattedName, target.ParameterName);
            target.ParameterName = name2;
            Assert.AreEqual(name2, target.ParameterName);

            // test IsNullable & SourceColumnNullMapping
            Assert.IsTrue(target.IsNullable);
            Assert.IsTrue(target.SourceColumnNullMapping);
            target.IsNullable = false;
            Assert.IsFalse(target.IsNullable);
            Assert.IsFalse(target.SourceColumnNullMapping);

            // test Direction, only Input is supported
            Assert.AreEqual(ParameterDirection.Input, target.Direction);
            Exception ex = null;

            try
            {
                target.Direction = ParameterDirection.Output;
            }
            catch (Exception e)
            {
                ex = e;
            }
            Assert.IsNotNull(ex);

            // test Value
            Assert.AreEqual(value, target.Value);
            var value2 = "2";

            target.Value = value2;
            Assert.AreEqual(value2, target.Value);

            // test Size, it should always return 0
            Assert.AreEqual(0, target.Size);
            target.Size = 1;
            Assert.AreEqual(0, target.Size);
        }
        public void TestCqlParameterCollection()
        {
            var target = new CqlParameterCollection();

            // test Count
            Assert.AreEqual(0, target.Count);
            var p1 = target.Add("p1", 1);

            Assert.AreEqual(1, target.Count);

            // test SyncRoot
            Assert.IsNotNull(target.SyncRoot);
            Assert.AreEqual(target.SyncRoot, target.SyncRoot);

            // test IsFixedSize
            Assert.IsFalse(target.IsFixedSize);

            // test IsReadOnly
            Assert.IsFalse(target.IsReadOnly);

            // test IsSynchronized
            Assert.IsFalse(target.IsSynchronized);

            // test Add()
            var p2Index = target.Add(new CqlParameter("p2"));

            Assert.AreEqual(2, target.Count);
            Assert.AreEqual(1, p2Index);

            // test Contains()
            var p3 = new CqlParameter("p3");

            Assert.IsTrue(target.Contains(p1));
            Assert.IsFalse(target.Contains(p3));

            // test IndexOf()
            Assert.AreEqual(0, target.IndexOf(p1));

            // test Insert();
            target.Insert(0, p3);
            Assert.AreEqual(0, target.IndexOf(p3));
            Assert.AreEqual(1, target.IndexOf(p1));

            // test Remove()
            var toBeRemove = new CqlParameter("toberemoved");

            target.Add(toBeRemove);
            Assert.IsTrue(target.Contains(toBeRemove));
            target.Remove(toBeRemove);
            Assert.IsFalse(target.Contains(toBeRemove));

            // test RemoveAt()
            target.RemoveAt(0);
            Assert.AreEqual(2, target.Count);
            target.RemoveAt("p2");
            Assert.IsFalse(target.Contains("p2"));

            // test CopyTo()
            var arr = new CqlParameter[1];

            target.CopyTo(arr, 0);
            Assert.AreEqual(arr[0], target[0]);

            // test AddRange()
            var p4p5 = new[] { new CqlParameter("p4"), new CqlParameter("p5") };

            target.AddRange(p4p5);
            Assert.AreEqual(3, target.Count);
            Assert.IsTrue(target.Contains(p4p5[0]));
            Assert.IsTrue(target.Contains(p4p5[1]));

            // test Clear()
            target.Clear();
            Assert.AreEqual(0, target.Count);
        }