public void ExecuteScalar()
{
using (var conn = OpenConnection())
{
conn.ExecuteNonQuery("CREATE TEMP TABLE data (name TEXT)");
using (var command = new NpgsqlCommand("SELECT name FROM data", conn))
{
Assert.That(command.ExecuteScalar(), Is.Null);
conn.ExecuteNonQuery(@"INSERT INTO data (name) VALUES (NULL)");
Assert.That(command.ExecuteScalar(), Is.EqualTo(DBNull.Value));
conn.ExecuteNonQuery(@"TRUNCATE data");
for (var i = 0; i < 2; i++)
conn.ExecuteNonQuery("INSERT INTO data (name) VALUES ('X')");
Assert.That(command.ExecuteScalar(), Is.EqualTo("X"));
}
}
}