Exemple #1
0
        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)}");
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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 }));
                }
            }
        }
Exemple #4
0
        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));
                        }
            }
        }
Exemple #5
0
        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));
                        }
            }
        }
Exemple #6
0
 public bool regXwildExtDLR(WCharPtr data, WCharPtr filter, IConari l)
 {
     return(l.DLR.searchExtC <bool>(data, filter, true));
 }
Exemple #7
0
 public bool regXwildExtLambda(WCharPtr data, WCharPtr filter, IConari l)
 {
     return(l.bind <Func <WCharPtr, WCharPtr, bool, bool> >("searchExtC")(data, filter, true));
 }