diff --git a/VectoCommon/VectoCommon/Models/AlternatorType.cs b/VectoCommon/VectoCommon/Models/AlternatorType.cs index 7ed133da17a6fbe4bfdcad4aea8b3648380d96a1..1df0b8b6a4ce62b9776d963c75af1e4bbe84ca85 100644 --- a/VectoCommon/VectoCommon/Models/AlternatorType.cs +++ b/VectoCommon/VectoCommon/Models/AlternatorType.cs @@ -11,6 +11,20 @@ namespace TUGraz.VectoCommon.Models public static class AlternatorTypeHelper { + public static AlternatorType Parse(string xmlFormat) + { + switch (xmlFormat) { + case "conventional": + return AlternatorType.Conventional; + case "smart": + return AlternatorType.Smart; + case "no alternator": + return AlternatorType.None; + default: + throw new ArgumentException(); + } + } + public static string ToXMLFormat(this AlternatorType type) { diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationBusAuxiliariesDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationBusAuxiliariesDataProvider.cs index 32d39c88d25951d9d022e0b2126b8644afd40791..38fd3b639d878ffef1b5183711ad20fc5a9eb2df 100644 --- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationBusAuxiliariesDataProvider.cs +++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationBusAuxiliariesDataProvider.cs @@ -61,9 +61,9 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider { get { - return GetString(new[] - { XMLNames.BusAux_ElectricSystem, XMLNames.BusAux_ElectricSystem_AlternatorTechnology }) - .ParseEnum<AlternatorType>(); + return AlternatorTypeHelper.Parse(GetString(new[] + { XMLNames.BusAux_ElectricSystem, XMLNames.BusAux_ElectricSystem_AlternatorTechnology })); + //.ParseEnum<AlternatorType>(); } } diff --git a/VectoCore/VectoCoreTest/XML/XMLSchemaTest.cs b/VectoCore/VectoCoreTest/XML/XMLSchemaTest.cs new file mode 100644 index 0000000000000000000000000000000000000000..e16507b401ac8fb749b92fff81a6dc723aac8750 --- /dev/null +++ b/VectoCore/VectoCoreTest/XML/XMLSchemaTest.cs @@ -0,0 +1,38 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Xml.Schema; +using NUnit.Framework; +using TUGraz.VectoCommon.Models; +using TUGraz.VectoCommon.Utils; +using TUGraz.VectoCore.Utils; + +namespace TUGraz.VectoCore.Tests.XML +{ + [TestFixture] + internal class XMLSchemaTest + { + XmlSchemaSet _declJobSchemaSet = XMLValidator.GetXMLSchema(XmlDocumentType.DeclarationJobData); + + + + + [TestCase("conventional", AlternatorType.Conventional)] + [TestCase("no alternator", AlternatorType.None)] + [TestCase("smart", AlternatorType.Smart)] + public void ParseAlternatorEnum(string xmlValue, AlternatorType expected) + { + var enumResult = AlternatorTypeHelper.Parse(xmlValue); + Assert.AreEqual(expected, enumResult); + } + + + + + + + + } +}