Files
Common-VS2019/SacsCoreUnitTests/Standard/Base/Utils/EnumUtil_Tester.cs
T
2021-05-05 15:36:28 +01:00

72 lines
3.3 KiB
C#

using System;
using System.Linq;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Sarand.Net.Standard.Base.Core;
using Sarand.Net.Standard.Base.Utils;
namespace Sarand.UnitTests.Core.Base.Utils
{
[TestClass]
public class EnumUtil_Tester
{
//-------------------------------------------------------------------
// Data members.
//-------------------------------------------------------------------
[TestMethod]
public void EnumUtil_IsValid ()
{
Assert.IsTrue(EnumUtil.IsValid<SaMessageLevel>(0));
Assert.IsTrue(EnumUtil.IsValid<SaMessageLevel>(1));
Assert.IsTrue(EnumUtil.IsValid<SaMessageLevel>(2));
Assert.IsTrue(EnumUtil.IsValid<SaMessageLevel>(3));
Assert.IsTrue(EnumUtil.IsValid<SaMessageLevel>(4));
Assert.IsTrue(EnumUtil.IsValid<SaMessageLevel>(5));
}
//-------------------------------------------------------------------
[TestMethod]
public void EnumUtil_GetName ()
{
Assert.AreEqual("Info", EnumUtil.GetName<SaMessageLevel>(SaMessageLevel.Info));
Assert.AreEqual("Debug", EnumUtil.GetName<SaMessageLevel>(SaMessageLevel.Debug));
}
//-------------------------------------------------------------------
[TestMethod]
public void EnumUtil_GetValues ()
{
Assert.AreEqual(9,EnumUtil.GetValues<SaMessageLevel>().ToList().Count);
Assert.AreEqual(SaMessageLevel.Info,EnumUtil.GetValues<SaMessageLevel>().ToArray()[6]);
}
//-------------------------------------------------------------------
[TestMethod]
public void EnumUtil_ParseEnum ()
{
Assert.AreEqual(SaMessageLevel.Info, EnumUtil.ParseEnum<SaMessageLevel>("Info"));
Assert.AreEqual(SaMessageLevel.Debug, EnumUtil.ParseEnum<SaMessageLevel>("Debug"));
}
[TestMethod]
[ExpectedException(typeof(ArgumentException), "Requested value 'ABC' was not found.")]
public void EnumUtil_ParseEnum_Exception ()
{
SaMessageLevel messageLevel = EnumUtil.ParseEnum<SaMessageLevel>("ABC");
}
//-------------------------------------------------------------------
[TestMethod]
public void EnumUtil_StartsWith ()
{
Assert.AreEqual(SaMessageLevel.Info, EnumUtil.StartsWith<SaMessageLevel>("I", SaMessageLevel.Error));
Assert.AreEqual(SaMessageLevel.Info, EnumUtil.StartsWith<SaMessageLevel>("i", SaMessageLevel.Error));
Assert.AreEqual(SaMessageLevel.Info, EnumUtil.StartsWith<SaMessageLevel>("inf", SaMessageLevel.Error));
Assert.AreEqual(SaMessageLevel.Debug, EnumUtil.StartsWith<SaMessageLevel>("D", SaMessageLevel.Error));
Assert.AreEqual(SaMessageLevel.Debug, EnumUtil.StartsWith<SaMessageLevel>("d", SaMessageLevel.Error));
Assert.AreEqual(SaMessageLevel.Debug, EnumUtil.StartsWith<SaMessageLevel>("DE", SaMessageLevel.Error));
Assert.AreEqual(SaMessageLevel.Debug, EnumUtil.StartsWith<SaMessageLevel>("DEB", SaMessageLevel.Error));
Assert.AreEqual(SaMessageLevel.Debug, EnumUtil.StartsWith<SaMessageLevel>("DEBU", SaMessageLevel.Error));
Assert.AreEqual(SaMessageLevel.Debug, EnumUtil.StartsWith<SaMessageLevel>("DEBUG", SaMessageLevel.Error));
Assert.AreEqual(EnumUtil.StartsWith<SaMessageLevel>("Err", SaMessageLevel.Error), SaMessageLevel.Error);
Assert.AreEqual(SaMessageLevel.None, EnumUtil.StartsWith<SaMessageLevel>("", SaMessageLevel.Error));
Assert.AreEqual(SaMessageLevel.Error, EnumUtil.StartsWith<SaMessageLevel>("ABC", SaMessageLevel.Error));
}
//-------------------------------------------------------------------
}
}