Ejemplo n.º 1
0
        public void WritePartTest()
        {
            using (var mem = new StructSimpleMemory <MySimpleStruct>(Context, 100))
            {
                MySimpleStruct[] dat = Enumerable.Range(0, 100)
                                       .Select(n => new MySimpleStruct()
                {
                    X = n, Y = n + 10, Point = n * 2.2f
                })
                                       .ToArray();
                MySimpleStruct[] ans = new MySimpleStruct[100];

                mem.Write(CommandQueue, true, 0, ans.Length, ans).Wait();

                mem.Write(CommandQueue, true, 0, 25, dat).Wait();
                mem.Read(CommandQueue, true, 0, 25, ans).Wait();
                Assert.AreEqual(dat.Take(25), ans.Take(25));

                mem.Write(CommandQueue, true, 25, 25, dat, 25).Wait();
                mem.Write(CommandQueue, true, 50, 25, dat, 50).Wait();
                mem.Write(CommandQueue, true, 75, 25, dat, 75).Wait();
                mem.Read(CommandQueue, true, ans).Wait();
                Assert.AreEqual(dat, ans);
            }
        }