1
+ using System . Windows . Media ;
2
+
1
3
namespace MaterialDesignThemes . UITests . WPF . TreeListViews ;
2
4
3
5
public class TreeListViewTests : TestBase
4
6
{
5
7
public TreeListViewTests ( ITestOutputHelper output )
6
8
: base ( output )
7
9
{
8
- AttachedDebuggerToRemoteProcess = true ;
10
+ AttachedDebuggerToRemoteProcess = false ;
9
11
}
10
12
11
13
[ Fact ]
@@ -930,6 +932,35 @@ public async Task TopLevelItemWhichHasBeenExpandedAndCollapsed_MovesAndMaintains
930
932
recorder . Success ( ) ;
931
933
}
932
934
935
+ [ Fact ]
936
+ public async Task TreeListView_WithTemplateSelector_UsesSelectorTemplates ( )
937
+ {
938
+ await using var recorder = new TestRecorder ( App ) ;
939
+
940
+ IVisualElement < TreeListView > treeListView = ( await LoadUserControl < TreeListViewTemplateSelector > ( ) ) . As < TreeListView > ( ) ;
941
+
942
+ IVisualElement < TreeListViewItem > item3 = await treeListView . GetElement < TreeListViewItem > ( "/TreeListViewItem[2]" ) ;
943
+ IVisualElement < TreeListViewItem > item4 = await treeListView . GetElement < TreeListViewItem > ( "/TreeListViewItem[3]" ) ;
944
+
945
+ await item3 . LeftClickExpander ( ) ;
946
+ await Task . Delay ( 500 ) ;
947
+ await item4 . LeftClickExpander ( ) ;
948
+ await Task . Delay ( 500 ) ;
949
+
950
+ await AssertTreeItemContent ( treeListView , 0 , "Foo" , Colors . Blue ) ;
951
+ await AssertTreeItemContent ( treeListView , 1 , "42" , Colors . Red ) ;
952
+ await AssertTreeItemContent ( treeListView , 2 , "24" , Colors . Red , true ) ;
953
+ await AssertTreeItemContent ( treeListView , 3 , "a" , Colors . Blue ) ;
954
+ await AssertTreeItemContent ( treeListView , 4 , "b" , Colors . Blue ) ;
955
+ await AssertTreeItemContent ( treeListView , 5 , "c" , Colors . Blue ) ;
956
+ await AssertTreeItemContent ( treeListView , 6 , "Bar" , Colors . Blue , true ) ;
957
+ await AssertTreeItemContent ( treeListView , 7 , "1" , Colors . Red ) ;
958
+ await AssertTreeItemContent ( treeListView , 8 , "2" , Colors . Red ) ;
959
+ await AssertTreeItemContent ( treeListView , 9 , "3" , Colors . Red ) ;
960
+
961
+ recorder . Success ( ) ;
962
+ }
963
+
933
964
private static async Task AssertTreeItemContent ( IVisualElement < TreeListView > treeListView , int index , string content , bool isExpanded = false )
934
965
{
935
966
await Wait . For ( async ( ) =>
@@ -940,6 +971,23 @@ await Wait.For(async () =>
940
971
} ) ;
941
972
}
942
973
974
+ private static async Task AssertTreeItemContent (
975
+ IVisualElement < TreeListView > treeListView ,
976
+ int index ,
977
+ string content ,
978
+ Color foreground ,
979
+ bool isExpanded = false )
980
+ {
981
+ await Wait . For ( async ( ) =>
982
+ {
983
+ IVisualElement < TreeListViewItem > treeItem = await treeListView . GetElement < TreeListViewItem > ( $ "/TreeListViewItem[{ index } ]") ;
984
+ Assert . Equal ( content , await treeItem . GetContentText ( ) ) ;
985
+ Assert . Equal ( isExpanded , await treeItem . GetIsExpanded ( ) ) ;
986
+ IVisualElement < TextBlock > textBlock = await treeItem . GetElement < TextBlock > ( ) ;
987
+ Assert . Equal ( foreground , await textBlock . GetForegroundColor ( ) ) ;
988
+ } ) ;
989
+ }
990
+
943
991
private static async Task AddChildren ( IVisualElement < TreeListViewItem > item , int numChildren , IVisualElement < Button > addButton )
944
992
{
945
993
await item . LeftClick ( ) ;
0 commit comments