Livt packages
Livt.Collections
Version 1.4.2
Fixed-capacity FIFOs, queues, stacks, circular buffers, lists, and bit sets for Livt hardware.
Published files (62)
tests/queue/QueueInterfaceTest.lvt
namespace Livt.Collections.Tests
using Livt.Collections
/**
* Verifies the same scheduled contract through generic interface references.
*/
@Test
component QueueInterfaceTest
{
// Shared fixture instances, signals, and observation state.
bytes: IQueue<byte>
numbers: IQueue<int>
/**
* Binds an inherited byte specialization and a generic integer queue.
*/
new()
{
this.bytes = new Queue8()
this.numbers = new Livt.Collections.Queue<int, 3>()
}
/**
* Checks the named byte queue case.
*/
@Test
fn TestNamedByteQueue()
{
this.bytes.Clear()
assert this.bytes.GetSpace() == 8
assert this.bytes.TryEnqueue(0x00) == true
assert this.bytes.GetCount() == 1
var value: byte = 0xFF
assert this.bytes.TryDequeue(value) == true
assert value == 0x00
assert this.bytes.TryDequeue(value) == false
assert value == 0x00
}
/**
* Checks the generic integer queue case.
*/
@Test
fn TestGenericIntegerQueue()
{
this.numbers.Clear()
assert this.numbers.TryEnqueue(-123) == true
assert this.numbers.TryEnqueue(0) == true
assert this.numbers.TryEnqueue(456) == true
assert this.numbers.TryEnqueue(999) == false
assert this.numbers.GetCount() == 3
assert this.numbers.GetSpace() == 0
var value: int
assert this.numbers.TryDequeue(value) == true
assert value == -123
assert this.numbers.TryDequeue(value) == true
assert value == 0
assert this.numbers.TryDequeue(value) == true
assert value == 456
assert this.numbers.TryDequeue(value) == false
assert value == 0
}
}