Skip to content

Hex1b.Automation

Assembly: Hex1b.dll

Classes

AutomationStepRecord

Immutable record of a completed automation step. Used by to track step history for diagnostic purposes.

csharp
public sealed record AutomationStepRecord : IEquatable<AutomationStepRecord>

BmpEncoder

Encodes raw pixel data to BMP format for embedding in SVG as data URIs.

csharp
public static class BmpEncoder

CellMatchContext

Context provided to cell predicates during pattern matching. Contains information about the current position, cell, and match state.

csharp
public sealed class CellMatchContext

CellPatternMatch

Represents a successful pattern match containing all traversed cells and capture information.

csharp
public sealed class CellPatternMatch

CellPatternSearcher

A fluent builder for describing patterns of terminal cells. Patterns can match based on character content, cell attributes, colors, and spatial relationships. The searcher is immutable - all methods return new instances, making patterns safe to reuse and compose.

csharp
public sealed class CellPatternSearcher

CellPatternSearchResult

Collection of all pattern matches found in a search.

csharp
public sealed class CellPatternSearchResult

Hex1bAutomationException

Exception thrown by when an automation step fails. Includes rich diagnostic information including the full step history, terminal snapshot, and source location to help pinpoint the failure.

csharp
public sealed class Hex1bAutomationException : Exception, ISerializable

Hex1bTerminalAutomator

Provides an imperative, async API for automating terminal interactions in tests. Each method executes immediately and records its result in a step history, providing rich diagnostic context when failures occur.

csharp
public sealed class Hex1bTerminalAutomator

Hex1bTerminalInputSequence

A sequence of test steps that can be applied to a terminal. Built using .

csharp
public sealed class Hex1bTerminalInputSequence

Hex1bTerminalInputSequenceBuilder

Fluent builder for creating test sequences to simulate user interaction.

csharp
public sealed class Hex1bTerminalInputSequenceBuilder

Hex1bTerminalInputSequenceOptions

Options for configuring test sequence execution.

csharp
public sealed class Hex1bTerminalInputSequenceOptions

Hex1bTerminalRegionExtensions

Extension methods for providing common text operations.

csharp
public static class Hex1bTerminalRegionExtensions

Hex1bTerminalSnapshot

An immutable snapshot of terminal state at a point in time. Used for assertions and wait conditions in test sequences.

csharp
public sealed class Hex1bTerminalSnapshot : IHex1bTerminalRegion, IDisposable

Hex1bTerminalSnapshotRegion

A lightweight view into a terminal snapshot that provides localized coordinates. The region translates local (0,0)-based coordinates to the absolute position in the snapshot.

csharp
public sealed class Hex1bTerminalSnapshotRegion : IHex1bTerminalRegion

KeyInputStep

A step that sends a single key event.

csharp
public sealed record KeyInputStep : TestStep, IEquatable<TestStep>, IEquatable<KeyInputStep>

MouseInputStep

A step that sends a mouse event at a specific position.

csharp
public sealed record MouseInputStep : TestStep, IEquatable<TestStep>, IEquatable<MouseInputStep>

SixelDecoder

Decodes Sixel graphics data to raw pixel arrays for SVG rendering.

csharp
public static class SixelDecoder

SixelImage

Represents a decoded Sixel image as RGBA pixel data.

csharp
public sealed class SixelImage

TerminalAnsiOptions

Options for ANSI rendering of terminal regions.

csharp
public class TerminalAnsiOptions

TerminalRegionAnsiExtensions

Extension methods for rendering terminal regions to ANSI escape code format.

csharp
public static class TerminalRegionAnsiExtensions

TerminalRegionCellPatternExtensions

Extension methods for searching terminal regions with cell patterns.

csharp
public static class TerminalRegionCellPatternExtensions

TerminalRegionHtmlExtensions

Extension methods for rendering terminal regions to interactive HTML format.

csharp
public static class TerminalRegionHtmlExtensions

TerminalRegionSvgExtensions

Extension methods for rendering terminal regions to SVG format.

csharp
public static class TerminalRegionSvgExtensions

TerminalSvgOptions

Options for SVG rendering of terminal regions.

csharp
public class TerminalSvgOptions

TestPatternGenerator

Generates well-known test pattern images for verifying graphics rendering. These patterns have predictable, easily verifiable outputs.

csharp
public static class TestPatternGenerator

TestStep

Base class for test sequence steps. Each step knows how to execute itself against a terminal.

csharp
public abstract record TestStep : IEquatable<TestStep>

TextInputStep

A step that types a string of text, optionally with delays between keystrokes.

csharp
public sealed record TextInputStep : TestStep, IEquatable<TestStep>, IEquatable<TextInputStep>

WaitStep

A step that pauses for a specified duration.

csharp
public sealed record WaitStep : TestStep, IEquatable<TestStep>, IEquatable<WaitStep>

WaitUntilStep

A step that waits until a condition is met on the terminal.

csharp
public sealed record WaitUntilStep : TestStep, IEquatable<TestStep>, IEquatable<WaitUntilStep>

WaitUntilTimeoutException

Exception thrown when a times out waiting for a condition. Includes rich diagnostic information about the terminal state at the time of timeout.

csharp
public sealed class WaitUntilTimeoutException : TimeoutException, ISerializable

Structs

FindOptions

Options for Find pattern methods.

csharp
public readonly struct FindOptions

MultiLineTextMatch

Represents a text match that may span multiple lines in a terminal region.

csharp
public readonly record struct MultiLineTextMatch : IEquatable<MultiLineTextMatch>

TextMatch

Represents a text match found in a terminal region, with its coordinates.

csharp
public readonly record struct TextMatch : IEquatable<TextMatch>

TraversedCell

Represents a single cell that was traversed during pattern matching.

csharp
public readonly record struct TraversedCell : IEquatable<TraversedCell>

Interfaces

IHex1bTerminalRegion

Common interface for terminal snapshot and snapshot regions. Provides core cell access and region extraction.

csharp
public interface IHex1bTerminalRegion

Enums

Direction

Direction of movement in the terminal grid.

csharp
public enum Direction

FindCursorPosition

Specifies where to position the cursor after a Find match.

csharp
public enum FindCursorPosition

ScrollbackWidth

Controls how scrollback line widths are adapted when included in a snapshot.

csharp
public enum ScrollbackWidth

Released under the MIT License.