コード例 #1
0
        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();
        }
コード例 #2
0
        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);
        }