示例#1
0
        public void WritePartTest()
        {
            using (var mem = new StructMappingMemory <MyMappingStruct>(Context, 100))
            {
                MyMappingStruct[] dat = Enumerable.Range(0, 100)
                                        .Select(n => new MyMappingStruct()
                {
                    X = n, Y = n + 10, Point = n * 2.2f
                })
                                        .ToArray();
                MyMappingStruct[] ans = new MyMappingStruct[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);
            }
        }