"No","テストID","対象ファイル","対象クラス/関数","対象メソッド","テスト観点","テストケース名","前提条件","入力値","期待結果","優先度","備考"
"1","UT-WFI-001","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","コンストラクタ","正常系","インスタンスが正常に生成されること","AvaloniaLocatorが利用可能","なし","WinFormsAvaloniaControlHostインスタンスが生成される","高","コントロールホストの基本初期化"
"2","UT-WFI-002","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","コンストラクタ","正常系","ControlStylesが正しく設定されること","なし","なし","AllPaintingInWmPaintスタイルがtrueに設定される","中","描画スタイルの初期設定"
"3","UT-WFI-003","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","コンストラクタ","正常系","IInputManagerがnullでない場合、PostProcessがサブスクライブされること","IInputManagerが利用可能","なし","_postProcessInputDisposableがnullでないこと","中","入力マネージャとの連携"
"4","UT-WFI-004","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","コンストラクタ","異常系","IInputManagerがnullの場合でもインスタンスが生成されること","IInputManagerが利用不可","なし","例外がスローされずインスタンスが生成される","中","nullセーフな初期化"
"5","UT-WFI-005","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","Content","正常系","Contentプロパティでコントロールが設定できること","インスタンス生成済み","有効なAvaloniaコントロール","Contentプロパティに値が設定される","高","コントロール設定の基本機能"
"6","UT-WFI-006","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","Content","正常系","Contentプロパティでコントロールが取得できること","Contentが設定済み","なし","設定したコントロールが返却される","高","コントロール取得の基本機能"
"7","UT-WFI-007","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","Content","正常系","Contentにnullが設定できること","インスタンス生成済み","null","Contentがnullに設定される","中","null許容の確認"
"8","UT-WFI-008","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","Content","正常系","Content設定時に_rootがnullでなければ_root.Contentも更新されること","_rootが初期化済み","有効なAvaloniaコントロール","_root.Contentも同じ値に設定される","高","ルートとの同期"
"9","UT-WFI-009","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","Content","正常系","同じ値を再設定した場合は更新処理がスキップされること","Contentが既に設定済み","同じコントロール","_root.Contentの更新が呼ばれないこと","低","不要な更新の回避"
"10","UT-WFI-010","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","PostProcessInput","正常系","キーボードフォーカスがある状態でテキスト入力が処理されること","_root.IsKeyboardFocusWithinがtrue","RawTextInputEventArgs(text=""a"")","ProcessDialogCharが呼ばれHandledがtrueになる","高","テキスト入力処理"
"11","UT-WFI-011","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","PostProcessInput","正常系","キーボードフォーカスがない場合は早期リターンすること","_root.IsKeyboardFocusWithinがfalse","RawTextInputEventArgs","ProcessDialogCharが呼ばれないこと","中","フォーカス状態の確認"
"12","UT-WFI-012","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","PostProcessInput","正常系","既に処理済みのイベントはスキップされること","args.Handledがtrue","RawTextInputEventArgs","ProcessDialogCharが呼ばれないこと","中","処理済みイベントのスキップ"
"13","UT-WFI-013","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","PostProcessInput","異常系","空文字列のテキストは処理されないこと","キーボードフォーカスあり","RawTextInputEventArgs(text="""")","ProcessDialogCharが呼ばれないこと","中","空文字列のハンドリング"
"14","UT-WFI-014","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","PostProcessInput","異常系","nullテキストは処理されないこと","キーボードフォーカスあり","RawTextInputEventArgs(text=null)","ProcessDialogCharが呼ばれないこと","中","nullテキストのハンドリング"
"15","UT-WFI-015","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","PostProcessInput","正常系","RawTextInputEventArgs以外のイベントは処理されないこと","キーボードフォーカスあり","RawKeyEventArgs","ProcessDialogCharが呼ばれないこと","中","イベント型の判別"
"16","UT-WFI-016","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","OnHandleCreated","正常系","DesignModeでない場合、EmbeddableControlRootが初期化されること","DesignModeがfalse","EventArgs","_rootがnullでないこと","高","ランタイムでの初期化"
"17","UT-WFI-017","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","OnHandleCreated","正常系","DesignModeでない場合、_root.Contentに_contentが設定されること","DesignModeがfalse、_contentが設定済み","EventArgs","_root.Contentが_contentと同じ値","高","コンテンツの同期"
"18","UT-WFI-018","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","OnHandleCreated","正常系","DesignModeでない場合、レンダリングが開始されること","DesignModeがfalse","EventArgs","_root.StartRenderingが呼ばれること","高","レンダリング開始"
"19","UT-WFI-019","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","OnHandleCreated","正常系","DesignModeでない場合、GotFocusイベントがサブスクライブされること","DesignModeがfalse","EventArgs","GotFocusハンドラが登録されること","中","イベントハンドラの登録"
"20","UT-WFI-020","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","OnHandleCreated","正常系","DesignModeでない場合、SetParentが呼ばれること","DesignModeがfalse","EventArgs","UnmanagedMethods.SetParentが正しいハンドルで呼ばれる","高","親ウィンドウの設定"
"21","UT-WFI-021","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","OnHandleCreated","正常系","MessageFilterが追加されること","なし","EventArgs","Application.AddMessageFilterが呼ばれること","中","メッセージフィルタの登録"
"22","UT-WFI-022","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","OnHandleCreated","正常系","DesignModeの場合、_rootが初期化されないこと","DesignModeがtrue","EventArgs","_rootがnullのままであること","中","デザインモードでの動作"
"23","UT-WFI-023","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","OnHandleDestroyed","正常系","MessageFilterが削除されること","MessageFilterが登録済み","EventArgs","Application.RemoveMessageFilterが呼ばれること","中","メッセージフィルタの解除"
"24","UT-WFI-024","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","OnHandleDestroyed","正常系","_rootのレンダリングが停止されること","_rootが初期化済み","EventArgs","_root.StopRenderingが呼ばれること","高","レンダリング停止"
"25","UT-WFI-025","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","OnHandleDestroyed","正常系","_rootがDisposeされること","_rootが初期化済み","EventArgs","_root.Disposeが呼ばれること","高","リソース解放"
"26","UT-WFI-026","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","OnHandleDestroyed","正常系","_rootがnullに設定されること","_rootが初期化済み","EventArgs","_rootがnullになること","中","参照のクリア"
"27","UT-WFI-027","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","OnHandleDestroyed","異常系","_rootがnullの場合でもエラーにならないこと","_rootがnull","EventArgs","例外がスローされないこと","中","nullセーフな破棄処理"
"28","UT-WFI-028","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","Dispose","正常系","disposing=trueの場合、_rootがDisposeされること","_rootが初期化済み","disposing=true","_root.Disposeが呼ばれること","高","マネージドリソースの解放"
"29","UT-WFI-029","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","Dispose","正常系","disposing=trueの場合、_rootがnullに設定されること","_rootが初期化済み","disposing=true","_rootがnullになること","中","参照のクリア"
"30","UT-WFI-030","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","Dispose","正常系","_postProcessInputDisposableがDisposeされること","サブスクリプションが有効","disposing=true/false","_postProcessInputDisposable.Disposeが呼ばれること","高","サブスクリプションの解除"
"31","UT-WFI-031","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","Dispose","正常系","_postProcessInputDisposableがnullに設定されること","サブスクリプションが有効","disposing=true/false","_postProcessInputDisposableがnullになること","中","参照のクリア"
"32","UT-WFI-032","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","Dispose","正常系","disposing=falseの場合、_rootがDisposeされないこと","_rootが初期化済み","disposing=false","_root.Disposeが呼ばれないこと","中","ファイナライザからの呼び出し"
"33","UT-WFI-033","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","Dispose","異常系","_rootがnullの場合でもエラーにならないこと","_rootがnull","disposing=true","例外がスローされないこと","中","nullセーフなDispose"
"34","UT-WFI-034","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","Dispose","異常系","_postProcessInputDisposableがnullの場合でもエラーにならないこと","_postProcessInputDisposableがnull","disposing=true","例外がスローされないこと","中","nullセーフなDispose"
"35","UT-WFI-035","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","RootGotFocus","正常系","SetFocusが呼ばれること","WindowHandleが有効","RoutedEventArgs","UnmanagedMethods.SetFocusが正しいハンドルで呼ばれる","中","フォーカス転送"
"36","UT-WFI-036","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","OnGotFocus","正常系","WindowHandleが有効な場合、SetFocusが呼ばれること","WindowHandleがIntPtr.Zero以外","EventArgs","UnmanagedMethods.SetFocusが呼ばれること","中","フォーカスイベント処理"
"37","UT-WFI-037","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","OnGotFocus","正常系","WindowHandleがdefaultの場合、SetFocusが呼ばれないこと","WindowHandleがIntPtr.Zero","EventArgs","UnmanagedMethods.SetFocusが呼ばれないこと","中","無効なハンドルの処理"
"38","UT-WFI-038","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","FixPosition","正常系","有効なハンドルとサイズでMoveWindowが呼ばれること","WindowHandleが有効、Width>0、Height>0","なし","MoveWindowが(0,0,Width,Height,true)で呼ばれる","高","ウィンドウ位置調整"
"39","UT-WFI-039","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","FixPosition","境界値","Widthが0の場合、MoveWindowが呼ばれないこと","WindowHandleが有効、Width=0","なし","MoveWindowが呼ばれないこと","中","ゼロ幅の処理"
"40","UT-WFI-040","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","FixPosition","境界値","Heightが0の場合、MoveWindowが呼ばれないこと","WindowHandleが有効、Height=0","なし","MoveWindowが呼ばれないこと","中","ゼロ高さの処理"
"41","UT-WFI-041","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","FixPosition","正常系","WindowHandleがdefaultの場合、MoveWindowが呼ばれないこと","WindowHandleがIntPtr.Zero","なし","MoveWindowが呼ばれないこと","中","無効なハンドルの処理"
"42","UT-WFI-042","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","OnResize","正常系","リサイズ時にFixPositionが呼ばれること","コントロールが初期化済み","EventArgs","FixPositionが呼ばれること","高","リサイズ時の位置調整"
"43","UT-WFI-043","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","OnResize","正常系","base.OnResizeが呼ばれること","コントロールが初期化済み","EventArgs","基底クラスのOnResizeが呼ばれること","低","基底クラスの呼び出し"
"44","UT-WFI-044","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","OnPaint","正常系","DesignModeでメッセージと枠線が描画されること","DesignModeがtrue","PaintEventArgs","Graphics.DrawRectangleとDrawStringが呼ばれること","中","デザインモードでの描画"
"45","UT-WFI-045","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","OnPaint","正常系","DesignModeで対角線が描画されること","DesignModeがtrue","PaintEventArgs","Graphics.DrawLineが2回呼ばれること","低","デザインモードの視覚表示"
"46","UT-WFI-046","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","OnPaint","正常系","DesignModeでない場合は何も描画されないこと","DesignModeがfalse","PaintEventArgs","描画メソッドが呼ばれないこと","中","ランタイムでの描画スキップ"
"47","UT-WFI-047","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","IsInputChar","正常系","任意の文字でtrueが返却されること","なし","任意のchar","trueが返却される","中","入力文字の受け入れ"
"48","UT-WFI-048","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","IsInputChar","境界値","null文字でtrueが返却されること","なし","'\0'","trueが返却される","低","特殊文字の処理"
"49","UT-WFI-049","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","PreFilterMessage","正常系","WM_LBUTTONDOWNで別ウィンドウの場合、Deactivatedが呼ばれること","_root.PlatformImplがWindowImpl、IsOurWindowがfalse","Message(WM_LBUTTONDOWN)","Deactivatedが呼ばれること","高","マウスクリックでの非アクティブ化"
"50","UT-WFI-050","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","PreFilterMessage","正常系","WM_MBUTTONDOWNで別ウィンドウの場合、Deactivatedが呼ばれること","_root.PlatformImplがWindowImpl、IsOurWindowがfalse","Message(WM_MBUTTONDOWN)","Deactivatedが呼ばれること","中","中ボタンクリックでの非アクティブ化"
"51","UT-WFI-051","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","PreFilterMessage","正常系","WM_RBUTTONDOWNで別ウィンドウの場合、Deactivatedが呼ばれること","_root.PlatformImplがWindowImpl、IsOurWindowがfalse","Message(WM_RBUTTONDOWN)","Deactivatedが呼ばれること","中","右ボタンクリックでの非アクティブ化"
"52","UT-WFI-052","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","PreFilterMessage","正常系","WM_NCLBUTTONDOWNで別ウィンドウの場合、Deactivatedが呼ばれること","_root.PlatformImplがWindowImpl、IsOurWindowがfalse","Message(WM_NCLBUTTONDOWN)","Deactivatedが呼ばれること","中","非クライアント領域左クリックでの非アクティブ化"
"53","UT-WFI-053","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","PreFilterMessage","正常系","WM_NCMBUTTONDOWNで別ウィンドウの場合、Deactivatedが呼ばれること","_root.PlatformImplがWindowImpl、IsOurWindowがfalse","Message(WM_NCMBUTTONDOWN)","Deactivatedが呼ばれること","低","非クライアント領域中クリックでの非アクティブ化"
"54","UT-WFI-054","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","PreFilterMessage","正常系","WM_NCRBUTTONDOWNで別ウィンドウの場合、Deactivatedが呼ばれること","_root.PlatformImplがWindowImpl、IsOurWindowがfalse","Message(WM_NCRBUTTONDOWN)","Deactivatedが呼ばれること","低","非クライアント領域右クリックでの非アクティブ化"
"55","UT-WFI-055","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","PreFilterMessage","正常系","IsOurWindowがtrueの場合、Deactivatedが呼ばれないこと","_root.PlatformImplがWindowImpl、IsOurWindowがtrue","Message(WM_LBUTTONDOWN)","Deactivatedが呼ばれないこと","高","自ウィンドウクリック時の動作"
"56","UT-WFI-056","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","PreFilterMessage","正常系","PlatformImplがWindowImplでない場合、Deactivatedが呼ばれないこと","_root.PlatformImplがWindowImplでない","Message(WM_LBUTTONDOWN)","Deactivatedが呼ばれないこと","中","異なるプラットフォーム実装時の動作"
"57","UT-WFI-057","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","PreFilterMessage","正常系","常にfalseが返却されること","なし","任意のMessage","falseが返却される","高","メッセージの通過"
"58","UT-WFI-058","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","PreFilterMessage","正常系","マウスダウン以外のメッセージでは何も処理されないこと","なし","Message(WM_MOUSEMOVE)","Deactivatedが呼ばれないこと","中","無関係なメッセージの無視"
"59","UT-WFI-059","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","WindowHandle","正常系","_rootが有効な場合、正しいハンドルが返却されること","_rootが初期化済みでハンドルが有効","なし","有効なIntPtrが返却される","中","ハンドル取得"
"60","UT-WFI-060","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","WindowHandle","正常系","_rootがnullの場合、IntPtr.Zeroが返却されること","_rootがnull","なし","IntPtr.Zeroが返却される","中","nullセーフなハンドル取得"
"61","UT-WFI-061","src/Windows/Avalonia.Win32.Interoperability/WinForms/WinFormsAvaloniaControlHost.cs","WinFormsAvaloniaControlHost","WindowHandle","正常系","TryGetPlatformHandleがnullの場合、IntPtr.Zeroが返却されること","_rootは有効だがハンドルがnull","なし","IntPtr.Zeroが返却される","中","ハンドル未取得時の動作"
