From 6c91f0333f5841501d09b9d60d12c6d62e706aaf Mon Sep 17 00:00:00 2001 From: Alessio Lombardi Date: Tue, 28 Feb 2023 12:51:48 +0000 Subject: [PATCH] Adding Error Reporting tests To be removed from this PR, committed so they can be recovered in separate PR. --- .../NUnit_Engine_Tests/MessageReports.cs | 79 +++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 .ci/unit-tests/NUnit_Engine_Tests/MessageReports.cs diff --git a/.ci/unit-tests/NUnit_Engine_Tests/MessageReports.cs b/.ci/unit-tests/NUnit_Engine_Tests/MessageReports.cs new file mode 100644 index 00000000..0e861857 --- /dev/null +++ b/.ci/unit-tests/NUnit_Engine_Tests/MessageReports.cs @@ -0,0 +1,79 @@ +/* + * This file is part of the Buildings and Habitats object Model (BHoM) + * Copyright (c) 2015 - 2023, the respective contributors. All rights reserved. + * + * Each contributor holds copyright over their respective contributions. + * The project versioning (Git) records all such contribution source information. + * + * + * The BHoM 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.0 of the License, or + * (at your option) any later version. + * + * The BHoM 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 code. If not, see . + */ + +using BH.Engine.Base; +using BH.oM.Test.NUnit; +using NUnit.Framework; +using Shouldly; +using System; +using System.Collections; +using System.Collections.Generic; +using System.Linq; +using System.Reflection; +using System.Text; + +namespace BH.Test.Engine.NUnit +{ + public class MessageReports : NUnitTest + { + [Test] + public void ErrorReportingPassingTest() + { + BH.Engine.Base.Compute.RecordError($"Some error logged via BH.Engine.Base.Compute.{nameof(Compute.RecordError)}"); + Assert.Pass(); // Make it pass intentionally here; the recorded error should still make the test report failure on TearDown + } + + [Test] + public void WarningReportingPassingTest() + { + BH.Engine.Base.Compute.RecordWarning($"Some warning logged via BH.Engine.Base.Compute.{nameof(Compute.RecordWarning)}"); + Assert.Pass(); + } + + [Test] + public void NoteReportingPassingTest() + { + BH.Engine.Base.Compute.RecordNote($"Some note logged via BH.Engine.Base.Compute.{nameof(Compute.RecordNote)}"); + Assert.Pass(); + } + + [Test] + public void AllMessageTypeReportingPassingTest() + { + BH.Engine.Base.Compute.RecordError($"Some error logged via BH.Engine.Base.Compute.{nameof(Compute.RecordError)}"); + BH.Engine.Base.Compute.RecordWarning($"Some warning logged via BH.Engine.Base.Compute.{nameof(Compute.RecordWarning)}"); + BH.Engine.Base.Compute.RecordNote($"Some note logged via BH.Engine.Base.Compute.{nameof(Compute.RecordNote)}"); + + Assert.Pass(); // Make it pass intentionally here; the recorded messages should still show in the output thanks to the base TearDown method. + } + + [Test] + public void AllMessageTypeReportingFailingTest() // MUST FAIL (intentional) + { + BH.Engine.Base.Compute.RecordError($"Some error logged via BH.Engine.Base.Compute.{nameof(Compute.RecordError)}"); + BH.Engine.Base.Compute.RecordWarning($"Some warning logged via BH.Engine.Base.Compute.{nameof(Compute.RecordWarning)}"); + BH.Engine.Base.Compute.RecordNote($"Some note logged via BH.Engine.Base.Compute.{nameof(Compute.RecordNote)}"); + + Assert.Fail("This test is failed intentionally to verify that Recorded Messages are shown in the output also after test failure."); // Make it fail intentionally here; the recorded messages should still show in the output thanks to the base TearDown method. + } + } +}