Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

SnowflakeIdTest.cs 804 B

1234567891011121314151617181920212223242526272829303132333435
  1. using System.Linq;
  2. using System.Threading.Tasks;
  3. using DotNetCore.CAP.Internal;
  4. using Xunit;
  5. namespace DotNetCore.CAP.Test
  6. {
  7. public class SnowflakeIdTest
  8. {
  9. [Fact]
  10. public void NextIdTest()
  11. {
  12. var result = SnowflakeId.Default().NextId();
  13. Assert.IsType<long>(result);
  14. Assert.True(result > 0);
  15. Assert.True(result.ToString().Length == long.MaxValue.ToString().Length);
  16. }
  17. [Fact]
  18. public void ConcurrentNextIdTest()
  19. {
  20. var array = new long[1000];
  21. Parallel.For(0, 1000, i =>
  22. {
  23. var id = SnowflakeId.Default().NextId();
  24. array[i] = id;
  25. });
  26. Assert.True(array.Distinct().Count() == 1000);
  27. }
  28. }
  29. }