public void TestIndexing3() { var a = new NativeArrayFullSOA <T4>(150, Allocator.Temp); for (int i = 0; i < a.Length; ++i) { a[i] = new T4 { A = new T3 { A = i, B = new T2 { A = i * 13, B = 900 - i * 3 } }, B = new T2 { A = i * 33, B = 900 - i * 5 }, }; } for (int i = 0; i < a.Length; ++i) { var e = a[i]; Assert.AreEqual(i, e.A.A); Assert.AreEqual(i * 13, e.A.B.A); Assert.AreEqual(900 - i * 3, e.A.B.B); Assert.AreEqual(i * 33, e.B.A); Assert.AreEqual(900 - i * 5, e.B.B); } a.Dispose(); }
public void WorksInBurstJob() { const int kLength = 100; var array = new NativeArrayFullSOA <T4>(kLength, Allocator.Persistent); var job = new NativeArrayFullSOATestJob { array = array }; job.Schedule().Complete(); for (int i = 0; i < kLength; ++i) { Assert.AreEqual(i, array[i].A.A, "NativeArrayFullSOA failed to write values from within Burst job."); } array.Dispose(); }
public void TestIndexing1() { var a = new NativeArrayFullSOA <T1>(150, Allocator.Temp); for (int i = 0; i < a.Length; ++i) { a[i] = new T1 { A = (uint)i }; } for (int i = 0; i < a.Length; ++i) { var e = a[i]; Assert.AreEqual(i, e.A); } a.Dispose(); }
public void TestIndexing2() { var a = new NativeArrayFullSOA <T2>(150, Allocator.Temp); for (int i = 0; i < a.Length; ++i) { a[i] = new T2 { A = i, B = 900 - i }; } for (int i = 0; i < a.Length; ++i) { var e = a[i]; Assert.AreEqual(i, e.A); Assert.AreEqual(900 - i, e.B); } a.Dispose(); }