using System.Security.Cryptography; using Newtonsoft.Json; namespace Infrastructure.Tests; public class GenericTests { [Fact] public void ValueConvertTest() { const string value = "7"; var convertedValue = Convert(value); Assert.Equal(7, convertedValue); } private static T Convert(string value) where T : IEquatable { return (T)System.Convert.ChangeType(value, typeof(T)); } [Fact] public void DefaultValueTest() { const long value = 0L; long? nullableValue = null; Assert.Equal(default, value); Assert.Null(nullableValue); } [Fact] public void HashTest() { var json = JsonConvert.SerializeObject(323234L); var hashBytes = MD5.HashData(Encoding.ASCII.GetBytes(json)); var hashString = BitConverter.ToString(hashBytes).Replace("-", "").ToLowerInvariant(); Assert.NotEmpty(hashString); Assert.NotNull(hashString); } }