public void calcAlgo(string label, IConari l, WCharPtr data, WCharPtr filter, Func <WCharPtr, WCharPtr, IConari, bool> method) { var meter = new Meter(); double results = 0; meter.start(); results += meter.delta(); for (int total = 0; total < average; ++total) { meter.start(); for (int i = 0; i < iterations; ++i) { if (method(data, filter, l)) { } } results += meter.delta(); Console.Write("."); } Console.WriteLine($"{label}{ms(results / average)}"); }
public void allocFreeTest2() { string managed = " my string 123 "; UnmanagedString uns; using (uns = new UnmanagedString(managed, UnmanagedString.SType.Unicode)) { WCharPtr actual = uns; Assert.Equal(managed.Length, ((string)actual).Length); Assert.Equal(UnmanagedString.SType.Unicode, uns.Type); } Assert.Equal(IntPtr.Zero, (IntPtr)uns); }
public void echoTest5() { using (var l = new ConariL(UNLIB_DLL)) { string exp = "my string-123 !"; using (var uns = new UnmanagedString(exp, UnmanagedString.SType.Unicode)) { WCharPtr wchrptr = uns; Assert.AreEqual(exp, l.DLR.get_WStringPtrVal <WCharPtr>(wchrptr)); Assert.AreEqual(exp, l.bind <Func <WCharPtr, WCharPtr> >("get_WStringPtrVal")(wchrptr)); var dyn = l.bind(Dynamic.GetMethodInfo(typeof(WCharPtr), typeof(WCharPtr)), "get_WStringPtrVal"); Assert.AreEqual(exp, (WCharPtr)dyn.dynamic.Invoke(null, new object[] { wchrptr })); } } }
public void stringTest4() { using (var l = new ConariL(UNLIB_DLL)) { string exp = "mystring-123 !"; using (var uns1 = new UnmanagedString(exp, UnmanagedString.SType.Unicode)) using (var uns2 = new UnmanagedString(exp, UnmanagedString.SType.Unicode)) using (var uns3 = new UnmanagedString(" " + exp, UnmanagedString.SType.Unicode)) { WCharPtr chrptr = uns1; WCharPtr chrptr2 = uns2; Assert.AreEqual(true, l.DLR.get_WStringPtrCmpRef <bool>(chrptr, chrptr2)); Assert.AreEqual(true, l.bind <Func <WCharPtr, WCharPtr, bool> >("get_WStringPtrCmpRef")(chrptr, chrptr2)); Assert.AreEqual(false, l.DLR.get_WStringPtrCmpRef <bool>(chrptr, (WCharPtr)uns3)); } } }
public void stringTest2() { using (var l = new ConariL(gCfgUnlib)) { string exp = "mystring-123 !"; using (var uns1 = new UnmanagedString(exp, UnmanagedString.SType.Unicode)) using (var uns2 = new UnmanagedString(exp, UnmanagedString.SType.Unicode)) using (var uns3 = new UnmanagedString(" " + exp, UnmanagedString.SType.Unicode)) { WCharPtr wchrptr = uns1; WCharPtr wchrptr2 = uns2; Assert.Equal(true, l.DLR.get_WCharPtrCmpRef <bool>(wchrptr, wchrptr2)); Assert.True(l.bind <Func <WCharPtr, WCharPtr, bool> >("get_WCharPtrCmpRef")(wchrptr, wchrptr2)); Assert.Equal(false, l.DLR.get_WCharPtrCmpRef <bool>(wchrptr, (WCharPtr)uns3)); } } }
public bool regXwildExtDLR(WCharPtr data, WCharPtr filter, IConari l) { return(l.DLR.searchExtC <bool>(data, filter, true)); }
public bool regXwildExtLambda(WCharPtr data, WCharPtr filter, IConari l) { return(l.bind <Func <WCharPtr, WCharPtr, bool, bool> >("searchExtC")(data, filter, true)); }