Skip to content

Commit

Permalink
Adding Error Reporting tests
Browse files Browse the repository at this point in the history
To be removed from this PR, committed so they can be recovered in separate PR.
  • Loading branch information
alelom committed Feb 28, 2023
1 parent 1cc33bf commit 6c91f03
Showing 1 changed file with 79 additions and 0 deletions.
79 changes: 79 additions & 0 deletions .ci/unit-tests/NUnit_Engine_Tests/MessageReports.cs
Original file line number Diff line number Diff line change
@@ -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 <https://www.gnu.org/licenses/lgpl-3.0.html>.
*/

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.
}
}
}

0 comments on commit 6c91f03

Please sign in to comment.