Code development platform for open source projects from the European Union institutions

Skip to content
Snippets Groups Projects
Commit dbb2966c authored by Franz KOBER josef's avatar Franz KOBER josef
Browse files

adjusted SaveVif method, fixed gui stageCount

parent 5c84fa64
No related branches found
No related tags found
No related merge requests found
......@@ -22,7 +22,7 @@ using VECTO3GUI2020.ViewModel.MultiStage.Interfaces;
namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation
{
public class ManufacturingStageViewModel_v0_1 : ViewModelBase, IManufacturingStageViewModel
public class ManufacturingStageViewModel_v0_1 : ViewModelBase, IManufacturingStageViewModel
{
public static readonly string INPUTPROVIDERTYPE = typeof(XMLDeclarationMultistageTypeInputDataV01).ToString();
public static readonly string QualifiedXSD = XMLDeclarationMultistageTypeInputDataV01.QUALIFIED_XSD_TYPE;
......@@ -80,7 +80,9 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation
public ManufacturingStageViewModel_v0_1(IManufacturingStageInputData consolidatedManufacturingStageInputData, IMultiStageViewModelFactory viewModelFactory)
{
_viewModelFactory = viewModelFactory;
_stageCount = consolidatedManufacturingStageInputData?.StageCount?? + 1;
_stageCount = consolidatedManufacturingStageInputData?.StageCount + 1 ?? 2;
_consolidatedManufacturingStageInputData = consolidatedManufacturingStageInputData;
......
......@@ -74,12 +74,18 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation
}
}
public static void SaveVif(IMultistageVIFInputData vifData, string outputFile)
public static void SaveVif(IMultistageVIFInputData vifData, FileOutputVIFWriter writer)
{
var numberOfManufacturingStages =
vifData.MultistageJobInputData.JobInputData.ManufacturingStages?.Count ?? 1;
SaveVif(vifData, null, writer);
}
public static void SaveVif(IMultistageVIFInputData vifData, string outputFile, FileOutputVIFWriter writer = null)
{
if (writer == null) {
var numberOfManufacturingStages = vifData.MultistageJobInputData.JobInputData.ManufacturingStages?.Count ?? 0;
writer = new FileOutputVIFWriter(outputFile, numberOfManufacturingStages);
}
var writer = new FileOutputVIFWriter(outputFile, numberOfManufacturingStages);
var inputData = new XMLDeclarationVIFInputData(vifData.MultistageJobInputData, vifData.VehicleInputData);
var factory = new SimulatorFactory(ExecutionMode.Declaration, inputData, writer);
......@@ -94,23 +100,14 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation
jobContainer.Execute();
jobContainer.WaitFinished();
var progress = jobContainer.GetProgress();
var validator = new XMLValidator(XmlReader.Create(writer.XMLMultistageReportFileName));
var valid = validator.ValidateXML(XmlDocumentType.MultistageOutputData);
if (!valid) {
Debug.WriteLine("Invalid Outputfile");
}
Debug.WriteLine($"Written to {writer.XMLMultistageReportFileName}");
}
private ICommand _saveInputDataCommand;
......
......@@ -21,7 +21,7 @@ namespace Vecto3GUI2020Test.ViewModelTests
var multistagevm = loadFile(primary_vehicle_only).MultiStageJobViewModel;
var stage = multistagevm.ManufacturingStageViewModel.StageCount;
Assert.AreEqual(1, stage);
Assert.AreEqual(2, stage);
//Set Necessary Fields
var vehicle =
......@@ -29,24 +29,18 @@ namespace Vecto3GUI2020Test.ViewModelTests
vehicle.ManufacturerAddress = "Address";
vehicle.Manufacturer = "Manufacturer";
vehicle.VIN = "VIN12345678";
var writer = GetFileOutputVIFWriter(multistagevm);
deleteFile(writer.XMLMultistageReportFileName);
getMockDialogHelper(null, writer.XMLMultistageReportFileName);
_kernel.Rebind<IDialogHelper>().ToConstant(getMockDialogHelper(null, writer.XMLMultistageReportFileName).Object);
MultiStageJobViewModel_v0_1.SaveVif(multistagevm, writer);
var outputFileName = primary_vehicle_only.Replace(".xml", "_vif_output_mandatory_fields.xml");
var outputFilePath = Path.Combine(DirPath, outputFileName);
var nextStageNumber = multistagevm.ManufacturingStageViewModel?.StageCount + 2 ?? 2;
var expectedOutputFilePath = outputFilePath.Replace(".xml", $".{FileOutputVIFWriter.REPORT_ENDING_PREFIX}{nextStageNumber}.xml");
deleteFile(expectedOutputFilePath);
getMockDialogHelper(null, outputFilePath);
_kernel.Rebind<IDialogHelper>().ToConstant(getMockDialogHelper(null, outputFilePath).Object);
MultiStageJobViewModel_v0_1.SaveVif(multistagevm, outputFilePath);
Assert.IsTrue(File.Exists(expectedOutputFilePath));
Assert.IsTrue(File.Exists(writer.XMLMultistageReportFileName));
var validator = new XMLValidator(XmlReader.Create(expectedOutputFilePath));
var validator = new XMLValidator(XmlReader.Create(writer.XMLMultistageReportFileName));
Assert.True(validator.ValidateXML(TUGraz.VectoCore.Utils.XmlDocumentType.MultistageOutputData));
}
......@@ -83,7 +77,6 @@ namespace Vecto3GUI2020Test.ViewModelTests
_kernel.Rebind<IDialogHelper>().ToConstant(vehicleInputDataFiledialogMock.Object);
multiStageViewModel.LoadVehicleDataCommand.Execute(null);
var vehicle =
multiStageViewModel.ManufacturingStageViewModel.Vehicle as DeclarationInterimStageBusVehicleViewModel_v2_8;
......@@ -93,21 +86,26 @@ namespace Vecto3GUI2020Test.ViewModelTests
vehicle.AirdragModifiedMultistage = true;
vehicle.VehicleDeclarationType = VehicleDeclarationType.interim;
var outputFileName = primary_vehicle_only.Replace(".xml", "_vif_output_mandatory_fields.xml");
var outputFilePath = Path.Combine(DirPath, outputFileName);
var nextStageNumber = multiStageViewModel.ManufacturingStages?.Count + 2 ?? 2;
var expectedOutputFilePath = outputFilePath.Replace(".xml", $".{FileOutputVIFWriter.REPORT_ENDING_PREFIX}{nextStageNumber}.xml");
deleteFile(expectedOutputFilePath);
var writer = GetFileOutputVIFWriter(multiStageViewModel);
getMockDialogHelper(null, outputFilePath);
_kernel.Rebind<IDialogHelper>().ToConstant(getMockDialogHelper(null, outputFilePath).Object);
deleteFile(writer.XMLMultistageReportFileName);
getMockDialogHelper(null, writer.XMLMultistageReportFileName);
_kernel.Rebind<IDialogHelper>().ToConstant(getMockDialogHelper(null, writer.XMLMultistageReportFileName).Object);
MultiStageJobViewModel_v0_1.SaveVif(multiStageViewModel, outputFilePath);
MultiStageJobViewModel_v0_1.SaveVif(multiStageViewModel, writer);
var validator = new XMLValidator(XmlReader.Create(expectedOutputFilePath));
var validator = new XMLValidator(XmlReader.Create(writer.XMLMultistageReportFileName));
Assert.True(validator.ValidateXML(TUGraz.VectoCore.Utils.XmlDocumentType.MultistageOutputData));
}
private FileOutputVIFWriter GetFileOutputVIFWriter(IMultiStageJobViewModel multistageViewModel)
{
var outputFileName = primary_vehicle_only.Replace(".xml", "_vif_output_mandatory_fields.xml");
var outputFilePath = Path.Combine(DirPath, outputFileName);
var currentStageCount = multistageViewModel.MultistageJobInputData.JobInputData.ManufacturingStages?.Count ?? 0;
return new FileOutputVIFWriter(outputFilePath, currentStageCount);
}
}
......
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