/
nv-lang
/
nova
Обзор
Документация
Войти
/
nv-lang
/
nova
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
main
std/src/collections/priority_queue_test.nv
43 строки
1 KB
Evgeniy Golovin
migrate(std/src, [M-ro-launder-via-mut-binding]): 13 сайтов под финальной нормой Ф.2 — 721→0 хитов
23 июл 2026, 22:06
23 июл 2026, 22:06
cbe4c94
Код
Авторство
О чём код?
// SPDX-License-Identifier: MIT OR Apache-2.0 // std/collections/priority_queue_test.nv — публичный контракт PriorityQueue. module collections.priority_queue_test import std.collections.priority_queue.{PriorityQueue} test "empty queue" { // D246-амендмент ([M-ro-launder-via-mut-binding], Ф.2 миграция, 2026-07-23): // `pq` mut с самого начала — не переиспользуется как `ro` где-либо в // тесте, промежуточный `mut pq2 = pq` был чистым отмыванием L1-ro в mut. mut pq = PriorityQueue[int].new() assert(pq.is_empty()) assert(pq.peek() == None) // pop из пустой — None assert(pq.pop() == None) } test "push / pop порядок" { mut pq = PriorityQueue[int].new() pq.push(5) pq.push(1) pq.push(3) pq.push(8) pq.push(2) assert(pq.len() == 5) assert(pq.pop() == Some(1)) assert(pq.pop() == Some(2)) assert(pq.pop() == Some(3)) assert(pq.pop() == Some(5)) assert(pq.pop() == Some(8)) assert(pq.pop() == None) } test "peek не удаляет" { mut pq = PriorityQueue[int].new() pq.push(5) pq.push(1) assert(pq.peek() == Some(1)) assert(pq.peek() == Some(1)) assert(pq.len() == 2) }