Нет описания
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

NativeMultiHashMapTests_JobDebugger.cs 1.3KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. using NUnit.Framework;
  2. using System;
  3. using Unity.Jobs;
  4. using Unity.Collections;
  5. using Unity.Collections.Tests;
  6. #if ENABLE_UNITY_COLLECTIONS_CHECKS
  7. internal class NativeMultiHashMapTests_JobDebugger : NativeMultiHashMapTestsFixture
  8. {
  9. [Test]
  10. public void NativeMultiHashMap_Read_And_Write_Without_Fences()
  11. {
  12. var hashMap = new NativeMultiHashMap<int, int>(hashMapSize, CommonRwdAllocator.Handle);
  13. var writeStatus = CollectionHelper.CreateNativeArray<int>(hashMapSize, CommonRwdAllocator.Handle);
  14. var readValues = CollectionHelper.CreateNativeArray<int>(hashMapSize, CommonRwdAllocator.Handle);
  15. var writeData = new MultiHashMapWriteParallelForJob()
  16. {
  17. hashMap = hashMap.AsParallelWriter(),
  18. status = writeStatus,
  19. keyMod = hashMapSize,
  20. };
  21. var readData = new MultiHashMapReadParallelForJob()
  22. {
  23. hashMap = hashMap,
  24. values = readValues,
  25. keyMod = writeData.keyMod,
  26. };
  27. var writeJob = writeData.Schedule(hashMapSize, 1);
  28. Assert.Throws<InvalidOperationException>(() => { readData.Schedule(hashMapSize, 1); });
  29. writeJob.Complete();
  30. hashMap.Dispose();
  31. writeStatus.Dispose();
  32. readValues.Dispose();
  33. }
  34. }
  35. #endif