Index: Ringtoets/Common/src/Ringtoets.Common.IO/Readers/IReadCalculationItem.cs =================================================================== diff -u --- Ringtoets/Common/src/Ringtoets.Common.IO/Readers/IReadCalculationItem.cs (revision 0) +++ Ringtoets/Common/src/Ringtoets.Common.IO/Readers/IReadCalculationItem.cs (revision 59fcd17973dee55b14a079325767f28e8cb535c2) @@ -0,0 +1,34 @@ +// Copyright (C) Stichting Deltares 2016. All rights reserved. +// +// This file is part of Ringtoets. +// +// Ringtoets is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +// All names, logos, and references to "Deltares" are registered trademarks of +// Stichting Deltares and remain full property of Stichting Deltares at all times. +// All rights reserved. + +namespace Ringtoets.Common.IO.Readers +{ + /// + /// Interface for calculation items that are read via . + /// + public interface IReadCalculationItem + { + /// + /// Gets the name of the read calculation item. + /// + string Name { get; } + } +} \ No newline at end of file Index: Ringtoets/Common/src/Ringtoets.Common.IO/Readers/ReadCalculationGroup.cs =================================================================== diff -u --- Ringtoets/Common/src/Ringtoets.Common.IO/Readers/ReadCalculationGroup.cs (revision 0) +++ Ringtoets/Common/src/Ringtoets.Common.IO/Readers/ReadCalculationGroup.cs (revision 59fcd17973dee55b14a079325767f28e8cb535c2) @@ -0,0 +1,49 @@ +// Copyright (C) Stichting Deltares 2016. All rights reserved. +// +// This file is part of Ringtoets. +// +// Ringtoets is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +// All names, logos, and references to "Deltares" are registered trademarks of +// Stichting Deltares and remain full property of Stichting Deltares at all times. +// All rights reserved. + +using System.Collections.Generic; + +namespace Ringtoets.Common.IO.Readers +{ + /// + /// Class that represents a calculation group that is read via . + /// + public class ReadCalculationGroup : IReadCalculationItem + { + /// + /// Creates a new instance of . + /// + /// The name of the calculation group. + /// The collection of nested . + public ReadCalculationGroup(string name, IEnumerable items) + { + Name = name; + Items = items; + } + + /// + /// Gets the collection of nested . + /// + public IEnumerable Items { get; private set; } + + public string Name { get; } + } +} \ No newline at end of file Index: Ringtoets/Common/src/Ringtoets.Common.IO/Ringtoets.Common.IO.csproj =================================================================== diff -u -re1714dc7e1c63c28c493be6dcb06b38bf1e1cb0e -r59fcd17973dee55b14a079325767f28e8cb535c2 --- Ringtoets/Common/src/Ringtoets.Common.IO/Ringtoets.Common.IO.csproj (.../Ringtoets.Common.IO.csproj) (revision e1714dc7e1c63c28c493be6dcb06b38bf1e1cb0e) +++ Ringtoets/Common/src/Ringtoets.Common.IO/Ringtoets.Common.IO.csproj (.../Ringtoets.Common.IO.csproj) (revision 59fcd17973dee55b14a079325767f28e8cb535c2) @@ -77,6 +77,8 @@ + + Index: Ringtoets/Common/test/Ringtoets.Common.IO.Test/Readers/ReadCalculationGroupTest.cs =================================================================== diff -u --- Ringtoets/Common/test/Ringtoets.Common.IO.Test/Readers/ReadCalculationGroupTest.cs (revision 0) +++ Ringtoets/Common/test/Ringtoets.Common.IO.Test/Readers/ReadCalculationGroupTest.cs (revision 59fcd17973dee55b14a079325767f28e8cb535c2) @@ -0,0 +1,61 @@ +// Copyright (C) Stichting Deltares 2016. All rights reserved. +// +// This file is part of Ringtoets. +// +// Ringtoets is free software: you can redistribute it and/or modify +// it under the terms of the GNU General Public License as published by +// the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU General Public License for more details. +// +// You should have received a copy of the GNU General Public License +// along with this program. If not, see . +// +// All names, logos, and references to "Deltares" are registered trademarks of +// Stichting Deltares and remain full property of Stichting Deltares at all times. +// All rights reserved. + +using System.Collections.Generic; +using System.Linq; +using NUnit.Framework; +using Ringtoets.Common.IO.Readers; + +namespace Ringtoets.Common.IO.Test.Readers +{ + [TestFixture] + public class ReadCalculationGroupTest + { + [Test] + public void Constructor_ExpectedValues() + { + // Setup + var nestedItems = new List + { + new TestReadCalculationItem(), + new ReadCalculationGroup("Nested calculation group", Enumerable.Empty()) + }; + + // Call + var readCalculationGroup = new ReadCalculationGroup("Calculation group", nestedItems); + + // Assert + Assert.IsInstanceOf(readCalculationGroup); + Assert.AreSame(nestedItems, readCalculationGroup.Items); + } + + private class TestReadCalculationItem : IReadCalculationItem + { + public string Name + { + get + { + return "Fixed name"; + } + } + } + } +} \ No newline at end of file Index: Ringtoets/Common/test/Ringtoets.Common.IO.Test/Ringtoets.Common.IO.Test.csproj =================================================================== diff -u -r3aa7e76b08eadd9497740489ed3daad5f2e13b0e -r59fcd17973dee55b14a079325767f28e8cb535c2 --- Ringtoets/Common/test/Ringtoets.Common.IO.Test/Ringtoets.Common.IO.Test.csproj (.../Ringtoets.Common.IO.Test.csproj) (revision 3aa7e76b08eadd9497740489ed3daad5f2e13b0e) +++ Ringtoets/Common/test/Ringtoets.Common.IO.Test/Ringtoets.Common.IO.Test.csproj (.../Ringtoets.Common.IO.Test.csproj) (revision 59fcd17973dee55b14a079325767f28e8cb535c2) @@ -76,6 +76,7 @@ + Index: Ringtoets/Piping/src/Ringtoets.Piping.IO/Importers/PipingConfigurationImporter.cs =================================================================== diff -u -r5762f5a734abc237f01cd62257cedd7ba2e9c8e8 -r59fcd17973dee55b14a079325767f28e8cb535c2 --- Ringtoets/Piping/src/Ringtoets.Piping.IO/Importers/PipingConfigurationImporter.cs (.../PipingConfigurationImporter.cs) (revision 5762f5a734abc237f01cd62257cedd7ba2e9c8e8) +++ Ringtoets/Piping/src/Ringtoets.Piping.IO/Importers/PipingConfigurationImporter.cs (.../PipingConfigurationImporter.cs) (revision 59fcd17973dee55b14a079325767f28e8cb535c2) @@ -31,6 +31,7 @@ using Ringtoets.Common.Data.Hydraulics; using Ringtoets.Common.Data.Probabilistics; using Ringtoets.Common.IO.Exceptions; +using Ringtoets.Common.IO.Readers; using Ringtoets.Piping.Data; using Ringtoets.Piping.IO.Properties; using Ringtoets.Piping.IO.Readers; @@ -88,7 +89,7 @@ { NotifyProgress(Resources.PipingConfigurationImporter_ProgressText_Reading_configuration, 1, 3); - ReadResult readResult = ReadConfiguration(); + ReadResult readResult = ReadConfiguration(); if (readResult.CriticalErrorOccurred || Canceled) { return false; @@ -98,7 +99,7 @@ var validCalculationItems = new List(); - foreach (IReadPipingCalculationItem readItem in readResult.Items) + foreach (IReadCalculationItem readItem in readResult.Items) { if (Canceled) { @@ -118,11 +119,11 @@ return true; } - private ReadResult ReadConfiguration() + private ReadResult ReadConfiguration() { try { - return new ReadResult(false) + return new ReadResult(false) { Items = new PipingConfigurationReader(FilePath).Read().ToList() }; @@ -133,13 +134,13 @@ string errorMessage = string.Format(Resources.PipingConfigurationImporter_HandleCriticalFileReadError_Error_0_no_configuration_imported, exception.Message); log.Error(errorMessage, exception); - return new ReadResult(true); + return new ReadResult(true); } } - private ICalculationBase ProcessReadItem(IReadPipingCalculationItem readItem) + private ICalculationBase ProcessReadItem(IReadCalculationItem readItem) { - var readCalculationGroup = readItem as ReadPipingCalculationGroup; + var readCalculationGroup = readItem as ReadCalculationGroup; if (readCalculationGroup != null) { return ProcessCalculationGroup(readCalculationGroup); @@ -154,11 +155,11 @@ return null; } - private CalculationGroup ProcessCalculationGroup(ReadPipingCalculationGroup readCalculationGroup) + private CalculationGroup ProcessCalculationGroup(ReadCalculationGroup readCalculationGroup) { var group = new CalculationGroup(readCalculationGroup.Name, true); - foreach (IReadPipingCalculationItem item in readCalculationGroup.Items) + foreach (IReadCalculationItem item in readCalculationGroup.Items) { ICalculationBase processedItem = ProcessReadItem(item); if (processedItem != null) Fisheye: Tag 59fcd17973dee55b14a079325767f28e8cb535c2 refers to a dead (removed) revision in file `Ringtoets/Piping/src/Ringtoets.Piping.IO/Readers/IReadPipingCalculationItem.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Ringtoets/Piping/src/Ringtoets.Piping.IO/Readers/PipingConfigurationReader.cs =================================================================== diff -u -r3937c582facb03372a3676b1ebf0ef158005a9ab -r59fcd17973dee55b14a079325767f28e8cb535c2 --- Ringtoets/Piping/src/Ringtoets.Piping.IO/Readers/PipingConfigurationReader.cs (.../PipingConfigurationReader.cs) (revision 3937c582facb03372a3676b1ebf0ef158005a9ab) +++ Ringtoets/Piping/src/Ringtoets.Piping.IO/Readers/PipingConfigurationReader.cs (.../PipingConfigurationReader.cs) (revision 59fcd17973dee55b14a079325767f28e8cb535c2) @@ -33,9 +33,9 @@ namespace Ringtoets.Piping.IO.Readers { /// - /// This class reads a piping configuration from XML and creates a collection of corresponding . + /// This class reads a piping configuration from XML and creates a collection of corresponding . /// - internal class PipingConfigurationReader : ConfigurationReader + internal class PipingConfigurationReader : ConfigurationReader { /// /// Creates a new instance of . @@ -53,15 +53,15 @@ : base(xmlFilePath, Resources.PipingConfigurationSchema) {} /// - /// Reads the piping configuration from the XML and creates a collection of corresponding . + /// Reads the piping configuration from the XML and creates a collection of corresponding . /// - /// A collection of read . - internal IEnumerable Read() + /// A collection of read . + internal IEnumerable Read() { return ParseReadPipingCalculationItems(xmlDocument.Root?.Elements()); } - private static IEnumerable ParseReadPipingCalculationItems(IEnumerable elements) + private static IEnumerable ParseReadPipingCalculationItems(IEnumerable elements) { foreach (XElement element in elements) { @@ -77,10 +77,10 @@ } } - private static ReadPipingCalculationGroup ParseReadPipingCalculationGroup(XElement folderElement) + private static ReadCalculationGroup ParseReadPipingCalculationGroup(XElement folderElement) { - return new ReadPipingCalculationGroup(folderElement.Attribute(ConfigurationSchemaIdentifiers.NameAttribute)?.Value, - ParseReadPipingCalculationItems(folderElement.Elements())); + return new ReadCalculationGroup(folderElement.Attribute(ConfigurationSchemaIdentifiers.NameAttribute)?.Value, + ParseReadPipingCalculationItems(folderElement.Elements())); } private static ReadPipingCalculation ParseReadPipingCalculation(XElement calculationElement) Index: Ringtoets/Piping/src/Ringtoets.Piping.IO/Readers/ReadPipingCalculation.cs =================================================================== diff -u -r6ed40142f26dda106581e03da03fcf411fc0514d -r59fcd17973dee55b14a079325767f28e8cb535c2 --- Ringtoets/Piping/src/Ringtoets.Piping.IO/Readers/ReadPipingCalculation.cs (.../ReadPipingCalculation.cs) (revision 6ed40142f26dda106581e03da03fcf411fc0514d) +++ Ringtoets/Piping/src/Ringtoets.Piping.IO/Readers/ReadPipingCalculation.cs (.../ReadPipingCalculation.cs) (revision 59fcd17973dee55b14a079325767f28e8cb535c2) @@ -20,13 +20,14 @@ // All rights reserved. using System; +using Ringtoets.Common.IO.Readers; namespace Ringtoets.Piping.IO.Readers { /// /// Class that represents a piping calculation that is read via . /// - public class ReadPipingCalculation : IReadPipingCalculationItem + public class ReadPipingCalculation : IReadCalculationItem { /// /// Creates a new instance of . Fisheye: Tag 59fcd17973dee55b14a079325767f28e8cb535c2 refers to a dead (removed) revision in file `Ringtoets/Piping/src/Ringtoets.Piping.IO/Readers/ReadPipingCalculationGroup.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Ringtoets/Piping/src/Ringtoets.Piping.IO/Ringtoets.Piping.IO.csproj =================================================================== diff -u -r6928d01beb183acca2937ed5835e951e999be5cb -r59fcd17973dee55b14a079325767f28e8cb535c2 --- Ringtoets/Piping/src/Ringtoets.Piping.IO/Ringtoets.Piping.IO.csproj (.../Ringtoets.Piping.IO.csproj) (revision 6928d01beb183acca2937ed5835e951e999be5cb) +++ Ringtoets/Piping/src/Ringtoets.Piping.IO/Ringtoets.Piping.IO.csproj (.../Ringtoets.Piping.IO.csproj) (revision 59fcd17973dee55b14a079325767f28e8cb535c2) @@ -66,10 +66,8 @@ Resources.resx - - Index: Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/Readers/PipingConfigurationReaderTest.cs =================================================================== diff -u -r138218fb049c8b24a33000925c86787351d5a331 -r59fcd17973dee55b14a079325767f28e8cb535c2 --- Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/Readers/PipingConfigurationReaderTest.cs (.../PipingConfigurationReaderTest.cs) (revision 138218fb049c8b24a33000925c86787351d5a331) +++ Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/Readers/PipingConfigurationReaderTest.cs (.../PipingConfigurationReaderTest.cs) (revision 59fcd17973dee55b14a079325767f28e8cb535c2) @@ -28,6 +28,7 @@ using Core.Common.IO.Exceptions; using Core.Common.TestUtil; using NUnit.Framework; +using Ringtoets.Common.IO.Readers; using Ringtoets.Piping.IO.Readers; namespace Ringtoets.Piping.IO.Test.Readers @@ -317,12 +318,12 @@ var pipingConfigurationReader = new PipingConfigurationReader(filePath); // Call - IList readPipingCalculationItems = pipingConfigurationReader.Read().ToList(); + IList readPipingCalculationItems = pipingConfigurationReader.Read().ToList(); // Assert Assert.AreEqual(1, readPipingCalculationItems.Count); - var group = readPipingCalculationItems[0] as ReadPipingCalculationGroup; + var group = readPipingCalculationItems[0] as ReadCalculationGroup; Assert.IsNotNull(group); Assert.AreEqual("Calculation group", group.Name); CollectionAssert.IsEmpty(group.Items); @@ -336,7 +337,7 @@ var pipingConfigurationReader = new PipingConfigurationReader(filePath); // Call - IList readPipingCalculationItems = pipingConfigurationReader.Read().ToList(); + IList readPipingCalculationItems = pipingConfigurationReader.Read().ToList(); // Assert Assert.AreEqual(1, readPipingCalculationItems.Count); @@ -365,7 +366,7 @@ var pipingConfigurationReader = new PipingConfigurationReader(filePath); // Call - IList readPipingCalculationItems = pipingConfigurationReader.Read().ToList(); + IList readPipingCalculationItems = pipingConfigurationReader.Read().ToList(); // Assert Assert.AreEqual(1, readPipingCalculationItems.Count); @@ -386,53 +387,53 @@ var pipingConfigurationReader = new PipingConfigurationReader(filePath); // Call - IList readPipingCalculationItems = pipingConfigurationReader.Read().ToList(); + IList readPipingCalculationItems = pipingConfigurationReader.Read().ToList(); // Assert Assert.AreEqual(5, readPipingCalculationItems.Count); - var group1 = readPipingCalculationItems[0] as ReadPipingCalculationGroup; + var group1 = readPipingCalculationItems[0] as ReadCalculationGroup; Assert.IsNotNull(group1); Assert.AreEqual("Group 1", group1.Name); var calculation1 = readPipingCalculationItems[1] as ReadPipingCalculation; Assert.IsNotNull(calculation1); Assert.AreEqual("Calculation 1", calculation1.Name); - var group2 = readPipingCalculationItems[2] as ReadPipingCalculationGroup; + var group2 = readPipingCalculationItems[2] as ReadCalculationGroup; Assert.IsNotNull(group2); Assert.AreEqual("Group 2", group2.Name); var calculation2 = readPipingCalculationItems[3] as ReadPipingCalculation; Assert.IsNotNull(calculation2); Assert.AreEqual("Calculation 2", calculation2.Name); - var group3 = readPipingCalculationItems[4] as ReadPipingCalculationGroup; + var group3 = readPipingCalculationItems[4] as ReadCalculationGroup; Assert.IsNotNull(group3); Assert.AreEqual("Group 3", group3.Name); - List group1Items = group1.Items.ToList(); + List group1Items = group1.Items.ToList(); Assert.AreEqual(1, group1Items.Count); var calculation3 = group1Items[0] as ReadPipingCalculation; Assert.IsNotNull(calculation3); Assert.AreEqual("Calculation 3", calculation3.Name); - List group2Items = group2.Items.ToList(); + List group2Items = group2.Items.ToList(); Assert.AreEqual(2, group2Items.Count); - var group4 = group2Items[0] as ReadPipingCalculationGroup; + var group4 = group2Items[0] as ReadCalculationGroup; Assert.IsNotNull(group4); Assert.AreEqual("Group 4", group4.Name); var calculation4 = group2Items[1] as ReadPipingCalculation; Assert.IsNotNull(calculation4); Assert.AreEqual("Calculation 4", calculation4.Name); - List group3Items = group3.Items.ToList(); + List group3Items = group3.Items.ToList(); Assert.AreEqual(0, group3Items.Count); - List group4Items = group4.Items.ToList(); + List group4Items = group4.Items.ToList(); Assert.AreEqual(1, group4Items.Count); var calculation5 = group4Items[0] as ReadPipingCalculation; @@ -448,7 +449,7 @@ var pipingConfigurationReader = new PipingConfigurationReader(filePath); // Call - IList readPipingCalculationItems = pipingConfigurationReader.Read().ToList(); + IList readPipingCalculationItems = pipingConfigurationReader.Read().ToList(); // Assert Assert.AreEqual(1, readPipingCalculationItems.Count); @@ -472,7 +473,7 @@ var pipingConfigurationReader = new PipingConfigurationReader(filePath); // Call - IList readPipingCalculationItems = pipingConfigurationReader.Read().ToList(); + IList readPipingCalculationItems = pipingConfigurationReader.Read().ToList(); // Assert Assert.AreEqual(1, readPipingCalculationItems.Count); @@ -496,7 +497,7 @@ var pipingConfigurationReader = new PipingConfigurationReader(filePath); // Call - IList readPipingCalculationItems = pipingConfigurationReader.Read().ToList(); + IList readPipingCalculationItems = pipingConfigurationReader.Read().ToList(); // Assert Assert.AreEqual(1, readPipingCalculationItems.Count); @@ -525,7 +526,7 @@ var pipingConfigurationReader = new PipingConfigurationReader(filePath); // Call - IList readPipingCalculationItems = pipingConfigurationReader.Read().ToList(); + IList readPipingCalculationItems = pipingConfigurationReader.Read().ToList(); // Assert Assert.AreEqual(1, readPipingCalculationItems.Count); @@ -554,7 +555,7 @@ var pipingConfigurationReader = new PipingConfigurationReader(filePath); // Call - IList readPipingCalculationItems = pipingConfigurationReader.Read().ToList(); + IList readPipingCalculationItems = pipingConfigurationReader.Read().ToList(); // Assert Assert.AreEqual(1, readPipingCalculationItems.Count); Fisheye: Tag 59fcd17973dee55b14a079325767f28e8cb535c2 refers to a dead (removed) revision in file `Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/Readers/ReadPipingCalculationGroupTest.cs'. Fisheye: No comparison available. Pass `N' to diff? Index: Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/Ringtoets.Piping.IO.Test.csproj =================================================================== diff -u -r77ae070cdceab659705f8e3e9d4a9788d7af7334 -r59fcd17973dee55b14a079325767f28e8cb535c2 --- Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/Ringtoets.Piping.IO.Test.csproj (.../Ringtoets.Piping.IO.Test.csproj) (revision 77ae070cdceab659705f8e3e9d4a9788d7af7334) +++ Ringtoets/Piping/test/Ringtoets.Piping.IO.Test/Ringtoets.Piping.IO.Test.csproj (.../Ringtoets.Piping.IO.Test.csproj) (revision 59fcd17973dee55b14a079325767f28e8cb535c2) @@ -78,7 +78,6 @@ -