Files
Common-VS2019/SacsCoreUnitTests/Standard/Base/Utils/SysUtil_Tester.cs
T

103 lines
3.8 KiB
C#

using System;
using System.Diagnostics;
using System.Reflection;
using NUnit.Framework;
using Sarand.Net.Standard.Base.Utils;
namespace Sarand.UnitTests.Core.Base.Utils
{
[TestFixture]
public class SysUtil_Tester
{
// --- Data Members ---
private static readonly String ClassName_GeneratedMemberName_Prefix = "<";
private static readonly String ClassName_CompilerGeneratedClass = ClassName_GeneratedMemberName_Prefix + ">c";
// Calling code class name.
// --- Tests ---
[Test]
public void SysUtil_GetCallerClassName_Test()
{
// Leading spaces.
Assert.That(SysUtil.GetCallerClassName(), Is.Not.EqualTo(null));
Assert.That(SysUtil.GetCallerClassName(), Is.Not.Empty);
Assert.That(SysUtil.GetCallerClassName(), Is.EqualTo("SysUtil_Tester"));
// Compiler generated context.
Func<string> temp = () => { return SysUtil.GetCallerClassName(); };
Assert.That(temp(), Is.EqualTo(ClassName_CompilerGeneratedClass));
// Anonymous function.
Assert.That(((Func<string>)(() => SysUtil.GetCallerClassName()))(), Is.EqualTo(ClassName_CompilerGeneratedClass));
Assert.That(new Func<string>(() => SysUtil.GetCallerClassName())(), Is.EqualTo(ClassName_CompilerGeneratedClass));
}
// Calling code function name.
[Test]
public void SysUtil_GetCallerMemberName_Test()
{
// Leading spaces.
Assert.That(SysUtil.GetCallerMemberName(), Is.Not.EqualTo(null));
Assert.That(SysUtil.GetCallerMemberName(), Is.Not.Empty);
Assert.That(SysUtil.GetCallerMemberName(), Is.EqualTo("SysUtil_GetCallerMemberName_Test"));
Assert.That(SysUtil.GetCallerMemberName(), Is.EqualTo(nameof(SysUtil_GetCallerMemberName_Test)));
Assert.That(SysUtil.GetCallerMemberName(), Is.EqualTo(MethodBase.GetCurrentMethod().Name));
// Compiler generated context.
Func<string> temp = () => { return SysUtil.GetCallerMemberName(); };
Assert.That(temp(), Is.EqualTo(MethodBase.GetCurrentMethod().Name));
// Anonymous function.
Assert.That(((Func<string>)(() => SysUtil.GetCallerMemberName()))(), Is.EqualTo(MethodBase.GetCurrentMethod().Name));
Assert.That(new Func<string>(() => SysUtil.GetCallerMemberName())(), Is.EqualTo(MethodBase.GetCurrentMethod().Name));
}
// Calling code file path.
[Test]
public void SysUtil_GetCallerFilePath_Test()
{
// Leading spaces.
Assert.That(SysUtil.GetCallerFilePath(), Is.Not.EqualTo(null));
Assert.That(SysUtil.GetCallerFilePath(), Is.Not.Empty);
Assert.That(SysUtil.GetCallerFilePath(), Is.EqualTo(@"D:\Sarand\Projects\Users\AHoward\VS2022\Common-VS\Workspace\SacsCoreUnitTests\Standard\Base\Utils\SysUtil_Tester.cs"));
Assert.That(SysUtil.GetCallerFilePath().EndsWith("SysUtil_Tester.cs"), Is.EqualTo(true));
}
// Calling code line number.
[Test]
public void SysUtil_GetCallerLineNumber_Test()
{
// Leading spaces.
Assert.That(SysUtil.GetCallerLineNumber(), Is.Not.EqualTo(0));
Assert.That(SysUtil.GetCallerLineNumber(), Is.EqualTo((new StackFrame(0, true)).GetFileLineNumber()));
}
// Calling code file path.
[Test]
public void SysUtil_GetCallerClassMethod_Test()
{
// Leading spaces.
Assert.That(SysUtil.GetCallerClassMethod(), Is.Not.EqualTo(null));
Assert.That(SysUtil.GetCallerClassMethod(), Is.Not.Empty);
Assert.That(SysUtil.GetCallerClassMethod(), Is.EqualTo(GetType().Name + "." + MethodBase.GetCurrentMethod().Name));
Assert.That(SysUtil.GetCallerClassMethod(), Is.EqualTo(nameof(SysUtil_Tester) + "." + nameof(SysUtil_GetCallerClassMethod_Test)));
}
// Calling code file path.
[Test]
public void SysUtil_Fn_Test()
{
// Leading spaces.
Assert.That(SysUtil.Fn, Is.Not.EqualTo(null));
Assert.That(SysUtil.Fn, Is.Not.Empty);
Assert.That(SysUtil.Fn, Is.EqualTo(GetType().Name + "." + MethodBase.GetCurrentMethod().Name));
Assert.That(SysUtil.Fn, Is.EqualTo(nameof(SysUtil_Tester) + "." + nameof(SysUtil_Fn_Test)));
}
// --- The End ---
}
}