"No","テストID","対象ファイル","対象クラス/関数","対象メソッド","テスト観点","テストケース名","前提条件","入力値","期待結果","優先度","備考"
"1","UT-LFB-001","src/Linux/Avalonia.LinuxFramebuffer/LinuxFramebufferPlatformOptions.cs","LinuxFramebufferPlatformOptions","Fps (getter/setter)","正常系","デフォルト値が60であること","なし","なし","Fps = 60","中","デフォルトFPS設定"
"2","UT-LFB-002","src/Linux/Avalonia.LinuxFramebuffer/LinuxFramebufferPlatformOptions.cs","LinuxFramebufferPlatformOptions","Fps (getter/setter)","正常系","任意の正の整数を設定できること","なし","Fps = 120","Fps = 120","中","FPS設定の変更"
"3","UT-LFB-003","src/Linux/Avalonia.LinuxFramebuffer/LinuxFramebufferPlatformOptions.cs","LinuxFramebufferPlatformOptions","ShouldRenderOnUIThread (getter/setter)","正常系","デフォルト値がfalseであること","なし","なし","ShouldRenderOnUIThread = false","中","UIスレッドレンダリング設定"
"4","UT-LFB-004","src/Linux/Avalonia.LinuxFramebuffer/LinuxFramebufferPlatformOptions.cs","LinuxFramebufferPlatformOptions","ShouldRenderOnUIThread (getter/setter)","正常系","trueに設定できること","なし","ShouldRenderOnUIThread = true","ShouldRenderOnUIThread = true","中","UIスレッドレンダリング有効化"
"5","UT-LFB-005","src/Linux/Avalonia.LinuxFramebuffer/LinuxFramebufferPlatform.cs","LinuxFramebufferLifetime","Constructor","正常系","IOutputBackendのみでインスタンス生成できること","なし","fb = MockOutputBackend","LinuxFramebufferLifetimeインスタンス生成","高","コンストラクタの基本動作"
"6","UT-LFB-006","src/Linux/Avalonia.LinuxFramebuffer/LinuxFramebufferPlatform.cs","LinuxFramebufferLifetime","Constructor","正常系","IOutputBackendとIInputBackendでインスタンス生成できること","なし","fb = MockOutputBackend, input = MockInputBackend","LinuxFramebufferLifetimeインスタンス生成","高","コンストラクタのオーバーロード"
"7","UT-LFB-007","src/Linux/Avalonia.LinuxFramebuffer/LinuxFramebufferPlatform.cs","LinuxFramebufferLifetime","MainView (getter/setter)","正常系","MainViewにControlを設定できること","TopLevelが初期化済み","MainView = new Button()","MainViewが設定される","高","メインビュー設定"
"8","UT-LFB-008","src/Linux/Avalonia.LinuxFramebuffer/LinuxFramebufferPlatform.cs","LinuxFramebufferLifetime","MainView (getter)","正常系","TopLevelが未初期化の場合EnsureTopLevelが呼ばれること","TopLevel未初期化","MainView取得","EnsureTopLevelが実行される","高","遅延初期化"
"9","UT-LFB-009","src/Linux/Avalonia.LinuxFramebuffer/LinuxFramebufferPlatform.cs","LinuxFramebufferLifetime","Start","正常系","Startupイベントが発火すること","イベントハンドラ登録済み","args = [""test""]","Startupイベントが引数付きで発火","高","アプリケーション起動"
"10","UT-LFB-010","src/Linux/Avalonia.LinuxFramebuffer/LinuxFramebufferPlatform.cs","LinuxFramebufferLifetime","Shutdown","正常系","ExitCodeが設定されること","なし","exitCode = 0","ExitCode = 0","高","正常終了"
"11","UT-LFB-011","src/Linux/Avalonia.LinuxFramebuffer/LinuxFramebufferPlatform.cs","LinuxFramebufferLifetime","Shutdown","正常系","Exitイベントが発火すること","イベントハンドラ登録済み","exitCode = 1","Exitイベントが発火しExitCode = 1","高","終了イベント"
"12","UT-LFB-012","src/Linux/Avalonia.LinuxFramebuffer/LinuxFramebufferPlatform.cs","LinuxFramebufferLifetime","Shutdown","正常系","CancellationTokenがキャンセルされること","なし","exitCode = 0","Token.IsCancellationRequested = true","高","キャンセルトークン"
"13","UT-LFB-013","src/Linux/Avalonia.LinuxFramebuffer/LinuxFramebufferPlatform.cs","LinuxFramebufferLifetime","TopLevel (getter)","正常系","TopLevelが取得できること","EnsureTopLevel実行済み","なし","TopLevelインスタンス","高","TopLevel取得"
"14","UT-LFB-014","src/Linux/Avalonia.LinuxFramebuffer/LinuxFramebufferPlatform.cs","LinuxFramebufferIconLoaderStub","LoadIcon(string)","正常系","ファイル名からIconStubを返すこと","なし","fileName = ""test.ico""","IWindowIconImplインスタンス","低","アイコンローダースタブ"
"15","UT-LFB-015","src/Linux/Avalonia.LinuxFramebuffer/LinuxFramebufferPlatform.cs","LinuxFramebufferIconLoaderStub","LoadIcon(Stream)","正常系","ストリームからIconStubを返すこと","なし","stream = MemoryStream","IWindowIconImplインスタンス","低","アイコンローダースタブ"
"16","UT-LFB-016","src/Linux/Avalonia.LinuxFramebuffer/LinuxFramebufferPlatform.cs","LinuxFramebufferIconLoaderStub","LoadIcon(IBitmapImpl)","正常系","ビットマップからIconStubを返すこと","なし","bitmap = MockBitmapImpl","IWindowIconImplインスタンス","低","アイコンローダースタブ"
"17","UT-LFB-017","src/Linux/Avalonia.LinuxFramebuffer/EpollDispatcherImpl.cs","EpollDispatcherImpl","Constructor","正常系","正常にインスタンス生成されること","Linux環境","inputProvider = MockInputProvider","epoll, pipe, timerfdが初期化される","高","ディスパッチャ初期化"
"18","UT-LFB-018","src/Linux/Avalonia.LinuxFramebuffer/EpollDispatcherImpl.cs","EpollDispatcherImpl","Constructor","異常系","epoll_create1失敗時にWin32Exceptionがスローされること","epoll_create1が-1を返す","なし","Win32Exceptionがスロー","高","初期化失敗"
"19","UT-LFB-019","src/Linux/Avalonia.LinuxFramebuffer/EpollDispatcherImpl.cs","EpollDispatcherImpl","Signal","正常系","Signaledイベントが発火すること","なし","Signal()呼び出し","Signaledイベント発火","高","シグナル通知"
"20","UT-LFB-020","src/Linux/Avalonia.LinuxFramebuffer/EpollDispatcherImpl.cs","EpollDispatcherImpl","Signal","正常系","既にシグナル済みの場合は二重シグナルしないこと","_signaled = true","Signal()呼び出し","Wakeupが呼ばれない","中","二重シグナル防止"
"21","UT-LFB-021","src/Linux/Avalonia.LinuxFramebuffer/EpollDispatcherImpl.cs","EpollDispatcherImpl","UpdateTimer","正常系","タイマーが設定されること","なし","dueTimeInMs = 1000","_nextTimer = 1秒","高","タイマー設定"
"22","UT-LFB-022","src/Linux/Avalonia.LinuxFramebuffer/EpollDispatcherImpl.cs","EpollDispatcherImpl","UpdateTimer","正常系","nullでタイマーがクリアされること","タイマー設定済み","dueTimeInMs = null","_nextTimer = null","高","タイマークリア"
"23","UT-LFB-023","src/Linux/Avalonia.LinuxFramebuffer/EpollDispatcherImpl.cs","EpollDispatcherImpl","CurrentThreadIsLoopThread","正常系","メインスレッドでtrueを返すこと","メインスレッドで実行","なし","true","中","スレッド判定"
"24","UT-LFB-024","src/Linux/Avalonia.LinuxFramebuffer/EpollDispatcherImpl.cs","EpollDispatcherImpl","CurrentThreadIsLoopThread","正常系","別スレッドでfalseを返すこと","別スレッドで実行","なし","false","中","スレッド判定"
"25","UT-LFB-025","src/Linux/Avalonia.LinuxFramebuffer/EpollDispatcherImpl.cs","EpollDispatcherImpl","Now","正常系","経過時間をミリ秒で返すこと","なし","なし","_clock.ElapsedMilliseconds","中","時間取得"
"26","UT-LFB-026","src/Linux/Avalonia.LinuxFramebuffer/EpollDispatcherImpl.cs","EpollDispatcherImpl","HasPendingInput","正常系","入力があればtrueを返すこと","_inputProvider.HasInput = true","なし","true","中","入力確認"
"27","UT-LFB-027","src/Linux/Avalonia.LinuxFramebuffer/FramebufferToplevelImpl.cs","FramebufferToplevelImpl","Constructor","正常系","正常にインスタンス生成されること","なし","outputBackend, inputBackend","インスタンス生成、Surfaces設定","高","トップレベル実装初期化"
"28","UT-LFB-028","src/Linux/Avalonia.LinuxFramebuffer/FramebufferToplevelImpl.cs","FramebufferToplevelImpl","SetInputRoot","正常系","InputRootが設定されること","なし","inputRoot = MockInputRoot","InputRoot, _inputBackend.SetInputRoot呼び出し","高","入力ルート設定"
"29","UT-LFB-029","src/Linux/Avalonia.LinuxFramebuffer/FramebufferToplevelImpl.cs","FramebufferToplevelImpl","PointToClient","正常系","PixelPointをPointに変換すること","なし","PixelPoint(100, 200)","Point(100, 200)","中","座標変換"
"30","UT-LFB-030","src/Linux/Avalonia.LinuxFramebuffer/FramebufferToplevelImpl.cs","FramebufferToplevelImpl","PointToScreen","正常系","PointをPixelPointに変換すること","なし","Point(100, 200)","PixelPoint(100, 200)","中","座標変換"
"31","UT-LFB-031","src/Linux/Avalonia.LinuxFramebuffer/FramebufferToplevelImpl.cs","FramebufferToplevelImpl","Dispose","異常系","NotSupportedExceptionがスローされること","なし","Dispose()","NotSupportedException","中","破棄不可"
"32","UT-LFB-032","src/Linux/Avalonia.LinuxFramebuffer/FramebufferToplevelImpl.cs","FramebufferToplevelImpl","ClientSize","正常系","ScaledSizeが返されること","_outputBackend設定済み","なし","ScaledSize","中","クライアントサイズ"
"33","UT-LFB-033","src/Linux/Avalonia.LinuxFramebuffer/FramebufferToplevelImpl.cs","FramebufferToplevelImpl","RenderScaling","正常系","_outputBackend.Scalingが返されること","_outputBackend.Scaling = 2.0","なし","2.0","中","レンダリングスケール"
"34","UT-LFB-034","src/Linux/Avalonia.LinuxFramebuffer/FramebufferToplevelImpl.cs","FramebufferToplevelImpl","TransparencyLevel","正常系","Noneが返されること","なし","なし","WindowTransparencyLevel.None","低","透明度レベル"
"35","UT-LFB-035","src/Linux/Avalonia.LinuxFramebuffer/FramebufferToplevelImpl.cs","FramebufferToplevelImpl","CreatePopup","正常系","nullが返されること","なし","なし","null","低","ポップアップ非対応"
"36","UT-LFB-036","src/Linux/Avalonia.LinuxFramebuffer/DrmOutputOptions.cs","DrmOutputOptions","Scaling (getter/setter)","正常系","デフォルト値が1.0であること","なし","なし","Scaling = 1.0","中","スケーリングデフォルト"
"37","UT-LFB-037","src/Linux/Avalonia.LinuxFramebuffer/DrmOutputOptions.cs","DrmOutputOptions","Orientation (getter/setter)","正常系","デフォルト値がRotation0であること","なし","なし","Orientation = SurfaceOrientation.Rotation0","中","画面回転デフォルト"
"38","UT-LFB-038","src/Linux/Avalonia.LinuxFramebuffer/DrmOutputOptions.cs","DrmOutputOptions","EnableInitialBufferSwapping (getter/setter)","正常系","デフォルト値がtrueであること","なし","なし","EnableInitialBufferSwapping = true","中","バッファスワップデフォルト"
"39","UT-LFB-039","src/Linux/Avalonia.LinuxFramebuffer/DrmOutputOptions.cs","DrmOutputOptions","InitialBufferSwappingColor (getter/setter)","正常系","デフォルト値が黒(0,0,0,0)であること","なし","なし","Color(0, 0, 0, 0)","中","初期バッファ色"
"40","UT-LFB-040","src/Linux/Avalonia.LinuxFramebuffer/DrmOutputOptions.cs","DrmOutputOptions","VideoMode (getter/setter)","正常系","nullで初期化されること","なし","なし","VideoMode = null","中","ビデオモード"
"41","UT-LFB-041","src/Linux/Avalonia.LinuxFramebuffer/DrmOutputOptions.cs","DrmOutputOptions","ConnectorType (getter/setter)","正常系","nullで初期化されること","なし","なし","ConnectorType = null","中","コネクタタイプ"
"42","UT-LFB-042","src/Linux/Avalonia.LinuxFramebuffer/Output/DrmOutput.cs","DrmOutput","Constructor(DrmCard, DrmResources, DrmConnector, DrmModeInfo, DrmOutputOptions)","正常系","正常にインスタンス生成されること","有効なDRMカード","card, resources, connector, modeInfo, options","DrmOutputインスタンス生成","高","DRM出力初期化"
"43","UT-LFB-043","src/Linux/Avalonia.LinuxFramebuffer/Output/DrmOutput.cs","DrmOutput","Constructor(string, bool, DrmOutputOptions)","正常系","パス指定でインスタンス生成されること","有効なDRMカードパス","path = ""/dev/dri/card0""","DrmOutputインスタンス生成","高","パス指定初期化"
"44","UT-LFB-044","src/Linux/Avalonia.LinuxFramebuffer/Output/DrmOutput.cs","DrmOutput","Constructor","異常系","コネクタが見つからない場合InvalidOperationExceptionがスローされること","コネクタ未接続","card = 無効なカード","InvalidOperationException","高","コネクタ未検出"
"45","UT-LFB-045","src/Linux/Avalonia.LinuxFramebuffer/Output/DrmOutput.cs","DrmOutput","Constructor","異常系","モードが見つからない場合InvalidOperationExceptionがスローされること","モード未設定","connector with no modes","InvalidOperationException","高","モード未検出"
"46","UT-LFB-046","src/Linux/Avalonia.LinuxFramebuffer/Output/DrmOutput.cs","DrmOutput","PixelSize (getter)","正常系","Rotation0/180の場合は元のサイズが返ること","Orientation = Rotation0","なし","PixelSize(width, height)","中","ピクセルサイズ(回転なし)"
"47","UT-LFB-047","src/Linux/Avalonia.LinuxFramebuffer/Output/DrmOutput.cs","DrmOutput","PixelSize (getter)","正常系","Rotation90/270の場合は幅と高さが入れ替わること","Orientation = Rotation90","なし","PixelSize(height, width)","中","ピクセルサイズ(回転あり)"
"48","UT-LFB-048","src/Linux/Avalonia.LinuxFramebuffer/Output/DrmOutput.cs","DrmOutput","Scaling (getter/setter)","正常系","Scalingが設定・取得できること","なし","Scaling = 2.0","Scaling = 2.0","中","スケーリング"
"49","UT-LFB-049","src/Linux/Avalonia.LinuxFramebuffer/Output/DrmOutput.cs","DrmOutput","Orientation (getter/setter)","正常系","Orientationが設定・取得できること","なし","Orientation = Rotation90","Orientation = Rotation90","中","画面回転"
"50","UT-LFB-050","src/Linux/Avalonia.LinuxFramebuffer/Output/DrmOutput.cs","DrmOutput","CreateGlRenderTarget","正常系","RenderTargetが作成されること","初期化済み","なし","IGlPlatformSurfaceRenderTargetインスタンス","高","レンダーターゲット作成"
"51","UT-LFB-051","src/Linux/Avalonia.LinuxFramebuffer/Output/DrmOutput.cs","DrmOutput","CreateGlRenderTarget(IGlContext)","正常系","正しいコンテキストでRenderTargetが作成されること","初期化済み","context = _deferredContext","IGlPlatformSurfaceRenderTargetインスタンス","高","コンテキスト指定"
"52","UT-LFB-052","src/Linux/Avalonia.LinuxFramebuffer/Output/DrmOutput.cs","DrmOutput","CreateGlRenderTarget(IGlContext)","異常系","異なるコンテキストでInvalidOperationExceptionがスローされること","初期化済み","context = 別のコンテキスト","InvalidOperationException","高","不正コンテキスト"
"53","UT-LFB-053","src/Linux/Avalonia.LinuxFramebuffer/Output/DrmOutput.cs","DrmOutput","GetFbIdForBo","正常系","有効なboに対してFB IDが返されること","初期化済み","bo = 有効なポインタ","FB ID (uint)","高","フレームバッファID取得"
"54","UT-LFB-054","src/Linux/Avalonia.LinuxFramebuffer/Output/DrmOutput.cs","DrmOutput","GetFbIdForBo","異常系","bo=0の場合ArgumentExceptionがスローされること","なし","bo = IntPtr.Zero","ArgumentException","高","無効なbo"
"55","UT-LFB-055","src/Linux/Avalonia.LinuxFramebuffer/Output/DrmBindings.cs","DrmCard","Constructor(string)","正常系","パス指定でDRMカードを開けること","有効なDRMカード","path = ""/dev/dri/card0""","Fd > 0","高","カードオープン"
"56","UT-LFB-056","src/Linux/Avalonia.LinuxFramebuffer/Output/DrmBindings.cs","DrmCard","Constructor(string)","正常系","パスnullで自動検出されること","/dev/dri/card*が存在","path = null","Fd > 0","高","自動検出"
"57","UT-LFB-057","src/Linux/Avalonia.LinuxFramebuffer/Output/DrmBindings.cs","DrmCard","Constructor(string)","異常系","無効なパスでWin32Exceptionがスローされること","なし","path = ""/invalid/path""","Win32Exception","高","無効パス"
"58","UT-LFB-058","src/Linux/Avalonia.LinuxFramebuffer/Output/DrmBindings.cs","DrmCard","Constructor(int)","正常系","ファイルディスクリプタでインスタンス生成できること","なし","fd = 3","Fd = 3","中","FD指定初期化"
"59","UT-LFB-059","src/Linux/Avalonia.LinuxFramebuffer/Output/DrmBindings.cs","DrmCard","GetResources","正常系","DrmResourcesが取得できること","有効なカード","connectorsForceProbe = false","DrmResourcesインスタンス","高","リソース取得"
"60","UT-LFB-060","src/Linux/Avalonia.LinuxFramebuffer/Output/DrmBindings.cs","DrmCard","Dispose","正常系","ファイルディスクリプタがクローズされること","Fd > 0","なし","Fd = -1","高","リソース解放"
"61","UT-LFB-061","src/Linux/Avalonia.LinuxFramebuffer/Output/DrmBindings.cs","DrmResources","Constructor","正常系","正常にリソースが取得されること","有効なfd","fd, connectorsForceProbe = false","Connectors, Encoders初期化","高","リソース初期化"
"62","UT-LFB-062","src/Linux/Avalonia.LinuxFramebuffer/Output/DrmBindings.cs","DrmResources","Constructor","異常系","drmModeGetResources失敗時Win32Exceptionがスローされること","無効なfd","fd = -1","Win32Exception","高","リソース取得失敗"
"63","UT-LFB-063","src/Linux/Avalonia.LinuxFramebuffer/Output/DrmBindings.cs","DrmConnector","Constructor","正常系","コネクタ情報が正しく読み取られること","有効なdrmModeConnector","conn = 有効なポインタ","Id, Name, Connection等が設定","高","コネクタ初期化"
"64","UT-LFB-064","src/Linux/Avalonia.LinuxFramebuffer/Output/DrmBindings.cs","DrmConnector","Name","正常系","既知のコネクタタイプで正しい名前が生成されること","connector_type = 11 (HDMI-A)","なし","""HDMI-A-{id}""","中","コネクタ名"
"65","UT-LFB-065","src/Linux/Avalonia.LinuxFramebuffer/Output/DrmBindings.cs","DrmConnector","Name","境界値","未知のコネクタタイプで適切な名前が生成されること","connector_type > 16","なし","""Unknown({type})-{id}""","中","未知コネクタ"
"66","UT-LFB-066","src/Linux/Avalonia.LinuxFramebuffer/Output/DrmBindings.cs","DrmModeInfo","Resolution","正常系","正しい解像度が返されること","hdisplay=1920, vdisplay=1080","なし","PixelSize(1920, 1080)","中","解像度取得"
"67","UT-LFB-067","src/Linux/Avalonia.LinuxFramebuffer/Output/DrmBindings.cs","DrmModeInfo","IsPreferred","正常系","DRM_MODE_TYPE_PREFERREDフラグがある場合trueを返すこと","type = DRM_MODE_TYPE_PREFERRED","なし","true","中","優先モード判定"
"68","UT-LFB-068","src/Linux/Avalonia.LinuxFramebuffer/Output/FbdevOutput.cs","FbdevOutput","Constructor(string)","正常系","ファイル名指定で初期化されること","有効なfbdev","fileName = ""/dev/fb0""","FbdevOutputインスタンス","高","Fbdev初期化"
"69","UT-LFB-069","src/Linux/Avalonia.LinuxFramebuffer/Output/FbdevOutput.cs","FbdevOutput","Constructor(string)","正常系","null指定で環境変数/デフォルトが使用されること","/dev/fb0が存在","fileName = null","FbdevOutputインスタンス","高","デフォルトパス"
"70","UT-LFB-070","src/Linux/Avalonia.LinuxFramebuffer/Output/FbdevOutput.cs","FbdevOutput","Constructor","異常系","無効なファイルでExceptionがスローされること","なし","fileName = ""/invalid/fb""","Exception","高","無効ファイル"
"71","UT-LFB-071","src/Linux/Avalonia.LinuxFramebuffer/Output/FbdevOutput.cs","FbdevOutput","PixelSize (getter)","正常系","正しいピクセルサイズが返されること","初期化済み","なし","PixelSize(xres, yres)","中","ピクセルサイズ"
"72","UT-LFB-072","src/Linux/Avalonia.LinuxFramebuffer/Output/FbdevOutput.cs","FbdevOutput","Lock","正常系","ILockedFramebufferが返されること","初期化済み","なし","ILockedFramebufferインスタンス","高","フレームバッファロック"
"73","UT-LFB-073","src/Linux/Avalonia.LinuxFramebuffer/Output/FbdevOutput.cs","FbdevOutput","Lock","異常系","Dispose後はObjectDisposedExceptionがスローされること","Dispose済み","なし","ObjectDisposedException","高","破棄後ロック"
"74","UT-LFB-074","src/Linux/Avalonia.LinuxFramebuffer/Output/FbdevOutput.cs","FbdevOutput","SetBpp","正常系","Rgba8888フォーマットが設定できること","なし","format = PixelFormat.Rgba8888","bits_per_pixel = 32, RGBA設定","高","ピクセルフォーマット"
"75","UT-LFB-075","src/Linux/Avalonia.LinuxFramebuffer/Output/FbdevOutput.cs","FbdevOutput","SetBpp","正常系","Bgra8888フォーマットが設定できること","なし","format = PixelFormat.Bgra8888","bits_per_pixel = 32, BGRA設定","高","ピクセルフォーマット"
"76","UT-LFB-076","src/Linux/Avalonia.LinuxFramebuffer/Output/FbdevOutput.cs","FbdevOutput","SetBpp","正常系","Rgb565フォーマットが設定できること","なし","format = PixelFormat.Rgb565","bits_per_pixel = 16, RGB565設定","高","ピクセルフォーマット"
"77","UT-LFB-077","src/Linux/Avalonia.LinuxFramebuffer/Output/FbdevOutput.cs","FbdevOutput","SetBpp","異常系","未サポートフォーマットでNotSupportedExceptionがスローされること","なし","format = 未サポート","NotSupportedException","高","未サポートフォーマット"
"78","UT-LFB-078","src/Linux/Avalonia.LinuxFramebuffer/Output/FbdevOutput.cs","FbdevOutput","Dispose","正常系","リソースが解放されること","初期化済み","なし","_fd = 0, メモリアンマップ","高","リソース解放"
"79","UT-LFB-079","src/Linux/Avalonia.LinuxFramebuffer/Output/FbdevOutput.cs","FbdevOutput","CreateFramebufferRenderTarget","正常系","IFramebufferRenderTargetが返されること","初期化済み","なし","IFramebufferRenderTargetインスタンス","高","レンダーターゲット作成"
"80","UT-LFB-080","src/Linux/Avalonia.LinuxFramebuffer/Output/FbDevOutputOptions.cs","FbDevOutputOptions","FileName (getter/setter)","正常系","nullがデフォルトであること","なし","なし","FileName = null","中","ファイル名デフォルト"
"81","UT-LFB-081","src/Linux/Avalonia.LinuxFramebuffer/Output/FbDevOutputOptions.cs","FbDevOutputOptions","PixelFormat (getter/setter)","正常系","nullがデフォルトであること","なし","なし","PixelFormat = null","中","ピクセルフォーマットデフォルト"
"82","UT-LFB-082","src/Linux/Avalonia.LinuxFramebuffer/Output/FbDevOutputOptions.cs","FbDevOutputOptions","RenderDirectlyToMappedMemory (getter/setter)","正常系","falseがデフォルトであること","なし","なし","RenderDirectlyToMappedMemory = false","中","直接レンダリングデフォルト"
"83","UT-LFB-083","src/Linux/Avalonia.LinuxFramebuffer/Output/FbDevOutputOptions.cs","FbDevOutputOptions","Scaling (getter/setter)","正常系","1.0がデフォルトであること","なし","なし","Scaling = 1.0","中","スケーリングデフォルト"
"84","UT-LFB-084","src/Linux/Avalonia.LinuxFramebuffer/Output/FbDevBackBuffer.cs","FbDevBackBuffer","Constructor","正常系","正常にインスタンス生成されること","なし","fb, fixedInfo, varInfo, targetAddress, asyncBlit=false","Address != IntPtr.Zero","高","バックバッファ初期化"
"85","UT-LFB-085","src/Linux/Avalonia.LinuxFramebuffer/Output/FbDevBackBuffer.cs","FbDevBackBuffer","Constructor","正常系","asyncBlit=trueでAsyncFbBlitterが作成されること","なし","asyncBlit = true","_asyncBlit != null","高","非同期ブリット有効"
"86","UT-LFB-086","src/Linux/Avalonia.LinuxFramebuffer/Output/FbDevBackBuffer.cs","FbDevBackBuffer","Dispose","正常系","メモリが解放されること","Address != IntPtr.Zero","なし","Address = IntPtr.Zero","高","リソース解放"
"87","UT-LFB-087","src/Linux/Avalonia.LinuxFramebuffer/Output/FbDevBackBuffer.cs","FbDevBackBuffer","Lock","正常系","LockedFramebufferが返されること","初期化済み","dpi = (96, 96)","ILockedFramebufferインスタンス","高","フレームバッファロック"
"88","UT-LFB-088","src/Linux/Avalonia.LinuxFramebuffer/Output/FbDevBackBuffer.cs","FbDevBackBuffer","LockFb (static)","正常系","16bitピクセルでRgb565フォーマットが設定されること","bits_per_pixel = 16","varInfo.bits_per_pixel = 16","format = PixelFormat.Rgb565","高","16bitフォーマット判定"
"89","UT-LFB-089","src/Linux/Avalonia.LinuxFramebuffer/Output/FbDevBackBuffer.cs","FbDevBackBuffer","LockFb (static)","正常系","32bit BGRAでBgra8888フォーマットが設定されること","bits_per_pixel = 32, blue.offset = 0","なし","format = PixelFormat.Bgra8888","高","BGRAフォーマット判定"
"90","UT-LFB-090","src/Linux/Avalonia.LinuxFramebuffer/Output/FbDevBackBuffer.cs","FbDevBackBuffer","LockFb (static)","正常系","32bit RGBAでRgba8888フォーマットが設定されること","bits_per_pixel = 32, blue.offset = 16","なし","format = PixelFormat.Rgba8888","高","RGBAフォーマット判定"
"91","UT-LFB-091","src/Linux/Avalonia.LinuxFramebuffer/Output/FbDevBackBuffer.cs","FbDevBackBuffer","Size (getter)","正常系","正しいサイズが返されること","varInfo設定済み","なし","PixelSize(xres, yres)","中","サイズ取得"
"92","UT-LFB-092","src/Linux/Avalonia.LinuxFramebuffer/Output/FbDevBackBuffer.cs","FbDevBackBuffer","RowBytes (getter)","正常系","line_lengthが返されること","fixedInfo設定済み","なし","(int)fixedInfo.line_length","中","行バイト数"
"93","UT-LFB-093","src/Linux/Avalonia.LinuxFramebuffer/Input/IInputBackend.cs","IInputBackend","Initialize","正常系","初期化が正常に完了すること","なし","info, onInput","初期化完了","高","入力バックエンド初期化"
"94","UT-LFB-094","src/Linux/Avalonia.LinuxFramebuffer/Input/IInputBackend.cs","IInputBackend","SetInputRoot","正常系","InputRootが設定されること","なし","root = MockInputRoot","InputRoot設定","高","入力ルート設定"
"95","UT-LFB-095","src/Linux/Avalonia.LinuxFramebuffer/Input/NullInput/NullInputBackend.cs","NullInputBackend","Initialize","正常系","何も行わずに正常終了すること","なし","screen, onInput","正常終了","低","Null入力初期化"
"96","UT-LFB-096","src/Linux/Avalonia.LinuxFramebuffer/Input/NullInput/NullInputBackend.cs","NullInputBackend","SetInputRoot","正常系","何も行わずに正常終了すること","なし","root = MockInputRoot","正常終了","低","Null入力ルート設定"
"97","UT-LFB-097","src/Linux/Avalonia.LinuxFramebuffer/Input/RawEventGroupingThreadingHelper.cs","RawEventGroupingThreadingHelper","Constructor","正常系","正常にインスタンス生成されること","なし","eventCallback = MockCallback","インスタンス生成","中","ヘルパー初期化"
"98","UT-LFB-098","src/Linux/Avalonia.LinuxFramebuffer/Input/RawEventGroupingThreadingHelper.cs","RawEventGroupingThreadingHelper","OnEvent","正常系","イベントがキューに追加されること","なし","args = MockRawInputEventArgs","_rawQueue.Count = 1","高","イベント追加"
"99","UT-LFB-099","src/Linux/Avalonia.LinuxFramebuffer/Input/RawEventGroupingThreadingHelper.cs","RawEventGroupingThreadingHelper","OnEvent","正常系","初回イベントでDispatcher.UIThread.Postが呼ばれること","_rawQueue.Count = 0","args = MockRawInputEventArgs","Postが呼ばれる","高","UIスレッドディスパッチ"
"100","UT-LFB-100","src/Linux/Avalonia.LinuxFramebuffer/Input/RawEventGroupingThreadingHelper.cs","RawEventGroupingThreadingHelper","Dispose","正常系","_grouperがDisposeされること","なし","なし","Dispatcher.UIThread.Post呼び出し","中","リソース解放"
"101","UT-LFB-101","src/Linux/Avalonia.LinuxFramebuffer/Input/EvDev/EvDevBackend.cs","EvDevBackend","Constructor","正常系","デバイス記述配列で初期化されること","なし","devices = [MockDeviceDescription]","_deviceDescriptions設定","高","EvDevバックエンド初期化"
"102","UT-LFB-102","src/Linux/Avalonia.LinuxFramebuffer/Input/EvDev/EvDevBackend.cs","EvDevBackend","Initialize","正常系","epollが作成されデバイスが登録されること","有効なデバイス","info, onInput","_epoll > 0, _handlers.Count > 0","高","EvDev初期化"
"103","UT-LFB-103","src/Linux/Avalonia.LinuxFramebuffer/Input/EvDev/EvDevBackend.cs","EvDevBackend","Initialize","正常系","入力スレッドが開始されること","なし","info, onInput","スレッド起動","高","入力スレッド起動"
"104","UT-LFB-104","src/Linux/Avalonia.LinuxFramebuffer/Input/EvDev/EvDevBackend.cs","EvDevBackend","SetInputRoot","正常系","全ハンドラにInputRootが設定されること","_handlers初期化済み","root = MockInputRoot","各handler.InputRoot = root","高","入力ルート伝播"
"105","UT-LFB-105","src/Linux/Avalonia.LinuxFramebuffer/Input/EvDev/EvDevBackend.cs","EvDevBackend","CreateFromEnvironment","正常系","環境変数からデバイスが作成されること","AVALONIA_EVDEV_DEVICE_*設定済み","なし","EvDevBackendインスタンス","高","環境変数からの作成"
"106","UT-LFB-106","src/Linux/Avalonia.LinuxFramebuffer/Input/EvDev/EvDevBackend.cs","EvDevBackend","CreateFromEnvironment","異常系","環境変数未設定でExceptionがスローされること","環境変数未設定","なし","Exception","高","環境変数未設定"
"107","UT-LFB-107","src/Linux/Avalonia.LinuxFramebuffer/Input/EvDev/EvDevDevice.cs","EvDevDevice","Constructor","正常系","正常にインスタンス生成されること","有効なfd, dev","fd = 3, dev = 有効ポインタ","Fd, Name, EventTypes設定","高","EvDevデバイス初期化"
"108","UT-LFB-108","src/Linux/Avalonia.LinuxFramebuffer/Input/EvDev/EvDevDevice.cs","EvDevDevice","Open (static)","正常系","デバイスファイルをオープンできること","有効なデバイスパス","device = ""/dev/input/event0""","EvDevDeviceインスタンス","高","デバイスオープン"
"109","UT-LFB-109","src/Linux/Avalonia.LinuxFramebuffer/Input/EvDev/EvDevDevice.cs","EvDevDevice","Open (static)","異常系","無効なパスでExceptionがスローされること","なし","device = ""/invalid/path""","Exception","高","無効パス"
"110","UT-LFB-110","src/Linux/Avalonia.LinuxFramebuffer/Input/EvDev/EvDevDevice.cs","EvDevDevice","NextEvent","正常系","イベントがある場合input_eventが返されること","イベント待ち状態","なし","input_event","中","イベント取得"
"111","UT-LFB-111","src/Linux/Avalonia.LinuxFramebuffer/Input/EvDev/EvDevDevice.cs","EvDevDevice","NextEvent","正常系","イベントがない場合nullが返されること","イベントなし","なし","null","中","イベントなし"
"112","UT-LFB-112","src/Linux/Avalonia.LinuxFramebuffer/Input/EvDev/EvDevDeviceDescription.cs","EvDevDeviceDescription","ParseFromEnv","正常系","touchscreenタイプが正しくパースされること","なし","env = ""/dev/input/event0:type=touchscreen""","EvDevTouchScreenDeviceDescriptionインスタンス","高","環境変数パース"
"113","UT-LFB-113","src/Linux/Avalonia.LinuxFramebuffer/Input/EvDev/EvDevDeviceDescription.cs","EvDevDeviceDescription","ParseFromEnv","異常系","不正なフォーマットでArgumentExceptionがスローされること","なし","env = ""invalid""","ArgumentException","高","不正フォーマット"
"114","UT-LFB-114","src/Linux/Avalonia.LinuxFramebuffer/Input/EvDev/EvDevDeviceDescription.cs","EvDevDeviceDescription","ParseFromEnv","異常系","typeが不明な場合ArgumentExceptionがスローされること","なし","env = ""/dev/input/event0:type=unknown""","ArgumentException","高","未知タイプ"
"115","UT-LFB-115","src/Linux/Avalonia.LinuxFramebuffer/Input/EvDev/EvDevTouchScreenDeviceDescription.cs","EvDevTouchScreenDeviceDescription","ParseFromEnv","正常系","キャリブレーションマトリクスがパースされること","なし","options[""calibration""] = ""1,0,0,0,1,0""","CalibrationMatrixが設定","高","キャリブレーションパース"
"116","UT-LFB-116","src/Linux/Avalonia.LinuxFramebuffer/Input/EvDev/EvDevTouchScreenDeviceDescription.cs","EvDevTouchScreenDeviceDescription","CalibrationMatrix","正常系","デフォルトがIdentityマトリクスであること","なし","なし","Matrix.Identity","中","デフォルトキャリブレーション"
"117","UT-LFB-117","src/Linux/Avalonia.LinuxFramebuffer/Input/EvDev/EvDevTouchScreen.cs","EvDevSingleTouchScreen","Constructor","正常系","正常にインスタンス生成されること","有効なタッチスクリーンデバイス","device, description, screenInfo","インスタンス生成","高","タッチスクリーン初期化"
"118","UT-LFB-118","src/Linux/Avalonia.LinuxFramebuffer/Input/EvDev/EvDevTouchScreen.cs","EvDevSingleTouchScreen","Constructor","異常系","AbsX/AbsYがnullの場合ArgumentExceptionがスローされること","非タッチスクリーンデバイス","device.AbsX = null","ArgumentException","高","非タッチスクリーン"
"119","UT-LFB-119","src/Linux/Avalonia.LinuxFramebuffer/Input/EvDev/EvDevTouchScreen.cs","EvDevSingleTouchScreen","HandleEvent","正常系","EV_ABSイベントで座標が更新されること","初期化済み","ev.Type = EV_ABS, Axis = ABS_X, value = 100","_currentX = 100","高","座標更新"
"120","UT-LFB-120","src/Linux/Avalonia.LinuxFramebuffer/Input/EvDev/EvDevTouchScreen.cs","EvDevSingleTouchScreen","HandleEvent","正常系","EV_KEYイベントでタッチ状態が更新されること","初期化済み","ev.Type = EV_KEY, Key = BTN_TOUCH, value = 1","_pressAction = true","高","タッチ状態"
"121","UT-LFB-121","src/Linux/Avalonia.LinuxFramebuffer/Input/EvDev/EvDevTouchScreen.cs","EvDevSingleTouchScreen","HandleEvent","正常系","EV_SYNイベントでRawTouchEventArgsが発火すること","タッチ開始済み","ev.Type = EV_SYN","RawTouchEventArgs発火","高","イベント発火"
"122","UT-LFB-122","src/Linux/Avalonia.LinuxFramebuffer/Input/EvDev/EvDevTouchScreen.cs","EvDevDeviceHandler","HandleEvents","正常系","全イベントが処理されること","イベントあり","なし","全イベントがHandleEventに渡される","中","イベント処理ループ"
"123","UT-LFB-123","src/Linux/Avalonia.LinuxFramebuffer/Input/EvDev/EvDevTouchScreen.cs","EvDevDeviceHandler","InputRoot (getter)","異常系","未設定時にInvalidOperationExceptionがスローされること","InputRoot未設定","なし","InvalidOperationException","中","InputRoot未設定"
"124","UT-LFB-124","src/Linux/Avalonia.LinuxFramebuffer/Input/LibInput/LibInputBackend.cs","LibInputBackend","Constructor","正常系","デフォルトコンストラクタで初期化されること","なし","なし","_options = null","中","デフォルト初期化"
"125","UT-LFB-125","src/Linux/Avalonia.LinuxFramebuffer/Input/LibInput/LibInputBackend.cs","LibInputBackend","Constructor(LibInputBackendOptions)","正常系","オプション付きで初期化されること","なし","options = new LibInputBackendOptions()","_options設定","中","オプション初期化"
"126","UT-LFB-126","src/Linux/Avalonia.LinuxFramebuffer/Input/LibInput/LibInputBackend.cs","LibInputBackend","Initialize","正常系","入力スレッドが開始されること","なし","screen, onInput","スレッド起動","高","LibInput初期化"
"127","UT-LFB-127","src/Linux/Avalonia.LinuxFramebuffer/Input/LibInput/LibInputBackend.cs","LibInputBackend","Initialize","正常系","オプションEventsがnullの場合/dev/input/event*が使用されること","_options.Events = null","screen, onInput","Directory.GetFiles呼び出し","高","自動デバイス検出"
"128","UT-LFB-128","src/Linux/Avalonia.LinuxFramebuffer/Input/LibInput/LibInputBackend.cs","LibInputBackend","SetInputRoot","正常系","_inputRootが設定されること","なし","root = MockInputRoot","_inputRoot = root","高","入力ルート設定"
"129","UT-LFB-129","src/Linux/Avalonia.LinuxFramebuffer/Input/LibInput/LibInputBackend.cs","LibInputBackend","InputRoot (getter)","異常系","未設定時にInvalidOperationExceptionがスローされること","_inputRoot = null","なし","InvalidOperationException","中","InputRoot未設定"
"130","UT-LFB-130","src/Linux/Avalonia.LinuxFramebuffer/Input/LibInput/LibInputBackend.Pointer.cs","LibInputBackend","HandlePointer","正常系","POINTER_MOTION_ABSOLUTEでマウス位置が更新されること","初期化済み","type = POINTER_MOTION_ABSOLUTE","_mousePosition更新, RawPointerEventArgs発火","高","マウス移動"
"131","UT-LFB-131","src/Linux/Avalonia.LinuxFramebuffer/Input/LibInput/LibInputBackend.Pointer.cs","LibInputBackend","HandlePointer","正常系","POINTER_BUTTON左ボタンダウンでイベントが発火すること","初期化済み","button = BTN_LEFT, state = 1","RawPointerEventType.LeftButtonDown","高","左ボタンダウン"
"132","UT-LFB-132","src/Linux/Avalonia.LinuxFramebuffer/Input/LibInput/LibInputBackend.Pointer.cs","LibInputBackend","HandlePointer","正常系","POINTER_BUTTON左ボタンアップでイベントが発火すること","初期化済み","button = BTN_LEFT, state = 0","RawPointerEventType.LeftButtonUp","高","左ボタンアップ"
"133","UT-LFB-133","src/Linux/Avalonia.LinuxFramebuffer/Input/LibInput/LibInputBackend.Pointer.cs","LibInputBackend","HandlePointer","正常系","POINTER_AXISホイールイベントでスクロールイベントが発火すること","初期化済み","type = POINTER_AXIS, source = WHEEL","RawMouseWheelEventArgs発火","高","マウスホイール"
"134","UT-LFB-134","src/Linux/Avalonia.LinuxFramebuffer/Input/LibInput/LibInputBackend.Pointer.cs","LibInputBackend","HandlePointer","正常系","POINTER_SCROLL_WHEELでハイレゾホイールイベントが発火すること","初期化済み","type = POINTER_SCROLL_WHEEL","RawMouseWheelEventArgs発火","高","ハイレゾホイール"
"135","UT-LFB-135","src/Linux/Avalonia.LinuxFramebuffer/Input/LibInput/LibInputBackend.Touch.cs","LibInputBackend","HandleTouch","正常系","TOUCH_DOWNでTouchBeginイベントが発火すること","初期化済み","type = TOUCH_DOWN","RawPointerEventType.TouchBegin","高","タッチ開始"
"136","UT-LFB-136","src/Linux/Avalonia.LinuxFramebuffer/Input/LibInput/LibInputBackend.Touch.cs","LibInputBackend","HandleTouch","正常系","TOUCH_UPでTouchEndイベントが発火すること","初期化済み","type = TOUCH_UP","RawPointerEventType.TouchEnd","高","タッチ終了"
"137","UT-LFB-137","src/Linux/Avalonia.LinuxFramebuffer/Input/LibInput/LibInputBackend.Touch.cs","LibInputBackend","HandleTouch","正常系","TOUCH_MOTIONでTouchUpdateイベントが発火すること","初期化済み","type = TOUCH_MOTION","RawPointerEventType.TouchUpdate","高","タッチ移動"
"138","UT-LFB-138","src/Linux/Avalonia.LinuxFramebuffer/Input/LibInput/LibInputBackend.Touch.cs","LibInputBackend","HandleTouch","正常系","TOUCH_CANCELでTouchCancelイベントが発火すること","初期化済み","type = TOUCH_CANCEL","RawPointerEventType.TouchCancel","高","タッチキャンセル"
"139","UT-LFB-139","src/Linux/Avalonia.LinuxFramebuffer/Input/LibInput/LibInputBackend.Touch.cs","LibInputBackend","HandleTouch","正常系","マルチタッチで各スロットが追跡されること","初期化済み","複数のタッチイベント","_pointers辞書に追加/削除","高","マルチタッチ"
"140","UT-LFB-140","src/Linux/Avalonia.LinuxFramebuffer/Input/LibInput/LibInputBackend.Touch.cs","LibInputBackend","HandleTouch","境界値","tev = IntPtr.Zeroの場合は何もしないこと","初期化済み","tev = IntPtr.Zero","早期リターン","中","無効タッチイベント"
"141","UT-LFB-141","src/Linux/Avalonia.LinuxFramebuffer/Input/LibInput/LibInputBackendOptions.cs","LibInputBackendOptions","Events (getter/init)","正常系","デフォルトがnullであること","なし","なし","Events = null","中","イベントリストデフォルト"
"142","UT-LFB-142","src/Linux/Avalonia.LinuxFramebuffer/Input/LibInput/LibInputBackendOptions.cs","LibInputBackendOptions","Events (getter/init)","正常系","イベントリストが設定できること","なし","Events = [""/dev/input/event0""]","Events設定","中","イベントリスト設定"
"143","UT-LFB-143","src/Linux/Avalonia.LinuxFramebuffer/Stubs.cs","CursorFactoryStub","GetCursor","正常系","StandardCursorTypeに対してCursorStubが返されること","なし","cursorType = Arrow","ICursorImplインスタンス","低","カーソルスタブ"
"144","UT-LFB-144","src/Linux/Avalonia.LinuxFramebuffer/Stubs.cs","CursorFactoryStub","CreateCursor","正常系","カスタムカーソルに対してCursorStubが返されること","なし","cursor = MockBitmapImpl, hotSpot = (0,0)","ICursorImplインスタンス","低","カスタムカーソルスタブ"
"145","UT-LFB-145","src/Linux/Avalonia.LinuxFramebuffer/Stubs.cs","CursorStub","Dispose","正常系","何も行わずに正常終了すること","なし","なし","正常終了","低","カーソル破棄"
"146","UT-LFB-146","src/Linux/Avalonia.LinuxFramebuffer/LinuxFramebufferPlatform.cs","LinuxFramebufferPlatformExtensions","StartLinuxFbDev(AppBuilder, string[], string, double, IInputBackend)","正常系","FbdevOutputで起動されること","有効なfbdev","args, fbdev = ""/dev/fb0"", scaling = 1.0","アプリケーション実行","高","FbDev起動"
"147","UT-LFB-147","src/Linux/Avalonia.LinuxFramebuffer/LinuxFramebufferPlatform.cs","LinuxFramebufferPlatformExtensions","StartLinuxFbDev(AppBuilder, string[], string, PixelFormat, double, IInputBackend)","正常系","ピクセルフォーマット指定でFbdevOutputが起動されること","有効なfbdev","args, fbdev, format = Rgba8888, scaling = 1.0","アプリケーション実行","高","FbDev起動(フォーマット指定)"
"148","UT-LFB-148","src/Linux/Avalonia.LinuxFramebuffer/LinuxFramebufferPlatform.cs","LinuxFramebufferPlatformExtensions","StartLinuxFbDev(AppBuilder, string[], FbDevOutputOptions, IInputBackend)","正常系","オプション指定でFbdevOutputが起動されること","有効なfbdev","args, options","アプリケーション実行","高","FbDev起動(オプション指定)"
"149","UT-LFB-149","src/Linux/Avalonia.LinuxFramebuffer/LinuxFramebufferPlatform.cs","LinuxFramebufferPlatformExtensions","StartLinuxDrm(AppBuilder, string[], string, double, IInputBackend)","正常系","DrmOutputで起動されること","有効なDRMカード","args, card = ""/dev/dri/card0"", scaling = 1.0","アプリケーション実行","高","DRM起動"
"150","UT-LFB-150","src/Linux/Avalonia.LinuxFramebuffer/LinuxFramebufferPlatform.cs","LinuxFramebufferPlatformExtensions","StartLinuxDrm(AppBuilder, string[], string, bool, DrmOutputOptions, IInputBackend)","正常系","オプション指定でDrmOutputが起動されること","有効なDRMカード","args, card, connectorsForceProbe = true, options","アプリケーション実行","高","DRM起動(オプション指定)"
"151","UT-LFB-151","src/Linux/Avalonia.LinuxFramebuffer/LinuxFramebufferPlatform.cs","LinuxFramebufferPlatformExtensions","StartLinuxDirect","正常系","カスタムIOutputBackendで起動されること","なし","args, outputBackend = MockOutputBackend","アプリケーション実行、exitCode返却","高","直接起動"
"152","UT-LFB-152","src/Linux/Avalonia.LinuxFramebuffer/DrmConnectorType.cs","DrmConnectorType","enum values","正常系","全コネクタタイプが正しい値を持つこと","なし","なし","None=0, VGA=1, ... DSI=16","低","列挙型定義"
