예제 #1
0
    public void ResizedListToDeferredJobArray([Values(0, 1, 2, 3, 4, 5, 6, 42, 97, 1023)] int length)
    {
        var list = new NativeList <int>(Allocator.TempJob);

        var setLengthJob = new SetListLengthJob {
            list = list, ResizeLength = length
        };
        var jobHandle = setLengthJob.Schedule();

        var setValuesJob = new SetArrayValuesJobParallel {
            array = list.AsDeferredJobArray()
        };

        setValuesJob.Schedule(list, 3, jobHandle).Complete();

        Assert.AreEqual(length, list.Length);
        for (int i = 0; i != list.Length; i++)
        {
            Assert.AreEqual(length, list[i]);
        }

        list.Dispose();
    }
예제 #2
0
    public void ResizeListBeforeSchedule([Values(5)] int length)
    {
        var list = new NativeList <int>(Allocator.TempJob);

        var setLengthJob = new SetListLengthJob {
            list = list, ResizeLength = length
        }.Schedule();
        var setValuesJob = new SetArrayValuesJobParallel {
            array = list.AsDeferredJobArray()
        };

        setLengthJob.Complete();

        setValuesJob.Schedule(list, 3).Complete();

        Assert.AreEqual(length, list.Length);
        for (int i = 0; i != list.Length; i++)
        {
            Assert.AreEqual(length, list[i]);
        }

        list.Dispose();
    }