public static void func_pointer_marshalling()
        {
            var  obj    = new Dummy.TestObject();
            bool called = false;

            Eina.Strbuf buf      = new Eina.Strbuf();
            string      argument = "Some String";

            Eina.Value v = new Eina.Value(Eina.ValueType.String);
            v.Set(argument);
            string reference = new string(argument.ToCharArray().Reverse().ToArray());

            obj.CallFormatCb(buf, v, (Eina.Strbuf ibuf, Eina.Value val) => {
                called     = true;
                string str = null;
                val.Get(out str);
                buf.Append(new string(str.ToCharArray().Reverse().ToArray()));
            });

            Test.Assert(called, "Callback was not called");
            Test.AssertEquals(reference, buf.Steal());
            v.Dispose();
            buf.Dispose();
            obj.Dispose();
        }
Пример #2
0
        public static void test_steal()
        {
            Eina.Strbuf buf = new Eina.Strbuf();

            buf.Append("Here's");
            buf.Append(' ');
            buf.Append("Johnny!");

            Test.AssertEquals("Here's Jonnny!".Length, buf.Length);
            Test.AssertEquals("Here's Johnny!", buf.Steal());
        }
Пример #3
0
        public static void test_eolian()
        {
            var obj = new Dummy.TestObject();

            Eina.Strbuf buf = new Eina.Strbuf();

            obj.AppendToStrbuf(buf, "Appended");
            obj.AppendToStrbuf(buf, " to buf");

            Test.AssertEquals("Appended to buf", buf.Steal());
        }
Пример #4
0
        public static void test_virtual_eolian()
        {
            Appender obj = new Appender();

            Eina.Strbuf buf = new Eina.Strbuf();

            obj.CallAppendToStrbuf(buf, "Is");
            obj.CallAppendToStrbuf(buf, " this");
            obj.CallAppendToStrbuf(buf, " virtual?");

            Test.Assert(obj.called);
            Test.AssertEquals("Is this virtual?", buf.Steal());
        }