Added WaitAll and WaitAny to JobScheduler;

Added generation support to UnsafeSparseSet;
This commit is contained in:
2025-09-11 18:45:40 +09:00
parent 1546c2cabe
commit 94f10de90e
14 changed files with 336 additions and 161 deletions

View File

@@ -14,33 +14,40 @@ public class TestUnsafeSparseSet
_sparseSet = new UnsafeSparseSet<int>(16, Allocator.Persistent);
}
[TestCleanup]
public void Cleanup()
{
_sparseSet.Dispose();
}
[TestMethod]
public void Add()
{
var id = _sparseSet.Add(10);
Assert.IsTrue(_sparseSet.Contains(id));
var id = _sparseSet.Add(10, out var gen);
Assert.IsTrue(_sparseSet.Contains(id, gen));
}
[TestMethod]
public void Remove()
{
var id = _sparseSet.Add(20);
Assert.IsTrue(_sparseSet.Contains(id));
var id = _sparseSet.Add(20, out var gen);
Assert.IsTrue(_sparseSet.Contains(id, gen));
_sparseSet.Remove(id);
Assert.IsFalse(_sparseSet.Contains(id));
_sparseSet.Remove(id, gen);
Assert.IsFalse(_sparseSet.Contains(id, gen));
}
[TestMethod]
public void IndexReuse()
{
var id = _sparseSet.Add(20);
Assert.IsTrue(_sparseSet.Contains(id));
var id = _sparseSet.Add(20, out var gen);
Assert.IsTrue(_sparseSet.Contains(id, gen));
_sparseSet.Remove(id);
Assert.IsFalse(_sparseSet.Contains(id));
_sparseSet.Remove(id, gen);
Assert.IsFalse(_sparseSet.Contains(id, gen));
var newId = _sparseSet.Add(30);
var newId = _sparseSet.Add(30, out var newGen);
Assert.AreEqual(id, newId);
Assert.AreNotEqual(gen, newGen);
}
}