112 lines
4.6 KiB
C#
112 lines
4.6 KiB
C#
using System;
|
|
using System.Diagnostics;
|
|
using System.Reflection;
|
|
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
|
using Sarand.Net.Standard.Base.Utils;
|
|
|
|
namespace Sarand.UnitTests.Core.Base.Utils
|
|
{
|
|
[TestClass]
|
|
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.
|
|
//-------------------------------------------------------------------
|
|
[TestMethod]
|
|
public void SysUtil_GetCallerClassName_Test()
|
|
{
|
|
// Leading spaces.
|
|
Assert.AreNotEqual(null, SysUtil.GetCallerClassName());
|
|
Assert.AreNotEqual("", SysUtil.GetCallerClassName());
|
|
Assert.AreEqual("SysUtil_Tester", SysUtil.GetCallerClassName());
|
|
|
|
// Compiler generated context.
|
|
Func<string> temp = () => { return SysUtil.GetCallerClassName(); };
|
|
Assert.AreEqual(ClassName_CompilerGeneratedClass, temp());
|
|
|
|
// Anonymous function.
|
|
Assert.AreEqual(ClassName_CompilerGeneratedClass, ((Func<string>)(() => SysUtil.GetCallerClassName()))());
|
|
Assert.AreEqual(ClassName_CompilerGeneratedClass, new Func<string>(() => SysUtil.GetCallerClassName())());
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
// Calling code function name.
|
|
//-------------------------------------------------------------------
|
|
[TestMethod]
|
|
public void SysUtil_GetCallerMemberName_Test()
|
|
{
|
|
// Leading spaces.
|
|
Assert.AreNotEqual(null, SysUtil.GetCallerMemberName());
|
|
Assert.AreNotEqual("", SysUtil.GetCallerMemberName());
|
|
Assert.AreEqual("SysUtil_GetCallerMemberName_Test", SysUtil.GetCallerMemberName());
|
|
Assert.AreEqual(nameof(SysUtil_GetCallerMemberName_Test), SysUtil.GetCallerMemberName());
|
|
Assert.AreEqual(MethodBase.GetCurrentMethod().Name, SysUtil.GetCallerMemberName());
|
|
|
|
// Compiler generated context.
|
|
Func<string> temp = () => { return SysUtil.GetCallerMemberName(); };
|
|
Assert.AreEqual(MethodBase.GetCurrentMethod().Name, temp());
|
|
|
|
// Anonymous function.
|
|
Assert.AreEqual(MethodBase.GetCurrentMethod().Name, ((Func<string>)(() => SysUtil.GetCallerMemberName()))());
|
|
Assert.AreEqual(MethodBase.GetCurrentMethod().Name, new Func<string>(() => SysUtil.GetCallerMemberName())());
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
// Calling code file path.
|
|
//-------------------------------------------------------------------
|
|
[TestMethod]
|
|
public void SysUtil_GetCallerFilePath_Test()
|
|
{
|
|
// Leading spaces.
|
|
Assert.AreNotEqual(null, SysUtil.GetCallerFilePath());
|
|
Assert.AreNotEqual("", SysUtil.GetCallerFilePath());
|
|
Assert.AreEqual(@"D:\Sarand\Projects\Users\AHoward\VS2022\Common-VS\Workspace\SacsCoreUnitTests\Standard\Base\Utils\SysUtil_Tester.cs", SysUtil.GetCallerFilePath());
|
|
Assert.AreEqual(true, SysUtil.GetCallerFilePath().EndsWith("SysUtil_Tester.cs"));
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
// Calling code line number.
|
|
//-------------------------------------------------------------------
|
|
[TestMethod]
|
|
public void SysUtil_GetCallerLineNumber_Test()
|
|
{
|
|
// Leading spaces.
|
|
Assert.AreNotEqual(0, SysUtil.GetCallerLineNumber());
|
|
Assert.AreEqual((new StackFrame(0, true)).GetFileLineNumber(), SysUtil.GetCallerLineNumber());
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
// Calling code file path.
|
|
//-------------------------------------------------------------------
|
|
[TestMethod]
|
|
public void SysUtil_GetCallerClassMethod_Test()
|
|
{
|
|
// Leading spaces.
|
|
Assert.AreNotEqual(null, SysUtil.GetCallerClassMethod());
|
|
Assert.AreNotEqual("", SysUtil.GetCallerClassMethod());
|
|
Assert.AreEqual(GetType().Name + "." + MethodBase.GetCurrentMethod().Name, SysUtil.GetCallerClassMethod());
|
|
Assert.AreEqual(nameof(SysUtil_Tester) + "." + nameof(SysUtil_GetCallerClassMethod_Test), SysUtil.GetCallerClassMethod());
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
// Calling code file path.
|
|
//-------------------------------------------------------------------
|
|
[TestMethod]
|
|
public void SysUtil_Fn_Test()
|
|
{
|
|
// Leading spaces.
|
|
Assert.AreNotEqual(null, SysUtil.Fn);
|
|
Assert.AreNotEqual("", SysUtil.Fn);
|
|
Assert.AreEqual(GetType().Name + "." + MethodBase.GetCurrentMethod().Name, SysUtil.Fn);
|
|
Assert.AreEqual(nameof(SysUtil_Tester) + "." + nameof(SysUtil_Fn_Test), SysUtil.Fn);
|
|
}
|
|
|
|
//-------------------------------------------------------------------
|
|
}
|
|
}
|