public void GetTicketReference_parses_reference_followed_by_a_period([Frozen] IParsesTicketReference innerParser, Ext.TicketReferenceParser sut) { // Arrange var iterator = new StringSlice("#1234."); int charCount; // Act sut.GetTicketReference(iterator, out charCount); // Assert Mock.Get(innerParser) .Verify(x => x.ParseReferece("1234"), Times.Once); }
public void GetTicketReference_returns_correct_number_of_characters_consumed_in_bogus_reference(string ticketRef) { // Arrange var parser = Mock.Of <IParsesTicketReference>(); Mock.Get(parser) .Setup(x => x.ParseReferece(ticketRef)) .Returns(() => null); var sut = new Ext.TicketReferenceParser(parser); var iterator = new StringSlice(ticketRef); int charCount; // Act sut.GetTicketReference(iterator, out charCount); // Assert Assert.That(charCount, Is.Zero); }
public void GetTicketReference_returns_correct_number_of_characters_consumed_in_reference(string ticketRef, int expectedChars) { // Arrange var parser = Mock.Of <IParsesTicketReference>(); var reference = new TicketReference(); var ticketRefWithoutOtherChars = System.Text.RegularExpressions.Regex.Replace(ticketRef, @"[^0-9A-Za-z]+", String.Empty); Mock.Get(parser) .Setup(x => x.ParseReferece(ticketRefWithoutOtherChars)) .Returns(reference); var sut = new Ext.TicketReferenceParser(parser); var iterator = new StringSlice(ticketRef); int charCount; // Act sut.GetTicketReference(iterator, out charCount); // Assert Assert.That(charCount, Is.EqualTo(expectedChars)); }
public void GetTicketReference_parses_naked_ticket_number_without_project_code([Frozen] IParsesTicketReference innerParser, Ext.TicketReferenceParser sut) { // Arrange var iterator = new StringSlice("#1234"); int charCount; // Act sut.GetTicketReference(iterator, out charCount); // Assert Mock.Get(innerParser) .Verify(x => x.ParseReferece("1234"), Times.Once); }
public void GetTicketReference_does_not_parse_if_there_are_further_alpha_characters_after_the_ticket_number([Frozen] IParsesTicketReference innerParser, Ext.TicketReferenceParser sut) { // Arrange var iterator = new StringSlice("#ABC123DEF"); int charCount; // Act sut.GetTicketReference(iterator, out charCount); // Assert Mock.Get(innerParser) .Verify(x => x.ParseReferece(It.IsAny <string>()), Times.Never); }
public void GetTicketReference_does_not_parse_if_there_is_a_dash_between_project_code_and_ticket_number([Frozen] IParsesTicketReference innerParser, Ext.TicketReferenceParser sut) { // Arrange var iterator = new StringSlice("#ABC-123"); int charCount; // Act sut.GetTicketReference(iterator, out charCount); // Assert Mock.Get(innerParser) .Verify(x => x.ParseReferece(It.IsAny <string>()), Times.Never); }
public void GetTicketReference_does_not_parse_if_first_char_is_not_hash_symbol([Frozen] IParsesTicketReference innerParser, Ext.TicketReferenceParser sut) { // Arrange var iterator = new StringSlice("*1234"); int charCount; // Act sut.GetTicketReference(iterator, out charCount); // Assert Mock.Get(innerParser) .Verify(x => x.ParseReferece(It.IsAny <string>()), Times.Never); }