public void NewItem_Click(object sender, RoutedEventArgs e) { var results = childWindowProvider.ShowAddEditCraftingMaterialWindow( this, null, null, name => materialItems.Any(x => StringComparer.OrdinalIgnoreCase.Equals(x.Name, name))); if (results == null) { return; } var newItem = new CraftingMaterial { Name = results.Value.MaterialName, SourceType = results.Value.SourceType, Location = results.Value.Location }; materialItems.Add(newItem); Notify(nameof(MaterialItems)); ResizeGridViewColumns(); }
public void MaterialItemAddedToList_IfNewItemClickedWithDialogThatReturns() { var newItemName = $"{TestItemName}99"; var newSourceType = SourceType.Botany; var newLocation = $"{TestLocation}99"; childWindowProvider .ShowAddEditCraftingMaterialWindow( Arg.Any <Window>(), Arg.Any <string>(), Arg.Any <CraftingMaterial>(), Arg.Any <Func <string, bool> >()) .Returns((newItemName, newSourceType, newLocation)); window.NewItem_Click(window, new RoutedEventArgs()); var expectedItem = window.MaterialItems.FirstOrDefault(x => StringComparer.OrdinalIgnoreCase.Equals(x.Name, newItemName)); expectedItem.ShouldNotBeNull(); expectedItem.Name.ShouldBe(newItemName); expectedItem.SourceType.ShouldBe(newSourceType); expectedItem.Location.ShouldBe(newLocation); }