|
|
using OT.COM.Encryption; using OT.COM.LogisticsUtil; using System; using System.Collections.Generic; using System.Linq; using System.Reflection; using System.Text; using System.Threading.Tasks; using Xunit;
namespace TestUnit.OT.COM.LogisticsUtil { public class Test_ClassHelper {
[Theory] [InlineData("Util", typeof(Util))] [InlineData("Util1", null)]
public void GetTypeByTypeName(string i_sTypeName, Type i_tExcept) { Type tResult = ClassHelper.GetTypeByTypeName(i_sTypeName); Assert.True(tResult == i_tExcept, $"Cannot create type '{i_sTypeName}'"); }
[Theory] [InlineData("OT.COM.LogisticsUtil.ValidatorHelper", typeof(ValidatorHelper))] [InlineData("Util1", null)]
public void GetTypeByFullName(string i_sTypeName, Type i_tExcept) { Type tResult = ClassHelper.GetTypeByFullName(i_sTypeName); Assert.True(tResult == i_tExcept, $"Cannot create type '{i_sTypeName}'"); }
[Theory] [InlineData("OT.COM.Encryption.AES", typeof(AES))] [InlineData("Util1", null)]
public void GetInstByFullName(string i_sTypeName, Type i_tExcept) { string sMsg = ClassHelper.GetInstByFullName(i_sTypeName, out object oInst, null);
if (i_tExcept != null) { Assert.True(sMsg == null, sMsg); Assert.True(oInst != null && oInst.GetType() == i_tExcept, $"Create '{i_sTypeName}' success but type is not expect '{i_tExcept.FullName}'"); } else { Assert.True(sMsg != null && oInst == null, $"Create '{i_sTypeName}' success but should not happen"); } }
[Theory] [InlineData("OT.COM.LogisticsUtil.ValidatorHelper", typeof(ValidatorHelper))] [InlineData("Util1", null)]
public void GetTypeByFullNameEndWithTerm(string i_sTypeName, Type i_tExcept) { Type tResult = ClassHelper.GetTypeByFullNameEndWithTerm(i_sTypeName); Assert.True(tResult == i_tExcept, $"Cannot create type '{i_sTypeName}'"); }
[Theory] [InlineData("Encryption.AES", typeof(AES))] [InlineData("Util1", null)]
public void GetInstByFullNameEndWithTerm(string i_sTypeName, Type i_tExcept) { string sMsg = ClassHelper.GetInstByFullNameEndWithTerm(i_sTypeName, out object oInst);
if (i_tExcept != null) { Assert.True(sMsg == null, sMsg); Assert.True(oInst != null && oInst.GetType() == i_tExcept, $"Create '{i_sTypeName}' success but type is not expect '{i_tExcept.FullName}'"); } else { Assert.True(sMsg != null && oInst == null, $"Create '{i_sTypeName}' success but should not happen"); }
}
[Theory] [InlineData(typeof(AES), typeof(AES))] [InlineData(null, null)]
public void GetInstByType(Type i_sTypeName, Type i_tExcept) { string sMsg = ClassHelper.GetInstByType(i_sTypeName, out object oInst);
if (i_tExcept != null) { Assert.True(sMsg == null, sMsg); Assert.True(oInst != null && oInst.GetType() == i_tExcept, $"Create '{i_sTypeName}' success but type is not expect '{i_tExcept.FullName}'"); } else { Assert.True(sMsg != null && oInst == null, $"Create '{i_sTypeName}' success but should not happen"); }
}
[Theory] [InlineData("AES", typeof(AES))] [InlineData("Util1", null)]
public void GetInstByClassName(string i_sTypeName, Type i_tExcept) { string sMsg = ClassHelper.GetInstByClassName(i_sTypeName, out object oInst);
if (i_tExcept != null) { Assert.True(sMsg == null, sMsg); Assert.True(oInst != null && oInst.GetType() == i_tExcept, $"Create '{i_sTypeName}' success but type is not expect '{i_tExcept.FullName}'"); } else { Assert.True(sMsg != null && oInst == null, $"Create '{i_sTypeName}' success but should not happen"); }
}
[Theory] [InlineData(typeof(AES), typeof(AES))] [InlineData(typeof(int ?), typeof(int))]
public void GetRealType(Type i_sTypeName, Type i_tExcept) { Type r = ClassHelper.GetRealType(i_sTypeName);
if (i_tExcept != null) { Assert.True(r == i_tExcept, $"Create '{i_sTypeName}' success but type is not expect '{i_tExcept.FullName}'"); } else { Assert.True(r == null, $"Create '{i_sTypeName}' success but should not happen"); } }
[Theory] [InlineData(typeof(int), "1", 1 )] [InlineData(typeof(string), 2, "2")]
public void ConvertValue(Type i_sTypeName, object i_oOrigin, object i_tTarget) { object t = ClassHelper.ConvertValue(i_sTypeName, i_oOrigin);
if (i_tTarget != null) { Assert.True(t != null && t.ToString() == i_tTarget.ToString(), $"Create '{i_sTypeName}' success but type is not expect '{i_tTarget.ToString()}'"); } else { Assert.True(t == null, $"Create '{i_sTypeName}' success but should not happen"); } }
public class TestA { public int A { get; set; } }
[Theory] [InlineData("3", 3)]
public void ConvertValue2(object i_oOrigin, object i_tTarget) { PropertyInfo pi = typeof(TestA).GetProperties().First(); object t = ClassHelper.ConvertValue(pi, i_oOrigin);
if (i_tTarget != null) { Assert.True(t != null && t.ToString() == i_tTarget.ToString(), $"Create '{pi}' success but type is not expect '{i_tTarget.ToString()}'"); } else { Assert.True(t == null, $"Create '{pi}' success but should not happen"); } }
}
}
|