using NUnit.Framework; using SPTarkov.Server.Core.Extensions; using SPTarkov.Server.Core.Models.Common; namespace UnitTests.Tests.Utils; /// /// Unit tests for the struct. /// [TestFixture] public class MongoIdTests { /// /// Test that generates 1000 and ensures they are all valid.
/// Validity is checked by ensuring the ID is non-empty, exactly 24 characters, and matches the expected format. ///
[Test] public void Generate_ShouldProduceValidMongoIds() { var invalidIds = new List(); for (var i = 0; i < 1000; i++) { var id = new MongoId(); var idStr = id.ToString(); if (string.IsNullOrWhiteSpace(idStr) || idStr.Length != 24 || !id.IsValidMongoId()) { invalidIds.Add(idStr); } } Assert.AreEqual(0, invalidIds.Count, $"Invalid MongoIds found: {string.Join(", ", invalidIds)}"); } }