From 4df36df29ae19c7f7faaeb3882fd90b7573705ce Mon Sep 17 00:00:00 2001 From: Louis Date: Tue, 9 Jan 2024 13:44:58 +0100 Subject: [PATCH] all tests run sucessfully --- csharp-fundamentals-strings.Main/Core.cs | 14 +++++++------- csharp-fundamentals-strings.Main/Extension.cs | 14 ++++++++------ csharp-fundamentals-strings.Main/Program.cs | 4 +++- csharp-fundamentals-strings.Test/CoreTests.cs | 1 + 4 files changed, 19 insertions(+), 14 deletions(-) diff --git a/csharp-fundamentals-strings.Main/Core.cs b/csharp-fundamentals-strings.Main/Core.cs index 141c9a7..2d6c5c9 100644 --- a/csharp-fundamentals-strings.Main/Core.cs +++ b/csharp-fundamentals-strings.Main/Core.cs @@ -14,7 +14,7 @@ public class Core //TODO: 1. The brokenUrl member above contains an invalid URL. There's a z instead of an s in the protocol (httpz instead of https). // Using the `replace` method on brokenUrl, set the fixedUrl member below to the correct value. // https://learn.microsoft.com/en-us/dotnet/api/system.string.replace?view=net-7.0 - public string fixedUrl => string.Empty; + public string fixedUrl => brokenUrl.Replace('z','s'); // Here's a documentation link for all string methods, use it to figure out how to complete the rest of these requirements: @@ -23,27 +23,27 @@ public class Core //TODO: 2. There are currently some upper case characters in the URL. Using an appropriate string method on the fixedUrl member above, // set the value of lowerCasedUrl. - public string lowerCasedUrl => string.Empty; + public string lowerCasedUrl => fixedUrl.ToLower(); //TODO: 3. There is still white space on both ends of the URL! Use the appropriate string method to trim that white space // and set the value of the url member below - public string url => string.Empty; + public string url => lowerCasedUrl.Trim(); //TODO: 4. Using the appropriate string method on url, set the value of the protocol member below - public string protocol => string.Empty; + public string protocol => url.Split(':')[0]; //TODO: 5. Using the appropriate string method on url, set the value of the domain member below - public string domain => string.Empty; + public string domain => url.Split('/')[2]; //TODO: 6. Set the length member below to the length of the url member - public int length => 0; + public int length => url.Length; //TODO: 7. Using concatenation and existing members, set the faqUrl member below to the faq page of the boolean website - public string faqUrl => string.Empty; + public string faqUrl => protocol+"://"+domain+"/faq"; } } diff --git a/csharp-fundamentals-strings.Main/Extension.cs b/csharp-fundamentals-strings.Main/Extension.cs index ac3b7b2..65b681b 100644 --- a/csharp-fundamentals-strings.Main/Extension.cs +++ b/csharp-fundamentals-strings.Main/Extension.cs @@ -43,7 +43,7 @@ public StringBuilder one() // 1. Using the sb variable above, add "Hello, world!" to the StringBuilder // WRITE YOUR CODE BETWEEN THIS LINE... - + sb.Append("Hello, world!"); // ...AND THIS LINE @@ -57,9 +57,9 @@ public StringBuilder two() // 1. Using the sb variable above, add "Hello, world!" to the StringBuilder // 2. After adding the message, use an appropriate StringBuilder method to reverse it // WRITE YOUR CODE BETWEEN THIS LINE... - - - + sb.Append("Hello, world!"); + + sb = new StringBuilder(new string(sb.ToString().Reverse().ToArray())); // ...AND THIS LINE return sb; @@ -74,7 +74,8 @@ public StringBuilder three() // WRITE YOUR CODE BETWEEN THIS LINE... - + sb.Append("Hello, world!"); + sb.Replace(",", ""); // ...AND THIS LINE return sb; @@ -87,7 +88,8 @@ public StringBuilder four() // 1. Using the sb variable above, add "Hello, world!" to the StringBuilder // 2. After adding the message, replace the word "world" with the word "C#" // WRITE YOUR CODE BETWEEN THIS LINE... - + sb.Append("Hello, world!"); + sb.Replace("world", "C#"); // ...AND THIS LINE diff --git a/csharp-fundamentals-strings.Main/Program.cs b/csharp-fundamentals-strings.Main/Program.cs index 3751555..d0ce13c 100644 --- a/csharp-fundamentals-strings.Main/Program.cs +++ b/csharp-fundamentals-strings.Main/Program.cs @@ -1,2 +1,4 @@ // See https://aka.ms/new-console-template for more information -Console.WriteLine("Hello, World!"); +using csharp_fundamentals_strings.Main; + +Console.WriteLine("Hello, World!"); \ No newline at end of file diff --git a/csharp-fundamentals-strings.Test/CoreTests.cs b/csharp-fundamentals-strings.Test/CoreTests.cs index cc47b47..23dce35 100644 --- a/csharp-fundamentals-strings.Test/CoreTests.cs +++ b/csharp-fundamentals-strings.Test/CoreTests.cs @@ -32,6 +32,7 @@ public void urlShouldBeTrimmed() [Test] public void protocolShouldBeHttps() { + Console.WriteLine(this._exercise.protocol); Assert.AreEqual("https", this._exercise.protocol); }