/
dev-npgsql
/
npgsql
Обзор
Документация
Войти
/
dev-npgsql
/
npgsql
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
v4.1.13
test/Npgsql.PluginTests/RawPostgisTests.cs
56 строк
2 KB
Shay Rojansky
Switch to Github Actions
17 фев 2020, 18:33
17 фев 2020, 18:33
ba3b107
Код
Авторство
О чём код?
using System; using System.Diagnostics; using System.Text.RegularExpressions; using Npgsql.Tests; using NpgsqlTypes; using NUnit.Framework; using NUnit.Framework.Internal; namespace Npgsql.PluginTests { class RawPostgisTests : TestBase { [Test, IssueLink("https://github.com/npgsql/npgsql/issues/1121")] public void Roundtrip() { using (var conn = OpenConnection()) { byte[] bytes; using (var cmd = new NpgsqlCommand("SELECT st_makepoint(1,2500)", conn)) using (var reader = cmd.ExecuteReader()) { reader.Read(); bytes = reader.GetFieldValue<byte[]>(0); var length = (int)reader.GetBytes(0, 0, null, 0, 0); var buffer = new byte[length]; reader.GetBytes(0, 0, buffer, 0, length); Assert.That(buffer, Is.EqualTo(bytes)); } using (var cmd = new NpgsqlCommand("SELECT @p::TEXT", conn)) { cmd.Parameters.AddWithValue("p", NpgsqlDbType.Geometry, bytes); var asString = cmd.ExecuteScalar(); Assert.That(asString, Is.EqualTo("0101000000000000000000F03F000000000088A340")); } } } protected override NpgsqlConnection OpenConnection(string? connectionString = null) { var conn = base.OpenConnection(connectionString); TestUtil.EnsureExtension(conn, "postgis"); conn.TypeMapper.UseRawPostgis(); return conn; } [OneTimeSetUp] public void SetUp() { using var conn = base.OpenConnection(); TestUtil.EnsureExtension(conn, "postgis"); } } }