public string Solution(string input) { string[] messages = messagesRepository.GetMessages(input); string errorCorrectedMessage = message.GetErrorCorrectedMessageForLeastCommonLetter(messages); return(errorCorrectedMessage); }
public void GetMessages_BadRecipient_Throws(string recipient) { var target = new MessagesRepository(); Should.Throw <ArgumentException>(() => target.GetMessages(recipient)); }
public IActionResult GetMessages([FromRoute] string?id, [FromQuery] long?timestamp) { if (string.IsNullOrEmpty(id)) { return(BadRequest($"{nameof(id)} is required")); } var dialog = TryGetDialog(id); if (dialog == null) { return(NotFound("Dialog not found")); } var user = HttpContext.TryGetUser(); if (user == null) { throw new InvalidStateException("User should be not null"); } if (!AuthorizeUserToDialog(dialog, user)) { return(NotFound("Dialog not found")); } return(Ok(messagesRepository.GetMessages(id, timestamp ?? -1))); }
public string GetMessages(string dateTime, int count, int timeZone) { List <Message> messages = _messagesRepository.GetMessages(count, dateTime).ToList(); messages.Sort(delegate(Message m1, Message m2) { int partKeyM1 = int.MaxValue - int.Parse(m1.PartitionKey); int partKeyM2 = int.MaxValue - int.Parse(m2.PartitionKey); return(partKeyM2 < partKeyM1 ? -1 : 1); }); var messagesUsers = new Dictionary <Message, User>(); foreach (var message in messages) { var existUser = messagesUsers.FirstOrDefault(m => m.Value.PartitionKey == message.RowKey); if (existUser.Key != null) { messagesUsers.Add(message, existUser.Value); continue; } User user = _userRepository.GetUser(message.RowKey); messagesUsers.Add(message, user); } return(JsonConvert.SerializeObject(MessageEntity.Convert(messagesUsers, timeZone), Formatting.Indented)); }
public void AddMessage_TwoMessagesTwoRecipients_AreListed() { // Arrange var target = new MessagesRepository(); var message1 = new Message { Recipient = "foo", Sender = "bar", Content = "Hello, World!" }; var message2 = new Message { Recipient = "baz", Sender = "bar", Content = "Hello, World!" }; // Act target.AddMessage("foo", message1); target.AddMessage("baz", message2); // Assert target.GetMessages("foo").ShouldContain(message1); target.GetMessages("baz").ShouldContain(message2); }
public void AddMessage_RecipientDifferentFromMessage_MessageRecipientIsOverwritten() { // Arrange var target = new MessagesRepository(); var message = new Message { Recipient = "foo", Sender = "bar", Content = "Hello, World!" }; // Assert target.AddMessage("baz", message); // Assert var actual = target.GetMessages("baz"); actual.Single().Recipient.ShouldBe("baz"); }
public void AddMessage_OneMessageOneRecipient_IsListed() { // Arrange var target = new MessagesRepository(); var message = new Message { Recipient = "foo", Sender = "bar", Content = "Hello, World!" }; // Assert target.AddMessage("foo", message); // Assert var actual = target.GetMessages("foo"); actual.ShouldContain(message); actual.ShouldHaveSingleItem(); }
public IEnumerable <MessageEntity> Get() { string userName = _accessor.HttpContext.User.Identity.Name; return(_repository.GetMessages(userName)); }
public void GetMessages_NoMessages_EmptyList() { var target = new MessagesRepository(); target.GetMessages("foo").ShouldBeEmpty(); }