From bee65bdec7d5e966e86d37f56fbe1d76a00b7e96 Mon Sep 17 00:00:00 2001 From: Benjamin Michaelis Date: Tue, 18 Feb 2025 18:04:50 -0800 Subject: [PATCH] feat: Adjust 5.10 to handle an empty middle initial --- ...ingBuilderImplicitUsingStatements.Tests.cs | 19 ++++++++++++++++++- ...10.StringBuilderImplicitUsingStatements.cs | 6 +++++- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/src/Chapter05.Tests/Listing05.10.StringBuilderImplicitUsingStatements.Tests.cs b/src/Chapter05.Tests/Listing05.10.StringBuilderImplicitUsingStatements.Tests.cs index 1a9153237..cc2eebfb4 100644 --- a/src/Chapter05.Tests/Listing05.10.StringBuilderImplicitUsingStatements.Tests.cs +++ b/src/Chapter05.Tests/Listing05.10.StringBuilderImplicitUsingStatements.Tests.cs @@ -5,7 +5,7 @@ namespace AddisonWesley.Michaelis.EssentialCSharp.Chapter05.Listing05_10.Tests; public class ProgramTests { [TestMethod] - public void Main_InputInigoMontoya_WriteFullName() + public void Main_InputInigoTMontoya_WriteFullName() { string view = """ Enter your first name: <> + Enter your middle initial: << + >> + Enter your last name: <> + Hello Inigo Montoya! + """; + + IntelliTect.TestTools.Console.ConsoleAssert.Expect(view, + Program.Main); + } } diff --git a/src/Chapter05/Listing05.10.StringBuilderImplicitUsingStatements.cs b/src/Chapter05/Listing05.10.StringBuilderImplicitUsingStatements.cs index 52dcc0a7d..a4941236e 100644 --- a/src/Chapter05/Listing05.10.StringBuilderImplicitUsingStatements.cs +++ b/src/Chapter05/Listing05.10.StringBuilderImplicitUsingStatements.cs @@ -16,7 +16,11 @@ public static void Main() name.Append(Console.ReadLine()!.Trim()); Console.WriteLine("Enter your middle initial: "); - name.Append( $" { Console.ReadLine()!.Trim('.').Trim() }." ); + string middleInitial = Console.ReadLine()!.Trim('.').Trim(); + if (middleInitial != "") + { + name.Append($" {middleInitial}."); + } Console.WriteLine("Enter your last name: "); name.Append($" { Console.ReadLine()!.Trim() }");