SnowFlakeTests.cs 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. using System;
  2. using Masuit.Tools.Strings;
  3. using Masuit.Tools.Systems;
  4. using Xunit;
  5. namespace Masuit.Tools.Abstractions.Test.Systems;
  6. public class SnowFlakeTests
  7. {
  8. [Fact]
  9. public void NewId_ShouldReturnUniqueStringId()
  10. {
  11. // Arrange
  12. var snowFlake = SnowFlake.GetInstance();
  13. // Act
  14. var id1 = SnowFlake.NewId;
  15. var id2 = SnowFlake.NewId;
  16. // Assert
  17. Assert.NotNull(id1);
  18. Assert.NotNull(id2);
  19. Assert.NotEqual(id1, id2);
  20. }
  21. [Fact]
  22. public void LongId_ShouldReturnUniqueLongId()
  23. {
  24. // Arrange
  25. var snowFlake = SnowFlake.GetInstance();
  26. // Act
  27. var id1 = SnowFlake.LongId;
  28. var id2 = SnowFlake.LongId;
  29. // Assert
  30. Assert.NotEqual(id1, id2);
  31. }
  32. [Fact]
  33. public void GetUniqueId_ShouldReturnUniqueStringId()
  34. {
  35. // Arrange
  36. var snowFlake = new SnowFlake();
  37. // Act
  38. var id1 = snowFlake.GetUniqueId();
  39. var id2 = snowFlake.GetUniqueId();
  40. // Assert
  41. Assert.NotNull(id1);
  42. Assert.NotNull(id2);
  43. Assert.NotEqual(id1, id2);
  44. }
  45. [Fact]
  46. public void GetUniqueShortId_ShouldReturnUniqueShortStringId()
  47. {
  48. // Arrange
  49. var snowFlake = new SnowFlake();
  50. // Act
  51. var id1 = snowFlake.GetUniqueShortId();
  52. var id2 = snowFlake.GetUniqueShortId();
  53. // Assert
  54. Assert.NotNull(id1);
  55. Assert.NotNull(id2);
  56. Assert.NotEqual(id1, id2);
  57. Assert.True(id1.Length <= 8);
  58. Assert.True(id2.Length <= 8);
  59. }
  60. [Fact]
  61. public void SetMachienId_ShouldSetMachineId()
  62. {
  63. // Arrange
  64. var machineId = 512;
  65. // Act
  66. SnowFlake.SetMachienId(machineId);
  67. // Assert
  68. // No exception should be thrown
  69. }
  70. [Fact]
  71. public void SetMachienId_ShouldThrowExceptionForInvalidMachineId()
  72. {
  73. // Arrange
  74. var machineId = 2048;
  75. // Act & Assert
  76. Assert.Throws<Exception>(() => SnowFlake.SetMachienId(machineId));
  77. }
  78. [Fact]
  79. public void SetNumberFormater_ShouldSetNumberFormater()
  80. {
  81. // Arrange
  82. var numberFormater = new NumberFormater(36);
  83. // Act
  84. SnowFlake.SetNumberFormater(numberFormater);
  85. // Assert
  86. // No exception should be thrown
  87. }
  88. [Fact]
  89. public void SetInitialOffset_ShouldSetOffset()
  90. {
  91. // Arrange
  92. var offset = 1000L;
  93. // Act
  94. SnowFlake.SetInitialOffset(offset);
  95. // Assert
  96. // No exception should be thrown
  97. }
  98. }