"No","テストID","対象ファイル","対象クラス/関数","対象メソッド","テスト観点","テストケース名","前提条件","入力値","期待結果","優先度","備考"
"1","UT-DES-001","src/Avalonia.DesignerSupport/DesignWindowLoader.cs","DesignWindowLoader","LoadDesignerWindow(string, string, string)","正常系","有効なXAMLからWindowが作成されること","AvaloniaLocatorが初期化済み","xaml=""<Window/>"", assemblyPath=""Test.dll"", xamlFileProjectPath=""/Test.xaml""","Windowオブジェクトが返却される","高","デザイナーウィンドウ読み込みの基本機能"
"2","UT-DES-002","src/Avalonia.DesignerSupport/DesignWindowLoader.cs","DesignWindowLoader","LoadDesignerWindow(string, string, string)","異常系","nullのXAMLが渡された場合","AvaloniaLocatorが初期化済み","xaml=null, assemblyPath=""Test.dll"", xamlFileProjectPath=""/Test.xaml""","例外がスローされる","高","入力検証"
"3","UT-DES-003","src/Avalonia.DesignerSupport/DesignWindowLoader.cs","DesignWindowLoader","LoadDesignerWindow(string, string, string)","異常系","空文字のXAMLが渡された場合","AvaloniaLocatorが初期化済み","xaml="""", assemblyPath=""Test.dll"", xamlFileProjectPath=""/Test.xaml""","例外がスローされる","中","空文字処理"
"4","UT-DES-004","src/Avalonia.DesignerSupport/DesignWindowLoader.cs","DesignWindowLoader","LoadDesignerWindow(string, string, string, double)","正常系","renderScalingが正しく適用されること","AvaloniaLocatorが初期化済み","xaml=""<Window/>"", assemblyPath=""Test.dll"", xamlFileProjectPath=""/Test.xaml"", renderScaling=2.0","RenderScalingが2.0のWindowが返却される","中","スケーリング設定"
"5","UT-DES-005","src/Avalonia.DesignerSupport/DesignWindowLoader.cs","DesignWindowLoader","LoadDesignerWindow(string, string, string, double)","境界値","renderScalingが0の場合","AvaloniaLocatorが初期化済み","xaml=""<Window/>"", renderScaling=0.0","適切な処理（例外または0として設定）","中","境界値テスト"
"6","UT-DES-006","src/Avalonia.DesignerSupport/DesignWindowLoader.cs","DesignWindowLoader","LoadDesignerWindow(string, string, string)","正常系","assemblyPathがnullの場合baseUriがnullになること","AvaloniaLocatorが初期化済み","xaml=""<Window/>"", assemblyPath=null, xamlFileProjectPath=null","baseUriがnullでWindowが作成される","中","アセンブリパス省略時の動作"
"7","UT-DES-007","src/Avalonia.DesignerSupport/DesignWindowLoader.cs","DesignWindowLoader","LoadDesignerWindow(string, string, string)","正常系","xamlFileProjectPathがnullの場合デフォルトパスが使用されること","AvaloniaLocatorが初期化済み","xaml=""<Window/>"", assemblyPath=""Test.dll"", xamlFileProjectPath=null","""/Fake.xaml""がbaseUriに使用される","中","デフォルトパス適用"
"8","UT-DES-008","src/Avalonia.DesignerSupport/DesignWindowLoader.cs","DesignWindowLoader","LoadDesignerWindow(string, string, string)","正常系","Windowではないコントロールの場合Windowでラップされること","AvaloniaLocatorが初期化済み","xaml=""<Button/>"", assemblyPath=""Test.dll"", xamlFileProjectPath=""/Test.xaml""","Buttonを含むWindowが返却される","中","非Windowコントロールの処理"
"9","UT-DES-009","src/Avalonia.DesignerSupport/DesignWindowLoader.cs","DesignWindowLoader","LoadDesignerWindow(string, string, string)","正常系","SizeToContentが適切に設定されること","AvaloniaLocatorが初期化済み","xaml=""<Window/>"" (Width/Heightが未設定)","SizeToContentがWidth|Heightに設定される","中","自動サイズ調整"
"10","UT-DES-010","src/Avalonia.DesignerSupport/Remote/RemoteDesignerEntryPoint.cs","RemoteDesignerEntryPoint","ParseCommandLineArgs","正常系","有効なコマンドライン引数が正しくパースされること","なし","args=[""--transport"", ""tcp-bson://127.0.0.1:30243/"", ""--session-id"", ""123"", ""app.exe""]","Transport, SessionId, AppPathが正しく設定されたCommandLineArgsが返却される","高","コマンドラインパース基本機能"
"11","UT-DES-011","src/Avalonia.DesignerSupport/Remote/RemoteDesignerEntryPoint.cs","RemoteDesignerEntryPoint","ParseCommandLineArgs","異常系","必須引数が不足している場合","なし","args=[""--transport"", ""tcp-bson://127.0.0.1:30243/""]","アプリケーションが終了する（PrintUsageが呼ばれる）","高","必須引数検証"
"12","UT-DES-012","src/Avalonia.DesignerSupport/Remote/RemoteDesignerEntryPoint.cs","RemoteDesignerEntryPoint","ParseCommandLineArgs","正常系","--methodオプションが正しくパースされること","なし","args=[""--transport"", ""tcp-bson://127.0.0.1:30243/"", ""--method"", ""html"", ""app.exe""]","Method=""html""が設定される","中","methodオプション"
"13","UT-DES-013","src/Avalonia.DesignerSupport/Remote/RemoteDesignerEntryPoint.cs","RemoteDesignerEntryPoint","ParseCommandLineArgs","正常系","--html-urlオプションが正しくパースされること","なし","args=[""--transport"", ""file://test.xaml"", ""--html-url"", ""http://localhost:8081"", ""app.exe""]","HtmlMethodListenUriが設定される","中","html-urlオプション"
"14","UT-DES-014","src/Avalonia.DesignerSupport/Remote/RemoteDesignerEntryPoint.cs","RemoteDesignerEntryPoint","CreateTransport","正常系","tcp-bsonスキームでBsonTcpTransportが作成されること","なし","args.Transport=tcp-bson://127.0.0.1:30243/","BsonTcpTransport接続が返却される","高","TCP転送作成"
"15","UT-DES-015","src/Avalonia.DesignerSupport/Remote/RemoteDesignerEntryPoint.cs","RemoteDesignerEntryPoint","CreateTransport","正常系","fileスキームでFileWatcherTransportが作成されること","なし","args.Transport=file://C:/test.xaml, args.AppPath=""app.exe""","FileWatcherTransportが返却される","高","ファイル監視転送作成"
"16","UT-DES-016","src/Avalonia.DesignerSupport/Remote/RemoteDesignerEntryPoint.cs","RemoteDesignerEntryPoint","CreateTransport","異常系","未対応のスキームの場合","なし","args.Transport=unknown://localhost/","PrintUsageが呼ばれnullが返却される","中","未対応スキーム処理"
"17","UT-DES-017","src/Avalonia.DesignerSupport/Remote/PreviewerWindowingPlatform.cs","PreviewerWindowingPlatform","CreateWindow","正常系","WindowStubが返却されること","Initializeが呼ばれ済み","なし","WindowStubインスタンスが返却される","中","スタブウィンドウ作成"
"18","UT-DES-018","src/Avalonia.DesignerSupport/Remote/PreviewerWindowingPlatform.cs","PreviewerWindowingPlatform","CreateEmbeddableWindow","正常系","PreviewerWindowImplが返却されること","Initializeが呼ばれ済み","なし","PreviewerWindowImplインスタンスが返却される","高","埋め込みウィンドウ作成"
"19","UT-DES-019","src/Avalonia.DesignerSupport/Remote/PreviewerWindowingPlatform.cs","PreviewerWindowingPlatform","CreateEmbeddableWindow","正常系","既存ウィンドウがある場合Disposeされること","前回のCreateEmbeddableWindow呼び出し済み","なし","前のウィンドウがDisposeされ新しいPreviewerWindowImplが返却される","中","既存ウィンドウの破棄"
"20","UT-DES-020","src/Avalonia.DesignerSupport/Remote/PreviewerWindowingPlatform.cs","PreviewerWindowingPlatform","Initialize","正常系","AvaloniaLocatorに必要なサービスが登録されること","なし","transport=有効なIAvaloniaRemoteTransportConnection","ICursorFactory, IKeyboardDevice, IPlatformSettings等が登録される","高","プラットフォーム初期化"
"21","UT-DES-021","src/Avalonia.DesignerSupport/Remote/PreviewerWindowingPlatform.cs","PreviewerWindowingPlatform","CreateTrayIcon","正常系","nullが返却されること","なし","なし","nullが返却される","低","トレイアイコン非対応"
"22","UT-DES-022","src/Avalonia.DesignerSupport/Remote/PreviewerWindowingPlatform.cs","PreviewerWindowingPlatform","GetWindowsZOrder","正常系","zOrderがクリアされること","なし","windows=任意のIWindowImpl配列, zOrder=Span<long>","zOrderがすべて0にクリアされる","低","Z順序取得"
"23","UT-DES-023","src/Avalonia.DesignerSupport/Remote/FileWatcherTransport.cs","FileWatcherTransport","コンストラクタ","正常系","有効なURIとappPathで初期化されること","なし","file=file://C:/test.xaml, appPath=""app.exe""","_pathと_appPathが正しく設定される","高","初期化"
"24","UT-DES-024","src/Avalonia.DesignerSupport/Remote/FileWatcherTransport.cs","FileWatcherTransport","Dispose","正常系","_disposedがtrueに設定されること","インスタンス作成済み","なし","_disposed=true","中","リソース解放"
"25","UT-DES-025","src/Avalonia.DesignerSupport/Remote/FileWatcherTransport.cs","FileWatcherTransport","Send","正常系","データがコンソールに出力されること","インスタンス作成済み","data=任意のオブジェクト","コンソールにデータ型名とプロパティが出力される","低","デバッグ出力"
"26","UT-DES-026","src/Avalonia.DesignerSupport/Remote/FileWatcherTransport.cs","FileWatcherTransport","Start","正常系","UpdaterThreadが開始されること","インスタンス作成済み","なし","ファイル監視が開始される","高","監視開始"
"27","UT-DES-027","src/Avalonia.DesignerSupport/Remote/FileWatcherTransport.cs","FileWatcherTransport","UpdaterThread","正常系","ファイル変更時にOnMessageが発火すること","Start呼び出し済み、ファイルが存在","ファイル内容が変更される","UpdateXamlMessageがOnMessageで発火される","高","ファイル変更検知"
"28","UT-DES-028","src/Avalonia.DesignerSupport/Remote/FileWatcherTransport.cs","FileWatcherTransport","UpdaterThread","正常系","ファイル内容が同じ場合OnMessageが発火しないこと","Start呼び出し済み","ファイル内容が変更なし","OnMessageが発火されない","中","変更なし時の動作"
"29","UT-DES-029","src/Avalonia.DesignerSupport/Remote/FileWatcherTransport.cs","FileWatcherTransport","PreviewerMethod","正常系","Methods.Htmlが返却されること","なし","なし","""html""が返却される","低","プロパティ値"
"30","UT-DES-030","src/Avalonia.DesignerSupport/Remote/HtmlTransport/HtmlTransport.cs","HtmlWebSocketTransport","コンストラクタ","正常系","HTTPスキームで正常に初期化されること","なし","signalTransport=有効な接続, listenUri=http://localhost:5000","リソースが読み込まれサーバーが起動する","高","初期化"
"31","UT-DES-031","src/Avalonia.DesignerSupport/Remote/HtmlTransport/HtmlTransport.cs","HtmlWebSocketTransport","コンストラクタ","異常系","HTTPスキーム以外の場合ArgumentExceptionがスローされること","なし","listenUri=https://localhost:5000","ArgumentExceptionがスローされる","高","スキーム検証"
"32","UT-DES-032","src/Avalonia.DesignerSupport/Remote/HtmlTransport/HtmlTransport.cs","HtmlWebSocketTransport","Send","正常系","FrameMessageの場合_lastFrameMessageに設定されること","インスタンス作成済み","data=FrameMessage","_lastFrameMessageが更新され_wakeupがSetされる","高","フレーム送信"
"33","UT-DES-033","src/Avalonia.DesignerSupport/Remote/HtmlTransport/HtmlTransport.cs","HtmlWebSocketTransport","Send","正常系","RequestViewportResizeMessageの場合何もしないこと","インスタンス作成済み","data=RequestViewportResizeMessage","Task.CompletedTaskが返却される","中","リサイズリクエスト無視"
"34","UT-DES-034","src/Avalonia.DesignerSupport/Remote/HtmlTransport/HtmlTransport.cs","HtmlWebSocketTransport","Send","正常系","その他のメッセージの場合signalTransportに転送されること","インスタンス作成済み","data=その他のオブジェクト","_signalTransport.Sendが呼ばれる","中","転送処理"
"35","UT-DES-035","src/Avalonia.DesignerSupport/Remote/HtmlTransport/HtmlTransport.cs","HtmlWebSocketTransport","Start","正常系","ClientSupportedPixelFormatsMessageが発火すること","インスタンス作成済み","なし","OnMessageでClientSupportedPixelFormatsMessageが発火","高","開始時の初期メッセージ"
"36","UT-DES-036","src/Avalonia.DesignerSupport/Remote/HtmlTransport/HtmlTransport.cs","HtmlWebSocketTransport","Dispose","正常系","リソースが解放されること","インスタンス作成済み","なし","_disposed=true, _pendingSocketとサーバーがDispose","中","リソース解放"
"37","UT-DES-037","src/Avalonia.DesignerSupport/Remote/HtmlTransport/HtmlTransport.cs","HtmlWebSocketTransport","IsValidOrigin","正常系","Originが一致する場合trueを返すこと","インスタンス作成済み","request.Headers[""Origin""]=_listenUri.OriginalString","trueが返却される","高","CORS検証"
"38","UT-DES-038","src/Avalonia.DesignerSupport/Remote/HtmlTransport/HtmlTransport.cs","HtmlWebSocketTransport","IsValidOrigin","正常系","vscode-webviewの場合trueを返すこと","インスタンス作成済み","request.Headers[""Origin""]=vscode-webview://xxx","trueが返却される","中","VSCode対応"
"39","UT-DES-039","src/Avalonia.DesignerSupport/Remote/HtmlTransport/HtmlTransport.cs","HtmlWebSocketTransport","IsValidOrigin","異常系","Originが不一致の場合falseを返すこと","インスタンス作成済み","request.Headers[""Origin""]=http://malicious.com","falseが返却される","高","不正Origin拒否"
"40","UT-DES-040","src/Avalonia.DesignerSupport/Remote/HtmlTransport/HtmlTransport.cs","HtmlWebSocketTransport","ParseMessage","正常系","frame-receivedメッセージが正しくパースされること","なし","message=""frame-received:123""","FrameReceivedMessage(SequenceId=123)が返却される","高","メッセージパース"
"41","UT-DES-041","src/Avalonia.DesignerSupport/Remote/HtmlTransport/HtmlTransport.cs","HtmlWebSocketTransport","ParseMessage","正常系","pointer-pressedメッセージが正しくパースされること","なし","message=""pointer-pressed:None:100.0:200.0:Left""","PointerPressedEventMessageが返却される","高","ポインタ押下パース"
"42","UT-DES-042","src/Avalonia.DesignerSupport/Remote/HtmlTransport/HtmlTransport.cs","HtmlWebSocketTransport","ParseMessage","正常系","pointer-releasedメッセージが正しくパースされること","なし","message=""pointer-released:None:100.0:200.0:Left""","PointerReleasedEventMessageが返却される","高","ポインタ解放パース"
"43","UT-DES-043","src/Avalonia.DesignerSupport/Remote/HtmlTransport/HtmlTransport.cs","HtmlWebSocketTransport","ParseMessage","正常系","pointer-movedメッセージが正しくパースされること","なし","message=""pointer-moved:None:100.0:200.0""","PointerMovedEventMessageが返却される","中","ポインタ移動パース"
"44","UT-DES-044","src/Avalonia.DesignerSupport/Remote/HtmlTransport/HtmlTransport.cs","HtmlWebSocketTransport","ParseMessage","正常系","scrollメッセージが正しくパースされること","なし","message=""scroll:None:100.0:200.0:0.0:10.0""","ScrollEventMessageが返却される","中","スクロールパース"
"45","UT-DES-045","src/Avalonia.DesignerSupport/Remote/HtmlTransport/HtmlTransport.cs","HtmlWebSocketTransport","ParseMessage","異常系","未知のメッセージタイプの場合nullを返すこと","なし","message=""unknown:data""","nullが返却される","中","未知メッセージ処理"
"46","UT-DES-046","src/Avalonia.DesignerSupport/Remote/HtmlTransport/HtmlTransport.cs","HtmlWebSocketTransport","ParseInputModifiers","正常系","修飾キーが正しくパースされること","なし","modifiersText=""Ctrl,Shift""","InputModifiers[]配列が返却される","中","修飾キーパース"
"47","UT-DES-047","src/Avalonia.DesignerSupport/Remote/HtmlTransport/HtmlTransport.cs","HtmlWebSocketTransport","ParseInputModifiers","境界値","空文字の場合nullを返すこと","なし","modifiersText=""""","nullが返却される","中","空修飾キー"
"48","UT-DES-048","src/Avalonia.DesignerSupport/Remote/HtmlTransport/SimpleWebSocketHttpServer.cs","SimpleWebSocketHttpServer","コンストラクタ","正常系","アドレスとポートが設定されること","なし","address=IPAddress.Loopback, port=8080","_addressと_portが正しく設定される","中","初期化"
"49","UT-DES-049","src/Avalonia.DesignerSupport/Remote/HtmlTransport/SimpleWebSocketHttpServer.cs","SimpleWebSocketHttpServer","Listen","正常系","TcpListenerが開始されること","なし","なし","_listenerが非nullになりStartされる","高","リスナー開始"
"50","UT-DES-050","src/Avalonia.DesignerSupport/Remote/HtmlTransport/SimpleWebSocketHttpServer.cs","SimpleWebSocketHttpServer","AcceptAsync","正常系","有効なHTTPリクエストが受信されること","Listen呼び出し済み","GETリクエストが送信される","SimpleWebSocketHttpRequestが返却される","高","リクエスト受信"
"51","UT-DES-051","src/Avalonia.DesignerSupport/Remote/HtmlTransport/SimpleWebSocketHttpServer.cs","SimpleWebSocketHttpServer","AcceptAsync","異常系","Listenが呼ばれていない場合InvalidOperationExceptionがスローされること","Listen未呼び出し","なし","InvalidOperationExceptionがスローされる","高","状態検証"
"52","UT-DES-052","src/Avalonia.DesignerSupport/Remote/HtmlTransport/SimpleWebSocketHttpServer.cs","SimpleWebSocketHttpServer","Dispose","正常系","リスナーが停止されること","Listen呼び出し済み","なし","_listenerがStopされnullに設定される","中","リソース解放"
"53","UT-DES-053","src/Avalonia.DesignerSupport/Remote/HtmlTransport/SimpleWebSocketHttpServer.cs","SimpleWebSocketHttpRequest","コンストラクタ","正常系","WebSocketリクエストが正しく識別されること","なし","headers={""Connection"":""Upgrade"", ""Upgrade"":""websocket"", ""Sec-WebSocket-Key"":""key""}","IsWebsocketRequest=trueが設定される","高","WebSocket識別"
"54","UT-DES-054","src/Avalonia.DesignerSupport/Remote/HtmlTransport/SimpleWebSocketHttpServer.cs","SimpleWebSocketHttpRequest","コンストラクタ","正常系","通常HTTPリクエストが正しく識別されること","なし","headers={}","IsWebsocketRequest=falseが設定される","中","通常HTTP識別"
"55","UT-DES-055","src/Avalonia.DesignerSupport/Remote/HtmlTransport/SimpleWebSocketHttpServer.cs","SimpleWebSocketHttpRequest","RespondAsync","正常系","HTTPレスポンスが送信されること","インスタンス作成済み","code=200, data=[""Hello""], contentType=""text/plain""","ヘッダーとボディが書き込まれストリームがDispose","高","レスポンス送信"
"56","UT-DES-056","src/Avalonia.DesignerSupport/Remote/HtmlTransport/SimpleWebSocketHttpServer.cs","SimpleWebSocketHttpRequest","AcceptWebSocket","正常系","WebSocketハンドシェイクが行われること","IsWebsocketRequest=true","protocol=null","SimpleWebSocketインスタンスが返却される","高","WebSocketアップグレード"
"57","UT-DES-057","src/Avalonia.DesignerSupport/Remote/HtmlTransport/SimpleWebSocketHttpServer.cs","SimpleWebSocket","SendMessage(string)","正常系","テキストメッセージが送信されること","インスタンス作成済み","text=""Hello World""","UTF8エンコードされたテキストフレームが送信される","高","テキスト送信"
"58","UT-DES-058","src/Avalonia.DesignerSupport/Remote/HtmlTransport/SimpleWebSocketHttpServer.cs","SimpleWebSocket","SendMessage(bool, byte[])","正常系","バイナリメッセージが送信されること","インスタンス作成済み","isText=false, data=[1,2,3]","バイナリフレームが送信される","高","バイナリ送信"
"59","UT-DES-059","src/Avalonia.DesignerSupport/Remote/HtmlTransport/SimpleWebSocketHttpServer.cs","SimpleWebSocket","SendFrame","境界値","125バイト以下のデータ","インスタンス作成済み","data.Length=100","2バイトヘッダーで送信される","中","短いフレーム"
"60","UT-DES-060","src/Avalonia.DesignerSupport/Remote/HtmlTransport/SimpleWebSocketHttpServer.cs","SimpleWebSocket","SendFrame","境界値","126-65535バイトのデータ","インスタンス作成済み","data.Length=1000","4バイトヘッダーで送信される","中","中サイズフレーム"
"61","UT-DES-061","src/Avalonia.DesignerSupport/Remote/HtmlTransport/SimpleWebSocketHttpServer.cs","SimpleWebSocket","SendFrame","境界値","65536バイト以上のデータ","インスタンス作成済み","data.Length=100000","10バイトヘッダーで送信される","中","大サイズフレーム"
"62","UT-DES-062","src/Avalonia.DesignerSupport/Remote/HtmlTransport/SimpleWebSocketHttpServer.cs","SimpleWebSocket","ReceiveMessage","正常系","テキストメッセージが受信されること","接続済み","テキストフレームが送信される","IsText=true, Data=受信データのSimpleWebSocketMessageが返却される","高","テキスト受信"
"63","UT-DES-063","src/Avalonia.DesignerSupport/Remote/HtmlTransport/SimpleWebSocketHttpServer.cs","SimpleWebSocket","ReceiveMessage","正常系","Closeフレームの場合nullを返すこと","接続済み","Closeフレームが送信される","nullが返却される","高","接続終了検知"
"64","UT-DES-064","src/Avalonia.DesignerSupport/Remote/HtmlTransport/SimpleWebSocketHttpServer.cs","SimpleWebSocket","ReceiveMessage","正常系","Pingフレームの場合Pongが返されること","接続済み","Pingフレームが送信される","Pongフレームが送信される","中","Ping/Pong処理"
"65","UT-DES-065","src/Avalonia.DesignerSupport/Remote/HtmlTransport/SimpleWebSocketHttpServer.cs","SimpleWebSocket","ReceiveMessage","正常系","フラグメント化されたメッセージが正しく結合されること","接続済み","複数のContinueフレームが送信される","結合されたSimpleWebSocketMessageが返却される","中","フラグメント処理"
"66","UT-DES-066","src/Avalonia.DesignerSupport/Remote/HtmlTransport/SimpleWebSocketHttpServer.cs","SimpleWebSocket","Dispose","正常系","ストリームが解放されること","インスタンス作成済み","なし","_streamがDisposeされnullに設定される","中","リソース解放"
"67","UT-DES-067","src/Avalonia.DesignerSupport/Remote/HtmlTransport/SimpleWebSocketHttpServer.cs","SimpleWebSocketMessage","AsString","正常系","データがUTF8文字列に変換されること","Data=[72,101,108,108,111]","なし","""Hello""が返却される","中","文字列変換"
"68","UT-DES-068","src/Avalonia.DesignerSupport/Remote/DetachableTransportConnection.cs","DetachableTransportConnection","コンストラクタ","正常系","内部接続が設定されOnMessageが登録されること","なし","inner=有効なIAvaloniaRemoteTransportConnection","_innerが設定されOnMessageハンドラが登録される","高","初期化"
"69","UT-DES-069","src/Avalonia.DesignerSupport/Remote/DetachableTransportConnection.cs","DetachableTransportConnection","Dispose","正常系","OnMessageが解除され_innerがnullになること","インスタンス作成済み","なし","OnMessageハンドラが解除され_inner=null","高","リソース解放"
"70","UT-DES-070","src/Avalonia.DesignerSupport/Remote/DetachableTransportConnection.cs","DetachableTransportConnection","FireOnMessage","正常系","OnMessageイベントが発火すること","OnMessageハンドラ登録済み","transport=this, obj=任意のオブジェクト","登録されたハンドラが呼び出される","高","メッセージ転送"
"71","UT-DES-071","src/Avalonia.DesignerSupport/Remote/DetachableTransportConnection.cs","DetachableTransportConnection","Send","正常系","内部接続のSendが呼び出されること","インスタンス作成済み","data=任意のオブジェクト","_inner.Sendが呼び出される","高","送信転送"
"72","UT-DES-072","src/Avalonia.DesignerSupport/Remote/DetachableTransportConnection.cs","DetachableTransportConnection","Send","正常系","Dispose後はnullが返却されること","Dispose呼び出し済み","data=任意のオブジェクト","nullが返却される（_inner?.Send）","中","Dispose後の送信"
"73","UT-DES-073","src/Avalonia.DesignerSupport/Remote/DetachableTransportConnection.cs","DetachableTransportConnection","Start","正常系","内部接続のStartが呼び出されること","インスタンス作成済み","なし","_inner.Startが呼び出される","中","開始転送"
"74","UT-DES-074","src/Avalonia.DesignerSupport/Remote/Stubs.cs","WindowStub","コンストラクタ","正常系","デフォルト値で初期化されること","なし","parent=null","RenderScaling=1.0, DesktopScaling=1.0等のデフォルト値が設定される","中","スタブ初期化"
"75","UT-DES-075","src/Avalonia.DesignerSupport/Remote/Stubs.cs","WindowStub","コンストラクタ","正常系","parentが指定された場合PopupPositionerが設定されること","なし","parent=有効なIWindowImpl","PopupPositionerが非nullになる","中","ポップアップ親設定"
"76","UT-DES-076","src/Avalonia.DesignerSupport/Remote/Stubs.cs","WindowStub","CreatePopup","正常系","新しいWindowStubが返却されること","インスタンス作成済み","なし","thisを親とするWindowStubが返却される","中","ポップアップ作成"
"77","UT-DES-077","src/Avalonia.DesignerSupport/Remote/Stubs.cs","WindowStub","PointToClient","正常系","PixelPointがPointに変換されること","なし","p=PixelPoint(100,200)","Point(100,200)が返却される","低","座標変換"
"78","UT-DES-078","src/Avalonia.DesignerSupport/Remote/Stubs.cs","WindowStub","PointToScreen","正常系","PointがPixelPointに変換されること","なし","p=Point(100,200)","PixelPoint(100,200)が返却される","低","座標変換"
"79","UT-DES-079","src/Avalonia.DesignerSupport/Remote/Stubs.cs","WindowStub","TryGetFeature","正常系","IStorageProviderの場合NoopStorageProviderが返却されること","なし","featureType=typeof(IStorageProvider)","NoopStorageProviderインスタンスが返却される","中","機能取得"
"80","UT-DES-080","src/Avalonia.DesignerSupport/Remote/Stubs.cs","WindowStub","TryGetFeature","正常系","IScreenImplの場合ScreenStubが返却されること","なし","featureType=typeof(IScreenImpl)","ScreenStubインスタンスが返却される","中","機能取得"
"81","UT-DES-081","src/Avalonia.DesignerSupport/Remote/Stubs.cs","WindowStub","TryGetFeature","正常系","未対応の機能の場合nullが返却されること","なし","featureType=typeof(未対応の型)","nullが返却される","中","未対応機能"
"82","UT-DES-082","src/Avalonia.DesignerSupport/Remote/Stubs.cs","ClipboardStub","ClearAsync","正常系","Task.CompletedTaskが返却されること","なし","なし","Task.CompletedTaskが返却される","低","スタブ動作"
"83","UT-DES-083","src/Avalonia.DesignerSupport/Remote/Stubs.cs","ClipboardStub","TryGetDataAsync","正常系","nullタスクが返却されること","なし","なし","Task<null>が返却される","低","スタブ動作"
"84","UT-DES-084","src/Avalonia.DesignerSupport/Remote/Stubs.cs","CursorFactoryStub","GetCursor","正常系","CursorStubが返却されること","なし","cursorType=StandardCursorType.Arrow","CursorStubインスタンスが返却される","低","カーソル作成"
"85","UT-DES-085","src/Avalonia.DesignerSupport/Remote/Stubs.cs","CursorFactoryStub","CreateCursor","正常系","CursorStubが返却されること","なし","cursor=任意のIBitmapImpl, hotSpot=PixelPoint(0,0)","CursorStubインスタンスが返却される","低","カスタムカーソル作成"
"86","UT-DES-086","src/Avalonia.DesignerSupport/Remote/Stubs.cs","IconLoaderStub","LoadIcon(string)","正常系","IconStubが返却されること","なし","fileName=""icon.ico""","IconStubインスタンスが返却される","低","アイコン読み込み"
"87","UT-DES-087","src/Avalonia.DesignerSupport/Remote/Stubs.cs","IconLoaderStub","LoadIcon(Stream)","正常系","IconStubが返却されること","なし","stream=任意のStream","IconStubインスタンスが返却される","低","ストリームからアイコン読み込み"
"88","UT-DES-088","src/Avalonia.DesignerSupport/Remote/Stubs.cs","ScreenStub","GetAllScreenKeys","正常系","1つの画面キーが返却されること","なし","なし","[1]が返却される","低","画面一覧"
"89","UT-DES-089","src/Avalonia.DesignerSupport/Remote/Stubs.cs","NoopStorageProvider","OpenFilePickerAsync","正常系","空のリストが返却されること","なし","options=任意のFilePickerOpenOptions","空のIReadOnlyList<IStorageFile>が返却される","低","ファイルピッカー無効化"
"90","UT-DES-090","src/Avalonia.DesignerSupport/Remote/Stubs.cs","NoopStorageProvider","SaveFilePickerAsync","正常系","nullが返却されること","なし","options=任意のFilePickerSaveOptions","nullが返却される","低","保存ピッカー無効化"
"91","UT-DES-091","src/Avalonia.DesignerSupport/Remote/Stubs.cs","NoopStorageProvider","OpenFolderPickerAsync","正常系","空のリストが返却されること","なし","options=任意のFolderPickerOpenOptions","空のIReadOnlyList<IStorageFolder>が返却される","低","フォルダピッカー無効化"
"92","UT-DES-092","src/Avalonia.DesignerSupport/Remote/PreviewerWindowImpl.cs","PreviewerWindowImpl","コンストラクタ","正常系","ClientSizeが1x1で初期化されること","なし","transport=有効なIAvaloniaRemoteTransportConnection","ClientSize=Size(1,1)が設定される","高","初期化"
"93","UT-DES-093","src/Avalonia.DesignerSupport/Remote/PreviewerWindowImpl.cs","PreviewerWindowImpl","OnMessage","正常系","ClientViewportAllocatedMessageでRenderScalingが更新されること","インスタンス作成済み","alloc.DpiX=192","RenderScaling=2.0が設定される","高","DPI対応"
"94","UT-DES-094","src/Avalonia.DesignerSupport/Remote/PreviewerWindowImpl.cs","PreviewerWindowImpl","Resize","正常系","RequestViewportResizeMessageが送信されること","インスタンス作成済み","clientSize=Size(800,600)","RequestViewportResizeMessageがtransportに送信される","高","リサイズ処理"
"95","UT-DES-095","src/Avalonia.DesignerSupport/Remote/PreviewerWindowImpl.cs","PreviewerWindowImpl","Resize","境界値","MaxAutoSizeHintを超えるサイズの場合制限されること","インスタンス作成済み","clientSize=Size(10000,10000)","ClientSizeがMaxAutoSizeHint(4096,4096)に制限される","高","サイズ制限"
"96","UT-DES-096","src/Avalonia.DesignerSupport/Remote/PreviewerWindowImpl.cs","PreviewerWindowImpl","TryGetFeature","正常系","IStorageProviderの場合NoopStorageProviderが返却されること","なし","featureType=typeof(IStorageProvider)","NoopStorageProviderインスタンスが返却される","中","機能取得"
"97","UT-DES-097","src/Avalonia.DesignerSupport/Remote/PreviewerWindowImpl.cs","PreviewerWindowImpl","TryGetFeature","正常系","IScreenImplの場合ScreenStubが返却されること","なし","featureType=typeof(IScreenImpl)","ScreenStubインスタンスが返却される","中","機能取得"
"98","UT-DES-098","src/Avalonia.DesignerSupport/Remote/PreviewerWindowImpl.cs","PreviewerWindowImpl","DesktopScaling","正常系","1.0が返却されること","なし","なし","1.0が返却される","低","プロパティ値"
"99","UT-DES-099","src/Avalonia.DesignerSupport/Remote/PreviewerWindowImpl.cs","PreviewerWindowImpl","MaxAutoSizeHint","正常系","4096x4096が返却されること","なし","なし","Size(4096,4096)が返却される","低","プロパティ値"
"100","UT-DES-100","src/Avalonia.DesignerSupport/Remote/PreviewerWindowImpl.cs","PreviewerWindowImpl","NeedsManagedDecorations","正常系","falseが返却されること","なし","なし","falseが返却される","低","プロパティ値"
