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); }
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()); }
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(); }
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); }
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)); }
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); }
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); }
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"]); }
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"]); }