swig/Examples/test-suite/csharp/li_cdata_bytes_cpp_runme.cs

30 lines
924 B
C#

using System;
using System.Text;
using li_cdata_bytes_cppNamespace;
public class li_cdata_bytes_cpp_runme {
public static void Main() {
SWIGTYPE_p_void m = li_cdata_bytes_cpp.predefStr();
byte[] s = li_cdata_bytes_cpp.cdata(m, 0x200);
for (uint i = 0; i < 0x100; i++) {
uint val = Convert.ToUInt32(s[i]);
if (val != i)
throw new Exception("Wrong value " + val + " at index " + i);
val = Convert.ToUInt32(s[i + 0x100]);
if (val != i)
throw new Exception("Wrong value " + val + " at index " + (i + 0x100));
}
for (uint i = 0; i < 0x100; i++) {
byte v = (byte)(0x100 - 1 - i);
s[i] = v;
s[i + 0x100] = v;
}
SWIGTYPE_p_void m2 = li_cdata_bytes_cpp.malloc(0x200);
li_cdata_bytes_cpp.memmove(m2, s);
if (li_cdata_bytes_cpp.verifyBytes(m2) != 0)
throw new Exception("verifyBytes fails");
li_cdata_bytes_cpp.free(m2);
}
}