This repository was archived by the owner on Sep 25, 2024. It is now read-only.
File tree Expand file tree Collapse file tree 2 files changed +30
-1
lines changed
Xamarin.PropertyEditing.Tests
Xamarin.PropertyEditing/ViewModels Expand file tree Collapse file tree 2 files changed +30
-1
lines changed Original file line number Diff line number Diff line change @@ -335,6 +335,35 @@ public void AddGroupedAtEnd ()
335335 Assert . That ( vm . ArrangedEditors . Any ( g => g . Category == "ints" ) , Is . True , "Does not have grouped editors category" ) ;
336336 }
337337
338+ [ Test ]
339+ [ Description ( "#544 Bug coverage for removing groupable items when not grouped" ) ]
340+ public void FilterGroupableWhenNotGrouped ( )
341+ {
342+ var stringProvider = new StringViewModelTests ( ) ;
343+
344+ var stringProperty1 = stringProvider . GetPropertyMock ( "string1" ) ;
345+ var stringProperty2 = stringProvider . GetPropertyMock ( "string2" ) ;
346+
347+ var editor = new MockObjectEditor ( stringProperty1 . Object , stringProperty2 . Object ) ;
348+
349+ var provider = new Mock < IEditorProvider > ( ) ;
350+ provider . Setup ( p => p . GetObjectEditorAsync ( editor . Target ) ) . ReturnsAsync ( editor ) ;
351+
352+ var platform = new TargetPlatform ( provider . Object ) {
353+ GroupedTypes = new Dictionary < Type , string > {
354+ { typeof ( string ) , "B" }
355+ }
356+ } ;
357+
358+ var vm = new PanelViewModel ( platform ) ;
359+ Assume . That ( vm . ArrangeMode , Is . EqualTo ( PropertyArrangeMode . Name ) ) ;
360+ vm . SelectedObjects . Add ( editor . Target ) ;
361+ Assume . That ( vm . ArrangedEditors [ 0 ] . Editors . Count , Is . EqualTo ( 2 ) ) ;
362+
363+ vm . FilterText = "A" ;
364+ Assert . That ( vm . ArrangedEditors . Count , Is . EqualTo ( 0 ) ) ;
365+ }
366+
338367 [ Test ]
339368 public async Task AutoExpand ( )
340369 {
Original file line number Diff line number Diff line change @@ -58,7 +58,7 @@ public bool Remove (EditorViewModel editor)
5858
5959 var list = GetList ( editor , separate : true ) ;
6060 if ( editor is PropertyViewModel pvm && this . targetPlatform . GroupedTypes != null && this . targetPlatform . GroupedTypes . TryGetValue ( pvm . Property . Type , out string groupName ) ) {
61- var group = list . OfType < PropertyGroupViewModel > ( ) . First ( gvm => gvm . Category == groupName ) ;
61+ var group = list . OfType < PropertyGroupViewModel > ( ) . FirstOrDefault ( gvm => gvm . Category == groupName ) ;
6262 if ( group != null ) {
6363 bool found = group . Remove ( pvm ) ;
6464 if ( ! group . HasChildElements )
You can’t perform that action at this time.
0 commit comments