public void IJobEntityBatchWithIndex([Values(1, 4, 17, 100)] int jobsPerChunk) { var archetype = m_Manager.CreateArchetype(typeof(EcsTestData)); var query = m_Manager.CreateEntityQuery(typeof(EcsTestData)); var entityCount = 100; var expectedEntitiesPerBatch = entityCount / jobsPerChunk; var entities = m_Manager.CreateEntity(archetype, entityCount, Allocator.Temp); var job = new WriteEntityIndex { EcsTestTypeHandle = m_Manager.GetComponentTypeHandle <EcsTestData>(false) }; job.ScheduleParallel(query, jobsPerChunk).Complete(); for (int batchIndex = 0; batchIndex < jobsPerChunk; ++batchIndex) { ArchetypeChunk.CalculateBatchSizeAndStartIndex(entityCount, jobsPerChunk, batchIndex, out var batchCount, out var startIndex); Assert.AreEqual(startIndex, m_Manager.GetComponentData <EcsTestData>(entities[startIndex]).value); } query.Dispose(); }