Code development platform for open source projects from the European Union institutions :large_blue_circle: EU Login authentication by SMS will be completely phased out by mid-2025. To see alternatives please check here

Skip to content
Snippets Groups Projects
Commit 114a8212 authored by Harald Martini's avatar Harald Martini
Browse files

Set AirdragViewModel.IsReadOnly to true in MultistageAirdragViewModel,

Save file only if its valid in MultistageJobViewModel_v0_1

MultistageAirdragView

Added Ignore Attributes to UI Tests that are using WinappDriver desktop session.

Added VIF Testclass
parent 70d7f5ac
No related branches found
No related tags found
No related merge requests found
......@@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Windows;
using System.Windows.Input;
......@@ -59,6 +60,7 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation
AirDragViewModel = _dependencies.ComponentViewModelFactory.CreateComponentViewModel(airdragInputData) as IAirDragViewModel;
if (AirDragViewModel != null) {
AirDragViewModel.LabelVisible = false;
AirDragViewModel.IsReadOnly = true;
}
}
......@@ -123,6 +125,8 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation
var airDragInputData = _dependencies.InjectFactory.CreateAirdragData(dataProviderVersion, null, airdragNode, fileName);
AirDragViewModel = _dependencies.ComponentViewModelFactory.CreateComponentViewModel(airDragInputData) as IAirDragViewModel;
AirDragViewModel.IsReadOnly = true;
AirDragViewModel.LabelVisible = false;
success = true;
} else {
success = false;
......
......@@ -31,9 +31,14 @@ using XmlDocumentType = TUGraz.VectoCore.Utils.XmlDocumentType;
namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation
{
//AGGREGATE MULTISTAGEDEPENDENCIES
public class MultiStageJobViewModel_v0_1 : ViewModelBase, IMultiStageJobViewModel, IMultistageVIFInputData, IMultistageBusInputDataProvider
public interface IMultiStageJobViewModel : IDeclarationMultistageJobInputData, IMultistageVIFInputData, IMultistageBusInputDataProvider
{
IManufacturingStageViewModel ManufacturingStageViewModel { get; }
}
public class MultiStageJobViewModel_v0_1 : ViewModelBase, IMultiStageJobViewModel
{
private IDeclarationMultistageJobInputData _jobInputData;
......@@ -51,6 +56,7 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation
set => SetProperty(ref _manufacturingStageViewModel, value);
}
#region Commands
private ICommand _saveVifCommand;
......@@ -59,16 +65,16 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation
get
{
return _saveVifCommand ?? new RelayCommand(() => {
var outPutFile = _multistageDependencies.DialogHelperLazy.Value.SaveToXMLDialog(Settings.Default.DefaultFilePath);
if (outPutFile == null) {
var outputFile = _multistageDependencies.DialogHelperLazy.Value.SaveToXMLDialog(Settings.Default.DefaultFilePath);
if (outputFile == null) {
return;
}
SaveVIF(this, outPutFile);
SaveVif(this, outputFile);
}, () => true);
}
}
private static void SaveVIF(IMultistageVIFInputData vifData, string outputFile)
public static void SaveVif(IMultistageVIFInputData vifData, string outputFile)
{
......@@ -149,10 +155,11 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation
}
if (!valid) {
_dialogHelper.Value.ShowMessageBox($"Invalid Document: {validator.ValidationError}", "Error");
xDoc.Save(filename, SaveOptions.OmitDuplicateNamespaces);
LoadVehicleData(filename);
//xDoc.Save(filename, SaveOptions.OmitDuplicateNamespaces);
//LoadVehicleData(filename);
} else {
xDoc.Save(filename, SaveOptions.OmitDuplicateNamespaces);
LoadVehicleData(filename);
}
}
......@@ -290,8 +297,5 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation
#endregion
}
public interface IMultiStageJobViewModel : IDeclarationMultistageJobInputData
{
IManufacturingStageViewModel ManufacturingStageViewModel { get; }
}
}
\ No newline at end of file
......@@ -28,12 +28,15 @@
Text="{Binding AirdragFilePath, TargetNullValue=Select Airdrag Input Data}"
Command="{Binding LoadAirdragFileCommand}"/>
</DockPanel>
<StackPanel HorizontalAlignment="Stretch" Margin="4" Visibility="{Binding ConsolidatedAirdragData, Converter={StaticResource NullToVisibilityConverter}}">
<Label Style="{DynamicResource LabelStyle1}">Consolidated Airdrag Data</Label>
<customControlsMultistage:LabledTextBoxMultistage Content="{Binding ConsolidatedAirdragData.Manufacturer, Mode=OneWay}" ReadOnly="True"/>
<customControlsMultistage:LabledTextBoxMultistage Content="{Binding ConsolidatedAirdragData.Model, Mode=OneWay}" ReadOnly="True"/>
<customControlsMultistage:LabledTextBoxMultistage Content="{Binding ConsolidatedAirdragData.AirDragArea, Mode=OneWay}" ReadOnly="True"/>
<StackPanel HorizontalAlignment="Stretch" Margin="4" >
<StackPanel Visibility="{Binding ConsolidatedAirdragData, Converter={StaticResource NullToVisibilityConverter}}">
<Label Style="{DynamicResource LabelStyle1}">Consolidated Airdrag Data</Label>
<customControlsMultistage:LabledTextBoxMultistage Content="{Binding ConsolidatedAirdragData.Manufacturer, Mode=OneWay}" ReadOnly="True"/>
<customControlsMultistage:LabledTextBoxMultistage Content="{Binding ConsolidatedAirdragData.Model, Mode=OneWay}" ReadOnly="True"/>
<customControlsMultistage:LabledTextBoxMultistage Content="{Binding ConsolidatedAirdragData.AirDragArea, Mode=OneWay}" ReadOnly="True"/>
</StackPanel>
<Label Style="{DynamicResource LabelStyle1}">Data from File</Label>
<ContentControl Content="{Binding AirDragViewModel}"
Visibility="{Binding AirDragViewModel, Converter={StaticResource NullToVisibilityConverter}}">
......
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
......@@ -16,6 +17,8 @@ namespace Vecto3GUI2020Test
public DesktopSession()
{
var process = Process.Start(@"C:\Program Files (x86)\Windows Application Driver\WinAppDriver.exe");
var appCapabilities = new AppiumOptions();
appCapabilities.AddAdditionalCapability("app", "Root");
appCapabilities.AddAdditionalCapability("deviceName", "WindowsPC");
......
......@@ -24,25 +24,48 @@ namespace Vecto3GUI2020Test
Setup(TestContext.CurrentContext);
}
[Test]
public void LoadFileSession()
{
session.FindElementByXPath(
"//Button[@Name=\"New Multistage File\"][@AutomationId=\"JobListViewNewManufacturingStageFileButton\"]").Click(); //open new multistageWindow
//session.SwitchTo().Window(session.WindowHandles.First());
session.FindElementByXPath("//Button[@AutomationId=\"button\"]").Click(); //open filepicker
Thread.Sleep(100000);
}
#region DesktopSessionTests
[Ignore("disabled Desktop Session tests")]
[Test]
public void LoadFile()
{
LoadFileThroughUIWithDesktopSession(fileName: "vecto_multistage_consolidated_multiple_stages.xml");
}
[Ignore("disabled Desktop Session tests")]
[Test]
public void LoadFileAirdrag()
{
LoadFileThroughUIWithDesktopSession(fileName: "vecto_multistage_consolidated_multiple_stages_airdrag.xml");
}
[Ignore("disabled Desktop Session tests")]
[Test]
public void LoadFileheatPump()
{
LoadFileThroughUIWithDesktopSession(fileName: "vecto_multistage_consolidated_multiple_stages_heatPump.xml");
}
[Ignore("disabled Desktop Session tests")]
[Test]
public void LoadFilehev()
{
......@@ -50,37 +73,39 @@ namespace Vecto3GUI2020Test
}
[Ignore("disabled Desktop Session tests")]
[Test]
public void LoadFileNGTankSystem()
{
LoadFileThroughUIWithDesktopSession(fileName: "vecto_multistage_consolidated_multiple_stages_NGTankSystem.xml");
}
[Ignore("disabled Desktop Session tests")]
[Test]
public void LoadFileConsolidatedOneStage()
{
LoadFileThroughUIWithDesktopSession(fileName: "vecto_multistage_consolidated_one_stage.xml");
}
[Ignore("disabled Desktop Session tests")]
[Test]
public void LoadFileConsolidatedTwoStages()
{
LoadFileThroughUIWithDesktopSession(fileName: "vecto_multistage_consolidated_two_stages.xml");
}
[Ignore("disabled Desktop Session tests")]
[Test]
public void LoadFilePrimaryVehicleOnly()
{
LoadFileThroughUIWithDesktopSession(fileName: "vecto_multistage_primary_vehicle_only.xml");
}
[Ignore("disabled Desktop Session tests")]
[Test]
public void LoadFilePrimaryVehicleStage_2_3()
{
LoadFileThroughUIWithDesktopSession(fileName: "vecto_multistage_consolidated_one_stage.xml");
}
[Ignore("disabled Desktop Session tests")]
[Test]
public void LoadFilePrimaryVehicleOnlyAndCheckFields()
{
......@@ -210,14 +235,14 @@ namespace Vecto3GUI2020Test
}
#endregion
[TearDown]
public void OneTimeTeardown()
{
TearDown();
Thread.Sleep(1000);
Thread.Sleep(0);
}
......
using System;
using System.Diagnostics;
using NUnit.Framework;
using OpenQA.Selenium;
using OpenQA.Selenium.Appium.Windows;
......@@ -11,6 +12,8 @@ namespace Vecto3GUI2020Test.UI
protected const string WindowsApplicationDriverUrl = "http://127.0.0.1:4723";
private const string NotepadAppId = @"C:\Windows\System32\notepad.exe";
private static Process winappDriverProcess;
internal static WindowsDriver<WindowsElement> session;
internal static DesktopSession desktopSession;
......@@ -22,9 +25,9 @@ namespace Vecto3GUI2020Test.UI
public static void Setup(TestContext context)
{
// Launch a new instance of VECTO application
if (session == null)
{
// Create a new session to launch Notepad application
if (session == null) {
winappDriverProcess = Process.Start(@"C:\Program Files (x86)\Windows Application Driver\WinAppDriver.exe");
// Create a new session to launch Notepad application
var appiumOptions = new OpenQA.Selenium.Appium.AppiumOptions();
appiumOptions.AddAdditionalCapability("app", @"C:\Users\Harry\source\repos\vecto-dev\VECTO3GUI2020\bin\Debug\VECTO3GUI2020.exe");
appiumOptions.AddAdditionalCapability("deviceName", "WindowsPC");
......@@ -49,7 +52,8 @@ namespace Vecto3GUI2020Test.UI
if (session != null)
{
session.CloseApp();
winappDriverProcess.Kill();
session = null;
}
}
......
......@@ -3,59 +3,26 @@ using System.IO;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Xml;
using Castle.DynamicProxy.Generators.Emitters.SimpleAST;
using Moq;
using Ninject;
using NUnit.Framework;
using TUGraz.VectoCommon.BusAuxiliaries;
using TUGraz.VectoCommon.InputData;
using TUGraz.VectoCommon.Models;
using TUGraz.VectoCore;
using TUGraz.VectoCore.InputData.FileIO.XML;
using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider;
using TUGraz.VectoCore.Models.Simulation.Impl;
using TUGraz.VectoCore.Models.SimulationComponent.Strategies;
using TUGraz.VectoCore.OutputData.FileIO;
using TUGraz.VectoCore.Utils;
using VECTO3GUI2020.Helper;
using VECTO3GUI2020.Ninject;
using VECTO3GUI2020.Ninject.Vehicle;
using VECTO3GUI2020.ViewModel.MultiStage.Implementation;
using VECTO3GUI2020.ViewModel.MultiStage.Interfaces;
namespace Vecto3GUI2020Test
{
[TestFixture]
public class ViewModelTests
{
protected IXMLInputDataReader xmlInputReader;
private IKernel _kernel;
const string DirPath = @"Testdata\";
private const string consolidated_multiple_stages = "vecto_multistage_consolidated_multiple_stages.xml";
private const string consolidated_multiple_stages_airdrag =
"vecto_multistage_consolidated_multiple_stages_airdrag.xml";
private const string consolidated_one_stage = "vecto_multistage_consolidated_one_stage.xml";
private const string primary_vehicle_only = "vecto_multistage_primary_vehicle_only.xml";
[SetUp]
public void OneTimeSetUp()
{
_kernel = new StandardKernel(
new VectoNinjectModule(),
new JobEditModule(),
new ComponentModule(),
new DocumentModule(),
new XMLWriterFactoryModule(),
new FactoryModule(),
new MultistageModule()
);
xmlInputReader = _kernel.Get<IXMLInputDataReader>();
}
[TestFixture]
public class LoadAndSaveVehicleData : ViewModelTestBase
{
[Test]
public void loadInputFileMultipleStage()
{
......@@ -67,6 +34,7 @@ namespace Vecto3GUI2020Test
{
var newMultiStageJob = loadFile(primary_vehicle_only);
var vehicle = newMultiStageJob.MultiStageJobViewModel.ManufacturingStageViewModel.Vehicle as DeclarationInterimStageBusVehicleViewModel_v2_8;
Assert.NotNull(vehicle);
vehicle.Manufacturer = "test1";
vehicle.ManufacturerAddress = "testAddress2";
vehicle.VIN = "VIN123456789";
......@@ -75,16 +43,31 @@ namespace Vecto3GUI2020Test
var manufacturingStage =
newMultiStageJob.MultiStageJobViewModel as MultiStageJobViewModel_v0_1;
var fileName = primary_vehicle_only.Replace(".xml", "") + "_output.xml";
Assert.NotNull(manufacturingStage);
var fileName = primary_vehicle_only.Replace(".xml", "") + "_output.xml";
deleteFile(fileName);
_kernel.Rebind<IDialogHelper>().ToConstant(getMockDialogHelper(fileToSave:fileName).Object);
manufacturingStage.SaveInputDataAsCommand.Execute(null);
Assert.True(checkFileExists(fileName));
}
[TestCase(primary_vehicle_only)]
[TestCase(consolidated_multiple_stages)]
[TestCase(consolidated_one_stage)]
public void SaveVehicleDataWithMissingFields(string fileName)
{
var newMultistageJobViewModel = loadFile(fileName);
var manstage = newMultistageJobViewModel.MultiStageJobViewModel as MultiStageJobViewModel_v0_1;
Assert.NotNull(manstage);
checkFileExists(fileName);
var saveFileName = fileName.Replace(".xml", "") + "_output.xml";
deleteFile(saveFileName);
_kernel.Rebind<IDialogHelper>().ToConstant(getMockDialogHelper(fileToSave: saveFileName).Object);
manstage.SaveInputDataAsCommand.Execute(null);
Assert.False(checkFileExists(saveFileName));
}
......@@ -131,10 +114,12 @@ namespace Vecto3GUI2020Test
Assert.Null(vehicleViewModel_v2_8.ConsolidatedEntranceHeightInMm);
Assert.AreEqual(vehicleViewModel_v2_8.AirdragModifiedMultistageEditingEnabled, false);
Assert.Null(vehicleViewModel_v2_8.BusAuxiliaries);
Assert.Null(vehicleViewModel_v2_8.BusAuxiliaries);
var vifInputData = vm.MultiStageJobViewModel as IMultistageVIFInputData;
Assert.Null(vifInputData.VehicleInputData.Components);
}
......@@ -218,90 +203,10 @@ namespace Vecto3GUI2020Test
}
[TearDown]
public void TearDown()
{
_kernel.Dispose();
_kernel = null;
}
#region Helper
public bool checkFileExists(string fileName)
{
var filePath = Path.GetFullPath(DirPath + fileName);
var exists = File.Exists(filePath);
if (!exists)
{
Console.WriteLine(filePath + @" not existing");
}
Assert.IsTrue(exists);
return exists;
}
public NewMultiStageJobViewModel loadFile(string fileName)
{
string filePath = "";
filePath = Path.GetFullPath(DirPath + fileName);
var dialogMock = new Mock<IDialogHelper>();
dialogMock.Setup(dialogHelper => dialogHelper.OpenXMLFileDialog(It.IsAny<string>())).Returns(filePath);
dialogMock.Setup(dialogHelper => dialogHelper.OpenXMLFileDialog()).Returns(filePath);
var newMultistageJobViewModel = new NewMultiStageJobViewModel(dialogMock.Object, xmlInputReader,
_kernel.Get<IMultiStageViewModelFactory>());
newMultistageJobViewModel.AddVifFile.Execute(null);
Assert.NotNull(newMultistageJobViewModel.MultiStageJobViewModel);
var manstageVehicleViewModel = newMultistageJobViewModel.MultiStageJobViewModel.ManufacturingStageViewModel.Vehicle as DeclarationInterimStageBusVehicleViewModel_v2_8;
Assert.NotNull(manstageVehicleViewModel);
var auxiliariesViewModel = manstageVehicleViewModel.MultistageAuxiliariesViewModel;
Assert.NotNull(auxiliariesViewModel);
var airdragViewModel = (manstageVehicleViewModel as DeclarationInterimStageBusVehicleViewModel_v2_8)?.MultistageAirdragViewModel;
Assert.NotNull(airdragViewModel);
Assert.AreEqual(filePath, newMultistageJobViewModel.VifPath);
return newMultistageJobViewModel;
}
private Mock<IDialogHelper> getMockDialogHelper(string fileToLoad = null, string fileToSave = null)
{
Mock<IDialogHelper> mockDialogHelper = null;
if (fileToLoad != null) {
var filePath = Path.GetFullPath(DirPath + fileToLoad);
Assert.NotNull(filePath);
mockDialogHelper = new Mock<IDialogHelper>();
mockDialogHelper.Setup(dialogHelper => dialogHelper.OpenXMLFileDialog(It.IsAny<string>())).Returns(filePath);
mockDialogHelper.Setup(dialogHelper => dialogHelper.OpenXMLFileDialog()).Returns(filePath);
}
if (fileToSave != null) {
var filePath = Path.GetFullPath(DirPath + fileToSave);
mockDialogHelper = mockDialogHelper ?? new Mock<IDialogHelper>();
mockDialogHelper.Setup(dialogHelper =>
dialogHelper.SaveToXMLDialog(It.IsAny<string>())).Returns(filePath);
mockDialogHelper.Setup(dialogHelper =>
dialogHelper.SaveToXMLDialog(null)).Returns(filePath);
}
return mockDialogHelper;
}
#endregion
#endregion
}
}
\ No newline at end of file
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using NUnit.Framework;
using VECTO3GUI2020.Helper;
using VECTO3GUI2020.ViewModel.MultiStage.Implementation;
namespace Vecto3GUI2020Test.ViewModelTests
{
public class VIFTests : ViewModelTestBase
{
[Test]
public void loadPrimaryVehicleOnlyAndCreateNewVIF()
{
var multistagevm = loadFile(primary_vehicle_only).MultiStageJobViewModel;
var stage = multistagevm.ManufacturingStageViewModel.StageCount;
Assert.AreEqual(1, stage);
//Set Necessary Fields
var vehicle =
multistagevm.ManufacturingStageViewModel.Vehicle as DeclarationInterimStageBusVehicleViewModel_v2_8;
vehicle.ManufacturerAddress = "Address";
vehicle.Manufacturer = "Manufacturer";
vehicle.VIN = "VIN12345678";
var outputFile = primary_vehicle_only.Replace(".xml", "_vif_output_mandatory_fields.xml");
deleteFile(outputFile);
getMockDialogHelper(null, fileToSave: primary_vehicle_only.Replace(".xml", "_vif_output.xml"));
_kernel.Rebind<IDialogHelper>().ToConstant(getMockDialogHelper(null, outputFile).Object);
MultiStageJobViewModel_v0_1.SaveVif(multistagevm, outputFile);
Assert.IsTrue(checkFileExists(outputFile));
}
}
}
using System;
using System.IO;
using Moq;
using Ninject;
using NUnit.Framework;
using TUGraz.VectoCore;
using TUGraz.VectoCore.InputData.FileIO.XML;
using VECTO3GUI2020.Helper;
using VECTO3GUI2020.Ninject;
using VECTO3GUI2020.Ninject.Vehicle;
using VECTO3GUI2020.ViewModel.MultiStage.Implementation;
using VECTO3GUI2020.ViewModel.MultiStage.Interfaces;
namespace Vecto3GUI2020Test
{
public class ViewModelTestBase
{
protected const string DirPath = @"Testdata\";
protected const string consolidated_multiple_stages = "vecto_multistage_consolidated_multiple_stages.xml";
protected const string consolidated_multiple_stages_airdrag =
"vecto_multistage_consolidated_multiple_stages_airdrag.xml";
protected const string consolidated_one_stage = "vecto_multistage_consolidated_one_stage.xml";
protected const string primary_vehicle_only = "vecto_multistage_primary_vehicle_only.xml";
protected IXMLInputDataReader xmlInputReader;
protected IKernel _kernel;
[SetUp]
public void OneTimeSetUp()
{
_kernel = new StandardKernel(
new VectoNinjectModule(),
new JobEditModule(),
new ComponentModule(),
new DocumentModule(),
new XMLWriterFactoryModule(),
new FactoryModule(),
new MultistageModule()
);
xmlInputReader = _kernel.Get<IXMLInputDataReader>();
}
[TearDown]
public void TearDown()
{
_kernel.Dispose();
_kernel = null;
}
public bool checkFileExists(string fileName)
{
var filePath = Path.GetFullPath(DirPath + fileName);
var exists = File.Exists(filePath);
if (exists)
{
Console.WriteLine(filePath + @" exists");
} else {
Console.WriteLine(filePath + @" not existing");
}
return exists;
}
public void deleteFile(string fileName)
{
var filePath = Path.GetFullPath(DirPath + fileName);
File.Delete(fileName);
}
public NewMultiStageJobViewModel loadFile(string fileName)
{
string filePath = "";
filePath = Path.GetFullPath(DirPath + fileName);
var dialogMock = new Mock<IDialogHelper>();
dialogMock.Setup(dialogHelper => dialogHelper.OpenXMLFileDialog(It.IsAny<string>())).Returns(filePath);
dialogMock.Setup(dialogHelper => dialogHelper.OpenXMLFileDialog()).Returns(filePath);
var newMultistageJobViewModel = new NewMultiStageJobViewModel(dialogMock.Object, xmlInputReader,
_kernel.Get<IMultiStageViewModelFactory>());
newMultistageJobViewModel.AddVifFile.Execute(null);
Assert.NotNull(newMultistageJobViewModel.MultiStageJobViewModel);
var manstageVehicleViewModel = newMultistageJobViewModel.MultiStageJobViewModel.ManufacturingStageViewModel.Vehicle as DeclarationInterimStageBusVehicleViewModel_v2_8;
Assert.NotNull(manstageVehicleViewModel);
var auxiliariesViewModel = manstageVehicleViewModel.MultistageAuxiliariesViewModel;
Assert.NotNull(auxiliariesViewModel);
var airdragViewModel = (manstageVehicleViewModel as DeclarationInterimStageBusVehicleViewModel_v2_8)?.MultistageAirdragViewModel;
Assert.NotNull(airdragViewModel);
Assert.AreEqual(filePath, newMultistageJobViewModel.VifPath);
return newMultistageJobViewModel;
}
protected Mock<IDialogHelper> getMockDialogHelper(string fileToLoad = null, string fileToSave = null)
{
Mock<IDialogHelper> mockDialogHelper = null;
if (fileToLoad != null) {
var filePath = Path.GetFullPath(DirPath + fileToLoad);
Assert.NotNull(filePath);
mockDialogHelper = new Mock<IDialogHelper>();
mockDialogHelper.Setup(dialogHelper => dialogHelper.OpenXMLFileDialog(It.IsAny<string>())).Returns(filePath);
mockDialogHelper.Setup(dialogHelper => dialogHelper.OpenXMLFileDialog()).Returns(filePath);
}
if (fileToSave != null) {
var filePath = Path.GetFullPath(DirPath + fileToSave);
mockDialogHelper = mockDialogHelper ?? new Mock<IDialogHelper>();
mockDialogHelper.Setup(dialogHelper =>
dialogHelper.SaveToXMLDialog(It.IsAny<string>())).Returns(filePath);
mockDialogHelper.Setup(dialogHelper =>
dialogHelper.SaveToXMLDialog(null)).Returns(filePath);
}
return mockDialogHelper;
}
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment