/
dev-npgsql
/
npgsql
Обзор
Документация
Войти
/
dev-npgsql
/
npgsql
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
v4.0.16
test/Npgsql.Tests/AsyncTests.cs
84 строки
3 KB
Shay Rojansky
2017 -> 2018
13 фев 2018, 08:19
13 фев 2018, 08:19
f3de4c2
Код
Авторство
О чём код?
#region License // The PostgreSQL License // // Copyright (C) 2018 The Npgsql Development Team // // Permission to use, copy, modify, and distribute this software and its // documentation for any purpose, without fee, and without a written // agreement is hereby granted, provided that the above copyright notice // and this paragraph and the following two paragraphs appear in all copies. // // IN NO EVENT SHALL THE NPGSQL DEVELOPMENT TEAM BE LIABLE TO ANY PARTY // FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, // INCLUDING LOST PROFITS, ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS // DOCUMENTATION, EVEN IF THE NPGSQL DEVELOPMENT TEAM HAS BEEN ADVISED OF // THE POSSIBILITY OF SUCH DAMAGE. // // THE NPGSQL DEVELOPMENT TEAM SPECIFICALLY DISCLAIMS ANY WARRANTIES, // INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY // AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS // ON AN "AS IS" BASIS, AND THE NPGSQL DEVELOPMENT TEAM HAS NO OBLIGATIONS // TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. #endregion using System.Data; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; using Npgsql; using NUnit.Framework; namespace Npgsql.Tests { public class AsyncTests : TestBase { [Test] public async Task NonQuery() { using (var conn = OpenConnection()) { conn.ExecuteNonQuery("CREATE TEMP TABLE data (int INTEGER)"); using (var cmd = new NpgsqlCommand("INSERT INTO data (int) VALUES (4)", conn)) await cmd.ExecuteNonQueryAsync(); Assert.That(conn.ExecuteScalar("SELECT int FROM data"), Is.EqualTo(4)); } } [Test] public async Task Scalar() { using (var conn = OpenConnection()) using (var cmd = new NpgsqlCommand("SELECT 1", conn)) { Assert.That(await cmd.ExecuteScalarAsync(), Is.EqualTo(1)); } } [Test] public async Task Reader() { using (var conn = OpenConnection()) using (var cmd = new NpgsqlCommand("SELECT 1", conn)) using (var reader = await cmd.ExecuteReaderAsync()) { await reader.ReadAsync(); Assert.That(reader[0], Is.EqualTo(1)); } } [Test] public async Task Columnar() { using (var conn = OpenConnection()) using (var cmd = new NpgsqlCommand("SELECT NULL, 2, 'Some Text'", conn)) using (var reader = await cmd.ExecuteReaderAsync(CommandBehavior.SequentialAccess)) { await reader.ReadAsync(); Assert.That(await reader.IsDBNullAsync(0), Is.True); Assert.That(await reader.GetFieldValueAsync<string>(2), Is.EqualTo("Some Text")); } } } }