PageRenderTime 45ms CodeModel.GetById 18ms RepoModel.GetById 0ms app.codeStats 0ms

/Framework/src/Ncqrs.Tests/BasicGuidGeneratorSpecs.cs

http://github.com/ncqrs/ncqrs
C# | 47 lines | 37 code | 10 blank | 0 comment | 1 complexity | 1a35fe8328f1c7f29b48f30955d9772a MD5 | raw file
Possible License(s): MPL-2.0-no-copyleft-exception, Apache-2.0
  1. using System;
  2. using FluentAssertions;
  3. using System.Collections.Generic;
  4. using Xunit;
  5. namespace Ncqrs.Tests
  6. {
  7. public class BasicGuidGeneratorSpecs
  8. {
  9. [Fact]
  10. public void When_getting_a_new_identifier_it_should_not_be_empty()
  11. {
  12. var generator = new BasicGuidGenerator();
  13. var newIdentifier = generator.GenerateNewId();
  14. newIdentifier.Should().NotBe(Guid.Empty);
  15. }
  16. [Fact]
  17. public void When_getting_a_new_identifier_twice_they_should_not_be_the_same()
  18. {
  19. var generator = new BasicGuidGenerator();
  20. var firstIdentifier = generator.GenerateNewId();
  21. var secondIdentifier = generator.GenerateNewId();
  22. firstIdentifier.Should().NotBe(secondIdentifier);
  23. }
  24. [Fact]
  25. public void When_getting_a_new_identifier_multiple_times_they_should_all_be_unique()
  26. {
  27. var generator = new BasicGuidGenerator();
  28. var identifiers = new HashSet<Guid>();
  29. for (int i = 0; i < 500; i++)
  30. {
  31. var newId = generator.GenerateNewId();
  32. identifiers.Should().NotContain(newId);
  33. identifiers.Add(newId);
  34. }
  35. }
  36. }
  37. }