public void ShouldReturnFalseWhenComparingNonEmptyTextsWithDifferentValue() { var firstText = NonEmptyText.Create(SampleTextValue).Value; var secondText = NonEmptyText.Create("another").Value; Assert.AreNotEqual(firstText, secondText); }
public void SholdReturnTrueWhenComparingNonEmptyTextsWithSameValue() { var firstText = NonEmptyText.Create(SampleTextValue).Value; var secondText = NonEmptyText.Create(SampleTextValue).Value; Assert.AreEqual(firstText, secondText); }
public void ShouldCreateNonEmptyTextWithNonEmptyValueCorrectly() { const string textValue = SampleTextValue; var textResult = NonEmptyText.Create(textValue); Assert.IsTrue(textResult.IsSuccess); Assert.AreEqual(textValue, textResult.Value); }
public static ValueResult <Student> Create(string name) { var nameResult = NonEmptyText.Create(name); if (nameResult.IsFailure) { return(ValueResult <Student> .Fail(nameResult.Error)); } return(ValueResult <Student> .Ok(new Student(nameResult.Value))); }
public Option <CodeSnippets> TryParse(NonEmptyText content) { Option <CodeSnippets> script = Option.Of(CodeSnippets.Empty); IText rest = content; while (script is Some <CodeSnippets> someScript && rest is NonEmptyText remaining && this.TryMatch(remaining) is Some <IPattern> somePattern && somePattern.Content is IPattern pattern) { Option <(IText newRest, CodeSnippets newScript)> newState = pattern.Apply(remaining, someScript); script = newState.Map(state => state.newScript); rest = newState.Map(state => state.newRest).Reduce(rest); } return(script); }
private Option <IPattern> TryMatch(NonEmptyText content) => this.Patterns.FirstOrNone(pattern => pattern.StartsWith.IsMatch(content.CurrentLine));
private Student(Id id, NonEmptyText name) { Id = Maybe <Id> .From(id); Name = name; }
private Student(NonEmptyText name) { Name = name; }
private Option <(int number, string terminator)> TryExtractPreamble(NonEmptyText text) =>
private Option <(IText remaining, CodeSnippets script)> ApplyBeforePreamble(NonEmptyText current, CodeSnippets script) =>
public Option <(IText remaining, CodeSnippets script)> Apply(NonEmptyText current, CodeSnippets script) => this.ApplyBeforePreamble(current, script);
public void ShouldReturnResultFailWhenCreatingNonEmptyTextWithWhitespacesOnly() { var textResult = NonEmptyText.Create(" "); Assert.IsTrue(textResult.IsFailure); }
public void ShouldReturnResultFailWhenCreatingNonEmptyTextWithEmptyValue() { var textResult = NonEmptyText.Create(string.Empty); Assert.IsTrue(textResult.IsFailure); }
public Option <(IText remaining, CodeSnippets script)> Apply(NonEmptyText current, CodeSnippets script) =>