diff --git a/csharp-intermediate-topics/Embedded_Resources_in_NET/Embedded_Resources_in_NET.sln b/csharp-intermediate-topics/Embedded_Resources_in_NET/Embedded_Resources_in_NET.sln index 5f580f8911..5a753c25a6 100644 --- a/csharp-intermediate-topics/Embedded_Resources_in_NET/Embedded_Resources_in_NET.sln +++ b/csharp-intermediate-topics/Embedded_Resources_in_NET/Embedded_Resources_in_NET.sln @@ -9,7 +9,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tests", "Tests\Tests.csproj EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{012FD0FC-6ADA-4E07-A1D8-E74B60F462F7}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Embedded_Resources_in_NET_Satellite", "Embedded_Resources_in_NET_Satellite\Embedded_Resources_in_NET_Satellite.csproj", "{C3E1AC81-3838-49AB-9736-32CFF5A371BB}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Embedded_Resources_in_NET_Library", "Embedded_Resources_in_NET_Library\Embedded_Resources_in_NET_Library.csproj", "{C3E1AC81-3838-49AB-9736-32CFF5A371BB}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution diff --git a/csharp-intermediate-topics/Embedded_Resources_in_NET/Embedded_Resources_in_NET/Embedded_Resources_in_NET.csproj b/csharp-intermediate-topics/Embedded_Resources_in_NET/Embedded_Resources_in_NET/Embedded_Resources_in_NET.csproj index 5e42d4a07d..2a64e56c98 100644 --- a/csharp-intermediate-topics/Embedded_Resources_in_NET/Embedded_Resources_in_NET/Embedded_Resources_in_NET.csproj +++ b/csharp-intermediate-topics/Embedded_Resources_in_NET/Embedded_Resources_in_NET/Embedded_Resources_in_NET.csproj @@ -2,7 +2,7 @@ Exe - net8.0 + net10.0 enable enable @@ -11,13 +11,13 @@ + - - + diff --git a/csharp-intermediate-topics/Embedded_Resources_in_NET/Embedded_Resources_in_NET/Program.cs b/csharp-intermediate-topics/Embedded_Resources_in_NET/Embedded_Resources_in_NET/Program.cs index 6bef768071..cdcc183592 100644 --- a/csharp-intermediate-topics/Embedded_Resources_in_NET/Embedded_Resources_in_NET/Program.cs +++ b/csharp-intermediate-topics/Embedded_Resources_in_NET/Embedded_Resources_in_NET/Program.cs @@ -8,8 +8,8 @@ SampleResourceReader.ListResourcesInAllAssemblies(); WaitForUser(); -Console.WriteLine("\n\nResources in our satellite assembly:\n\n"); -SampleResourceReader.ListResourcesInOurSatelliteAssembly(); +Console.WriteLine("\n\nResources in our referenced assembly:\n\n"); +SampleResourceReader.ListResourcesInReferencedAssembly(); WaitForUser(); Console.WriteLine("\n\nFind resource by name and display it:\n\n"); diff --git a/csharp-intermediate-topics/Embedded_Resources_in_NET/Embedded_Resources_in_NET/SampleResourceReader.cs b/csharp-intermediate-topics/Embedded_Resources_in_NET/Embedded_Resources_in_NET/SampleResourceReader.cs index f2b3fe3cbe..f9b2a278b9 100644 --- a/csharp-intermediate-topics/Embedded_Resources_in_NET/Embedded_Resources_in_NET/SampleResourceReader.cs +++ b/csharp-intermediate-topics/Embedded_Resources_in_NET/Embedded_Resources_in_NET/SampleResourceReader.cs @@ -1,5 +1,4 @@ -using System.ComponentModel.DataAnnotations; -using System.Diagnostics; +using System.Diagnostics; using System.Reflection; namespace Embedded_Resources_in_NET; @@ -12,8 +11,8 @@ public static void ListResourcesInThisAssembly() public static void ListResourcesInAllAssemblies() => AllAssembliesOfCurrentAppDomain.ToList().ForEach(ListResourcesInAssembly); - public static void ListResourcesInOurSatelliteAssembly() - => ListResourcesInAssembly(SatelliteAssembly); + public static void ListResourcesInReferencedAssembly() + => ListResourcesInAssembly(ReferencedAssembly); public static void FindResourceByNameAndDisplayIt(string resourceName) => DisplayResource(resourceName, FindResourceByName); @@ -62,8 +61,8 @@ private static Assembly ThisAssembly private static Assembly[] AllAssembliesOfCurrentAppDomain => AppDomain.CurrentDomain.GetAssemblies(); - private static Assembly SatelliteAssembly => - Assembly.Load("Embedded_Resources_in_NET_Satellite"); + private static Assembly ReferencedAssembly => + Assembly.Load("Embedded_Resources_in_NET_Library"); private static Stream? FindResourceByName(string resourceName) => FindResource(names => names?.FirstOrDefault(rn => rn == resourceName)); diff --git a/csharp-intermediate-topics/Embedded_Resources_in_NET/Embedded_Resources_in_NET/my-folder/note.txt b/csharp-intermediate-topics/Embedded_Resources_in_NET/Embedded_Resources_in_NET/my-folder/note.txt new file mode 100644 index 0000000000..bf962d9558 --- /dev/null +++ b/csharp-intermediate-topics/Embedded_Resources_in_NET/Embedded_Resources_in_NET/my-folder/note.txt @@ -0,0 +1 @@ +This note lives in a folder whose name is not a valid identifier. diff --git a/csharp-intermediate-topics/Embedded_Resources_in_NET/Embedded_Resources_in_NET_Satellite/Embedded_Resources_in_NET_Satellite.csproj b/csharp-intermediate-topics/Embedded_Resources_in_NET/Embedded_Resources_in_NET_Library/Embedded_Resources_in_NET_Library.csproj similarity index 87% rename from csharp-intermediate-topics/Embedded_Resources_in_NET/Embedded_Resources_in_NET_Satellite/Embedded_Resources_in_NET_Satellite.csproj rename to csharp-intermediate-topics/Embedded_Resources_in_NET/Embedded_Resources_in_NET_Library/Embedded_Resources_in_NET_Library.csproj index 49c91377b4..09c2d51387 100644 --- a/csharp-intermediate-topics/Embedded_Resources_in_NET/Embedded_Resources_in_NET_Satellite/Embedded_Resources_in_NET_Satellite.csproj +++ b/csharp-intermediate-topics/Embedded_Resources_in_NET/Embedded_Resources_in_NET_Library/Embedded_Resources_in_NET_Library.csproj @@ -1,7 +1,7 @@  - net8.0 + net10.0 enable enable diff --git a/csharp-intermediate-topics/Embedded_Resources_in_NET/Embedded_Resources_in_NET_Satellite/Resources/text-file.txt b/csharp-intermediate-topics/Embedded_Resources_in_NET/Embedded_Resources_in_NET_Library/Resources/text-file.txt similarity index 100% rename from csharp-intermediate-topics/Embedded_Resources_in_NET/Embedded_Resources_in_NET_Satellite/Resources/text-file.txt rename to csharp-intermediate-topics/Embedded_Resources_in_NET/Embedded_Resources_in_NET_Library/Resources/text-file.txt diff --git a/csharp-intermediate-topics/Embedded_Resources_in_NET/Tests/SampleResourceReaderUnitTests.cs b/csharp-intermediate-topics/Embedded_Resources_in_NET/Tests/SampleResourceReaderUnitTests.cs index 5c460f82b1..3333cf3b5a 100644 --- a/csharp-intermediate-topics/Embedded_Resources_in_NET/Tests/SampleResourceReaderUnitTests.cs +++ b/csharp-intermediate-topics/Embedded_Resources_in_NET/Tests/SampleResourceReaderUnitTests.cs @@ -1,6 +1,4 @@ using Embedded_Resources_in_NET; -using Microsoft.VisualStudio.TestPlatform.Utilities; -using System.Reflection; namespace Tests; @@ -8,16 +6,25 @@ namespace Tests; public class SampleResourceReaderTests { [TestMethod] - public void GivenMainAssembly_WhenRunningListResourcesInThisAssembly_ThenExpect8LinesInConsole() + public void GivenMainAssembly_WhenRunningListResourcesInThisAssembly_ThenExpect9LinesInConsole() { var (content, noLines) = GetConsoleOutput(SampleResourceReader.ListResourcesInThisAssembly); - var expectedLines = 8; + var expectedLines = 9; var expectedText = "Embedded_Resources_in_NET.Embedded_Resources_in_NET.sln"; Assert.AreEqual(expectedLines, noLines); StringAssert.Contains(content, expectedText); } + [TestMethod] + public void GivenFolderNameThatIsNotAnIdentifier_WhenRunningListResourcesInThisAssembly_ThenExpectMangledName() + { + var (content, _) = GetConsoleOutput(SampleResourceReader.ListResourcesInThisAssembly); + var expectedText = "Embedded_Resources_in_NET.my_folder.note.txt"; + + StringAssert.Contains(content, expectedText); + } + [TestMethod] public void GivenMainAssembly_WhenRunningListResourcesInAllAssemblies_ThenExpectKnownContent() { @@ -30,11 +37,11 @@ public void GivenMainAssembly_WhenRunningListResourcesInAllAssemblies_ThenExpect } [TestMethod] - public void GivenSatelliteAssembly_WhenRunningListResourcesInOurSatelliteAssembly_ThenExpect4LinesInConsole() + public void GivenReferencedAssembly_WhenRunningListResourcesInReferencedAssembly_ThenExpect4LinesInConsole() { - var (content, noLines) = GetConsoleOutput(SampleResourceReader.ListResourcesInOurSatelliteAssembly); + var (content, noLines) = GetConsoleOutput(SampleResourceReader.ListResourcesInReferencedAssembly); var expectedLines = 4; - var expectedText = "Embedded_Resources_in_NET_Satellite.Resources.text-file.txt"; + var expectedText = "Embedded_Resources_in_NET_Library.Resources.text-file.txt"; Assert.AreEqual(expectedLines, noLines); StringAssert.Contains(content, expectedText); @@ -59,7 +66,7 @@ public void GivenIncorrectResourceName_WhenRunningFindResourceByNameAndDisplayIt var expectedText = ""; Assert.AreEqual(expectedLines, noLines); - Assert.AreEqual(content, expectedText); + Assert.AreEqual(expectedText, content); } private static (string content, int noLines) GetConsoleOutput(Action action) diff --git a/csharp-intermediate-topics/Embedded_Resources_in_NET/Tests/Tests.csproj b/csharp-intermediate-topics/Embedded_Resources_in_NET/Tests/Tests.csproj index 7af1aa96de..840488ab07 100644 --- a/csharp-intermediate-topics/Embedded_Resources_in_NET/Tests/Tests.csproj +++ b/csharp-intermediate-topics/Embedded_Resources_in_NET/Tests/Tests.csproj @@ -1,7 +1,7 @@ - net8.0 + net10.0 enable enable @@ -10,10 +10,10 @@ - - - - + + + +