Exemple #1
0
        public void DummyHeaderWithNoBody_DataIsEmpry()
        {
            var transport = new FakeTransport(TestByteArrays.Header);
            var message   = transport.ReadMessage();

            var mr = new MessageReader(message);

            Assert.AreEqual(0, mr.data.Length);
        }
Exemple #2
0
        public void CallMethod_SimpleReturnReturn()
        {
            var message = new Message();

            message.Header[FieldCode.ReplySerial] = 1u;
            message.Header.MessageType            = MessageType.MethodReturn;
            message.Body = TestByteArrays.INT_257;

            var transport = new FakeTransport(TestByteArrays.Header, new Message[] { message });
            var instObj   = CreateFakeBusObject <TestObj>(transport);

            Assert.AreEqual(257, instObj.Count());
        }
Exemple #3
0
        public void CallMethod_NoReturn()
        {
            var message = new Message();

            message.Header[FieldCode.ReplySerial] = 1u;
            message.Header.MessageType            = MessageType.MethodReturn;
            var transport = new FakeTransport(TestByteArrays.Header,

                                              new Message[] { message });

            var instObj = CreateFakeBusObject <TestObj>(transport);

            instObj.Ping();
        }
Exemple #4
0
        static T CreateFakeBusObject <T>(FakeTransport transport)
        {
            var typeImplementer = new TypeImplementer("test", false);
            var t = typeImplementer.GetImplementation(typeof(TestObj));

            T instObj = (T)Activator.CreateInstance(t);

            BusObject inst = BusObject.GetBusObject(instObj);

            inst.conn        = new Connection(transport);
            inst.bus_name    = "something";
            inst.object_path = new ObjectPath("DontCare");

            return((T)instObj);
        }
Exemple #5
0
        public void CallMethod_ReturnsByteArrayWhichContainsNullTerm_NullTermIsNotTrimmed()
        {
            var message = new Message();

            message.Header[FieldCode.ReplySerial] = 1u;
            message.Header.MessageType            = MessageType.MethodReturn;
            message.Body = TestByteArrays.VAR_ARRAY_BYTE__IncludingNullTermInArray;

            var transport = new FakeTransport(TestByteArrays.Header, new Message[] { message });
            var instObj   = CreateFakeBusObject <TestObj>(transport);

            var obj = instObj.ReadVariantByteArray();

            Assert.AreEqual("/medi\0", Encoding.UTF8.GetString((byte[])obj));
        }
Exemple #6
0
        public void CallMethod_ReturnsRealDataObjectPath()
        {
            var message = new Message();

            message.Header[FieldCode.ReplySerial] = 1u;
            message.Header.MessageType            = MessageType.MethodReturn;
            message.Body = TestByteArrays.RealData_ObjectPath;

            var transport = new FakeTransport(TestByteArrays.Header, new Message[] { message });
            var instObj   = CreateFakeBusObject <TestObj>(transport);

            var obj = instObj.ReadData1();

            Assert.AreEqual("/org/freedesktop/IBus/InputContext_523", obj.Value);
        }
Exemple #7
0
        public void CallMethod_ReturnsDBusHelloReply()
        {
            var message = new Message();

            message.Header[FieldCode.ReplySerial] = 1u;
            message.Header.MessageType            = MessageType.MethodReturn;
            message.Body = TestByteArrays.STRING_ReturnFromDbusHello;

            var transport = new FakeTransport(TestByteArrays.Header, new Message[] { message });
            var instObj   = CreateFakeBusObject <TestObj>(transport);

            var obj = instObj.Hello();

            Assert.AreEqual(":1.118", obj);
        }
Exemple #8
0
        public void CallMethod_ComplexDictionaryReturn()
        {
            var message = new Message();

            message.Header[FieldCode.ReplySerial] = 1u;
            message.Header.MessageType            = MessageType.MethodReturn;
            message.Body = TestByteArrays.DICT_1_sDICT_1_sDICT_1_ss;

            var transport = new FakeTransport(TestByteArrays.Header, new Message[] { message });
            var instObj   = CreateFakeBusObject <TestObj>(transport);

            var obj = instObj.GetComplexDictionary();

            Assert.AreEqual(typeof(Dictionary <ObjectPath, IDictionary <string, IDictionary <string, string> > >), obj.GetType());
            var dictionary = (Dictionary <ObjectPath, IDictionary <string, IDictionary <string, string> > >)obj;

            Assert.AreEqual("F", dictionary[new ObjectPath("C")]["D"]["E"]);
        }
Exemple #9
0
        public void CallMethod_ComplexDictionaryWithVariantReturnUsingRealData()
        {
            var message = new Message();

            message.Header[FieldCode.ReplySerial] = 1u;
            message.Header.MessageType            = MessageType.MethodReturn;
            var data  = File.ReadAllText("data/data.txt");
            var bytes = data.Split(',').Select(x => Byte.Parse(x)).ToArray();

            message.Body = bytes;

            var transport = new FakeTransport(TestByteArrays.Header, new Message[] { message });
            var instObj   = CreateFakeBusObject <TestObj>(transport);

            var obj = instObj.GetComplexDictionaryWithVariant();

            Assert.AreEqual(typeof(Dictionary <ObjectPath, IDictionary <string, IDictionary <string, object> > >), obj.GetType());
            var dictionary = (Dictionary <ObjectPath, IDictionary <string, IDictionary <string, object> > >)obj;

            Assert.AreEqual("2.1.6", dictionary[new ObjectPath("/org/freedesktop/UDisks2/Manager")]["org.freedesktop.UDisks2.Manager"]["Version"]);
        }