public void ParametersGetName()
{
var command = new NpgsqlCommand();
// Add parameters.
command.Parameters.Add(new NpgsqlParameter(":Parameter1", DbType.Boolean));
command.Parameters.Add(new NpgsqlParameter(":Parameter2", DbType.Int32));
command.Parameters.Add(new NpgsqlParameter(":Parameter3", DbType.DateTime));
command.Parameters.Add(new NpgsqlParameter("Parameter4", DbType.DateTime));
var idbPrmtr = command.Parameters["Parameter1"];
Assert.IsNotNull(idbPrmtr);
command.Parameters[0].Value = 1;
// Get by indexers.
Assert.AreEqual(":Parameter1", command.Parameters[":Parameter1"].ParameterName);
Assert.AreEqual(":Parameter2", command.Parameters[":Parameter2"].ParameterName);
Assert.AreEqual(":Parameter3", command.Parameters[":Parameter3"].ParameterName);
//Assert.AreEqual(":Parameter4", command.Parameters["Parameter4"].ParameterName); //Should this work?
Assert.AreEqual(":Parameter1", command.Parameters[0].ParameterName);
Assert.AreEqual(":Parameter2", command.Parameters[1].ParameterName);
Assert.AreEqual(":Parameter3", command.Parameters[2].ParameterName);
Assert.AreEqual("Parameter4", command.Parameters[3].ParameterName);
}