Index: Core/Common/test/Core.Common.Gui.Test/Attributes/TestCaseClasses/DynamicPropertyOrderTestCases.cs =================================================================== diff -u --- Core/Common/test/Core.Common.Gui.Test/Attributes/TestCaseClasses/DynamicPropertyOrderTestCases.cs (revision 0) +++ Core/Common/test/Core.Common.Gui.Test/Attributes/TestCaseClasses/DynamicPropertyOrderTestCases.cs (revision 7fed3e2d674e24935506766bb55bcb71274827f0) @@ -0,0 +1,109 @@ +// 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 Lesser 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 Lesser General Public License for more details. +// +// You should have received a copy of the GNU Lesser 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 Core.Common.Gui.Attributes; + +namespace Core.Common.Gui.Test.Attributes.TestCaseClasses +{ + internal class ClassWithPropertyWithoutDynamicPropertyOrderAttribute + { + public double Property { get; set; } + } + + internal class InvalidClassWithDynamicPropertyOrderPropertyButNoEvaluationMethod + { + [DynamicPropertyOrder] + public double Property { get; set; } + } + + internal class InvalidClassWithDynamicPropertyOrderPropertyAndMultipleEvaluationMethod + { + [DynamicPropertyOrder] + public double Property { get; set; } + + [DynamicPropertyOrderEvaluationMethod] + public int DynamicPropertyOrder1(string propertyName) + { + return 1; + } + + [DynamicPropertyOrderEvaluationMethod] + public int DynamicPropertyOrder2(string propertyName) + { + return 2; + } + } + + internal class InvalidClassWithDynamicPropertyOrderPropertyButEvaluationMethodReturnsIncorrectValueType + { + [DynamicPropertyOrder] + public double Property { get; set; } + + [DynamicPropertyOrderEvaluationMethod] + public double DynamicPropertyOrder(string propertyName) + { + return 0.1; + } + } + + internal class InvalidClassWithDynamicPropertyOrderPropertyButEvaluationMethodNotOneArgument + { + [DynamicPropertyOrder] + public double Property { get; set; } + + [DynamicPropertyOrderEvaluationMethod] + public int DynamicPropertyOrder(object o, string propertyName) + { + return 1; + } + } + + internal class InvalidClassWithDynamicPropertyOrderPropertyButEvaluationMethodArgumentNotString + { + [DynamicPropertyOrder] + public double Property { get; set; } + + [DynamicPropertyOrderEvaluationMethod] + public int DynamicPropertyOrder(object o) + { + return 1; + } + } + + internal class ClassWithDynamicPropertyOrderProperty + { + private readonly int order; + + public ClassWithDynamicPropertyOrderProperty(int order) + { + this.order = order; + } + + [DynamicPropertyOrder] + public double Property { get; set; } + + [DynamicPropertyOrderEvaluationMethod] + public int DynamicPropertyOrder(string propertyName) + { + return order; + } + } +} \ No newline at end of file Index: Core/Common/test/Core.Common.Gui.Test/Core.Common.Gui.Test.csproj =================================================================== diff -u -rc625517c051161c0b306e3a554d2227fce06e614 -r7fed3e2d674e24935506766bb55bcb71274827f0 --- Core/Common/test/Core.Common.Gui.Test/Core.Common.Gui.Test.csproj (.../Core.Common.Gui.Test.csproj) (revision c625517c051161c0b306e3a554d2227fce06e614) +++ Core/Common/test/Core.Common.Gui.Test/Core.Common.Gui.Test.csproj (.../Core.Common.Gui.Test.csproj) (revision 7fed3e2d674e24935506766bb55bcb71274827f0) @@ -77,6 +77,7 @@ +