public void SendAndReadOneRow_GeneralMessage_Pass() { //Arrange GeneralMessage message = new GeneralMessage(receiverID, 2, GetDateTime.GetUTCNow(), "Test message"); bool isSuccess = false; //Act try { RoomAid.QueueConsumer.QueueConsumer.SendToDB(message); // using directive doesn't work for some reason List <string> inboxContent = (List <string>)_messageDAO.RetrieveOneRow(new SqlCommand("SELECT * FROM dbo.InboxMessages")); string generalMessageContent = _messageDAO.RetrieveOneColumn(new SqlCommand("SELECT MessageBody FROM dbo.GeneralMessages")).ToString(); // InboxMessage[0..6] = [ReceiverID, MessageID, PrevMessageID, SenderID, IsRead, SentDate, IsGeneral] GeneralMessage incomingMessage = new GeneralMessage(Int32.Parse(inboxContent[0]), Int32.Parse(inboxContent[2]), Int32.Parse(inboxContent[3]), DateTime.Parse(inboxContent[5]), generalMessageContent) { IsRead = bool.Parse(inboxContent[4]) }; if (incomingMessage.SenderID == message.SenderID && incomingMessage.ReceiverID == message.ReceiverID && incomingMessage.PrevMessageID == message.PrevMessageID && incomingMessage.IsRead == message.IsRead && incomingMessage.SentDate.ToString().Equals(message.SentDate.ToString()) && // HACK: SQL & .NET DateTime precision is off, so comparing strings incomingMessage.MessageBody.Equals(message.MessageBody) && incomingMessage.IsGeneral == true) { isSuccess = true; } } catch (Exception e) { Trace.WriteLine(e.ToString()); } //Assert Assert.IsTrue(isSuccess); }