103 lines
3.8 KiB
C#
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 ---
|
|
}
|
|
}
|