From 7644344d0f7d87a842a1721d5d49f008e4da1153 Mon Sep 17 00:00:00 2001 From: Savorboard Date: Tue, 11 Sep 2018 11:01:26 +0800 Subject: [PATCH] add SnowflakeId unit tests --- test/DotNetCore.CAP.Test/SnowflakeIdTest.cs | 35 +++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 test/DotNetCore.CAP.Test/SnowflakeIdTest.cs diff --git a/test/DotNetCore.CAP.Test/SnowflakeIdTest.cs b/test/DotNetCore.CAP.Test/SnowflakeIdTest.cs new file mode 100644 index 0000000..46553cf --- /dev/null +++ b/test/DotNetCore.CAP.Test/SnowflakeIdTest.cs @@ -0,0 +1,35 @@ +using System.Linq; +using System.Threading.Tasks; +using DotNetCore.CAP.Infrastructure; +using Xunit; + +namespace DotNetCore.CAP.Test +{ + public class SnowflakeIdTest + { + [Fact] + public void NextIdTest() + { + var result = SnowflakeId.Default().NextId(); + + Assert.IsType(result); + Assert.True(result > 0); + Assert.True(result.ToString().Length == long.MaxValue.ToString().Length); + } + + [Fact] + public void ConcurrentNextIdTest() + { + var array = new long[1000]; + + Parallel.For(0, 1000, i => + { + var id = SnowflakeId.Default().NextId(); + array[i] = id; + }); + + Assert.True(array.Distinct().Count() == 1000); + } + + } +}