From 4723fcc62bd426dd9e0be52ae136c6189bf8dc15 Mon Sep 17 00:00:00 2001
From: Erik Barale <erik.barale@realeites.com>
Date: Thu, 14 Nov 2024 17:47:58 +0100
Subject: [PATCH] added unit tests

---
 .gitignore                                    | 443 ++++--------------
 Msmq.NetCore.sln                              |  14 +-
 .../Assets/ironing a kitten.jpg               | Bin
 {tests => UnitTests}/Msmq.NetCore.Test.csproj |   0
 {tests => UnitTests}/TestCommon.cs            |   0
 .../Tests/ActiveXMessageFormatterTests.cs     |   0
 .../Tests/BinaryMessageFormatterTests.cs      |   0
 .../Tests/MessageQueueTests.cs                |   0
 {tests => UnitTests}/Tests/MessageTests.cs    |   0
 .../Tests/XmlMessageFormatterTests.cs         |   0
 10 files changed, 87 insertions(+), 370 deletions(-)
 rename {tests => UnitTests}/Assets/ironing a kitten.jpg (100%)
 rename {tests => UnitTests}/Msmq.NetCore.Test.csproj (100%)
 rename {tests => UnitTests}/TestCommon.cs (100%)
 rename {tests => UnitTests}/Tests/ActiveXMessageFormatterTests.cs (100%)
 rename {tests => UnitTests}/Tests/BinaryMessageFormatterTests.cs (100%)
 rename {tests => UnitTests}/Tests/MessageQueueTests.cs (100%)
 rename {tests => UnitTests}/Tests/MessageTests.cs (100%)
 rename {tests => UnitTests}/Tests/XmlMessageFormatterTests.cs (100%)

diff --git a/.gitignore b/.gitignore
index ef50b25..0a89ee2 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,10 +1,41 @@
-#Project rules
-.github/
+# Compiled files
+*.dll
+*.exe
+*.pdb
+*.cache
+*.ilk
+*.log
+*.out
+*.obj
+*.tlb
+*.tlh
+*.tmp
+
+# Compiled Dynamic libraries
+*.so
+*.dylib
+*.lib
+
+# NuGet Packages
+*.nupkg
+# NuGet restore
+**/packages/*
+# NuGet v3's project.json files produces more packages
+*.nuget.props
+*.nuget.targets
+
+# Windows image file caches
+Thumbs.db
+ehthumbs.db
+
+# Folder config file
+Desktop.ini
 
-## Ignore Visual Studio temporary files, build results, and
-## files generated by popular Visual Studio add-ons.
-##
-## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore
+# Recycle Bin used on file shares
+$RECYCLE.BIN/
+
+# VS Code directories
+.vscode/
 
 # User-specific files
 *.rsuser
@@ -13,389 +44,75 @@
 *.userosscache
 *.sln.docstates
 
-# User-specific files (MonoDevelop/Xamarin Studio)
-*.userprefs
-
-# Mono auto generated files
+# Mono Auto Generated Files
 mono_crash.*
 
+# Windows Installer files
+*.cab
+*.msi
+*.msm
+*.msp
+
+# JetBrains Rider
+.idea/
+
+# Mac files
+.DS_Store
+
+# Visual Studio workspace
+.vs/
+
 # Build results
 [Dd]ebug/
-[Dd]ebugPublic/
 [Rr]elease/
-[Rr]eleases/
 x64/
 x86/
-[Ww][Ii][Nn]32/
 [Aa][Rr][Mm]/
 [Aa][Rr][Mm]64/
 bld/
 [Bb]in/
 [Oo]bj/
-[Ll]og/
-[Ll]ogs/
-
-# Visual Studio 2015/2017 cache/options directory
-.vs/
-# Uncomment if you have tasks that create the project's static files in wwwroot
-#wwwroot/
-
-# Visual Studio 2017 auto generated files
-Generated\ Files/
-
-# MSTest test Results
-[Tt]est[Rr]esult*/
-[Bb]uild[Ll]og.*
-
-# NUnit
-*.VisualState.xml
-TestResult.xml
-nunit-*.xml
-
-# Build Results of an ATL Project
-[Dd]ebugPS/
-[Rr]eleasePS/
-dlldata.c
-
-# Benchmark Results
-BenchmarkDotNet.Artifacts/
-
-# .NET Core
-project.lock.json
-project.fragment.lock.json
-artifacts/
-
-# ASP.NET Scaffolding
-ScaffoldingReadMe.txt
-
-# StyleCop
-StyleCopReport.xml
-
-# Files built by Visual Studio
-*_i.c
-*_p.c
-*_h.h
-*.ilk
-*.meta
-*.obj
-*.iobj
-*.pch
-*.pdb
-*.ipdb
-*.pgc
-*.pgd
-*.rsp
-*.sbr
-*.tlb
-*.tli
-*.tlh
-*.tmp
-*.tmp_proj
-*_wpftmp.csproj
-*.log
-*.tlog
-*.vspscc
-*.vssscc
-.builds
-*.pidb
-*.svclog
-*.scc
-
-# Chutzpah Test files
-_Chutzpah*
-
-# Visual C++ cache files
-ipch/
-*.aps
-*.ncb
-*.opendb
-*.opensdf
-*.sdf
-*.cachefile
-*.VC.db
-*.VC.VC.opendb
-
-# Visual Studio profiler
-*.psess
-*.vsp
-*.vspx
-*.sap
-
-# Visual Studio Trace Files
-*.e2e
-
-# TFS 2012 Local Workspace
-$tf/
-
-# Guidance Automation Toolkit
-*.gpState
-
-# ReSharper is a .NET coding add-in
-_ReSharper*/
-*.[Rr]e[Ss]harper
-*.DotSettings.user
-
-# TeamCity is a build add-in
-_TeamCity*
-
-# DotCover is a Code Coverage Tool
-*.dotCover
-
-# AxoCover is a Code Coverage Tool
-.axoCover/*
-!.axoCover/settings.json
-
-# Coverlet is a free, cross platform Code Coverage Tool
-coverage*.json
-coverage*.xml
-coverage*.info
 
-# Visual Studio code coverage results
+# Including Code Coverage results
+TestResults/
 *.coverage
 *.coveragexml
+*.log
+*.testresults
+*.trx
+*_i.c
 
-# NCrunch
-_NCrunch_*
-.*crunch*.local.xml
-nCrunchTemp_*
-
-# MightyMoose
-*.mm.*
-AutoTest.Net/
-
-# Web workbench (sass)
-.sass-cache/
-
-# Installshield output folder
-[Ee]xpress/
-
-# DocProject is a documentation generator add-in
-DocProject/buildhelp/
-DocProject/Help/*.HxT
-DocProject/Help/*.HxC
-DocProject/Help/*.hhc
-DocProject/Help/*.hhk
-DocProject/Help/*.hhp
-DocProject/Help/Html2
-DocProject/Help/html
-
-# Click-Once directory
-publish/
-
-# Publish Web Output
-*.[Pp]ublish.xml
-*.azurePubxml
-# Note: Comment the next line if you want to checkin your web deploy settings,
-# but database connection strings (with potential passwords) will be unencrypted
-*.pubxml
-*.publishproj
-
-# Microsoft Azure Web App publish settings. Comment the next line if you want to
-# checkin your Azure Web App publish settings, but sensitive information contained
-# in these scripts will be unencrypted
-PublishScripts/
-
-# NuGet Packages
-*.nupkg
-# NuGet Symbol Packages
-*.snupkg
-# The packages folder can be ignored because of Package Restore
-**/[Pp]ackages/*
-# except build/, which is used as an MSBuild target.
-!**/[Pp]ackages/build/
-# Uncomment if necessary however generally it will be regenerated when needed
-#!**/[Pp]ackages/repositories.config
-# NuGet v3's project.json files produces more ignorable files
-*.nuget.props
-*.nuget.targets
-
-# Microsoft Azure Build Output
-csx/
-*.build.csdef
-
-# Microsoft Azure Emulator
-ecf/
-rcf/
-
-# Windows Store app package directories and files
-AppPackages/
-BundleArtifacts/
-Package.StoreAssociation.xml
-_pkginfo.txt
-*.appx
-*.appxbundle
-*.appxupload
-
-# Visual Studio cache files
-# files ending in .cache can be ignored
-*.[Cc]ache
-# but keep track of directories ending in .cache
-!?*.[Cc]ache/
-
-# Others
-ClientBin/
-~$*
-*~
-*.dbmdl
-*.dbproj.schemaview
-*.jfm
-*.pfx
-*.publishsettings
-orleans.codegen.cs
-
-# Including strong name files can present a security risk
-# (https://github.com/github/gitignore/pull/2483#issue-259490424)
-#*.snk
-
-# Since there are multiple workflows, uncomment next line to ignore bower_components
-# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
-#bower_components/
-
-# RIA/Silverlight projects
-Generated_Code/
+# StyleCop reports
+StyleCopReport.xml
 
-# Backup & report files from converting an old project file
-# to a newer Visual Studio version. Backup files are not needed,
-# because we have git ;-)
-_UpgradeReport_Files/
-Backup*/
-UpgradeLog*.XML
-UpgradeLog*.htm
-ServiceFabricBackup/
-*.rptproj.bak
+# Roslyn generated files
+Generated_*.cs
 
 # SQL Server files
 *.mdf
 *.ldf
 *.ndf
 
-# Business Intelligence projects
-*.rdl.data
-*.bim.layout
-*.bim_*.settings
-*.rptproj.rsuser
-*- [Bb]ackup.rdl
-*- [Bb]ackup ([0-9]).rdl
-*- [Bb]ackup ([0-9][0-9]).rdl
-
-# Microsoft Fakes
-FakesAssemblies/
-
-# GhostDoc plugin setting file
-*.GhostDoc.xml
-
-# Node.js Tools for Visual Studio
-.ntvs_analysis.dat
-node_modules/
-
-# Visual Studio 6 build log
-*.plg
-
-# Visual Studio 6 workspace options file
-*.opt
+# NDepend
+.ndproj
+*.ndproj
 
-# Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
-*.vbw
+# Azure Stream Analytics job files
+*.azjob
 
-# Visual Studio 6 auto-generated project file (contains which files were open etc.)
-*.vbp
+# Azure Resource Manager template files
+*.azrmtemplate
 
-# Visual Studio 6 workspace and project file (working project files containing files to include in project)
-*.dsw
-*.dsp
-
-# Visual Studio 6 technical files
-*.ncb
-*.aps
-
-# Visual Studio LightSwitch build output
-**/*.HTMLClient/GeneratedArtifacts
-**/*.DesktopClient/GeneratedArtifacts
-**/*.DesktopClient/ModelManifest.xml
-**/*.Server/GeneratedArtifacts
-**/*.Server/ModelManifest.xml
-_Pvt_Extensions
-
-# Paket dependency manager
-.paket/paket.exe
-paket-files/
-
-# FAKE - F# Make
-.fake/
-
-# CodeRush personal settings
-.cr/personal
-
-# Python Tools for Visual Studio (PTVS)
-__pycache__/
-*.pyc
-
-# Cake - Uncomment if you are using it
-# tools/**
-# !tools/packages.config
-
-# Tabs Studio
-*.tss
-
-# Telerik's JustMock configuration file
-*.jmconfig
-
-# BizTalk build output
-*.btp.cs
-*.btm.cs
-*.odx.cs
-*.xsd.cs
-
-# OpenCover UI analysis results
-OpenCover/
-
-# Azure Stream Analytics local run output
-ASALocalRun/
-
-# MSBuild Binary and Structured Log
-*.binlog
-
-# NVidia Nsight GPU debugger configuration file
-*.nvuser
-
-# MFractors (Xamarin productivity tool) working folder
-.mfractor/
-
-# Local History for Visual Studio
-.localhistory/
-
-# Visual Studio History (VSHistory) files
-.vshistory/
-
-# BeatPulse healthcheck temp database
-healthchecksdb
-
-# Backup folder for Package Reference Convert tool in Visual Studio 2017
-MigrationBackup/
-
-# Ionide (cross platform F# VS Code tools) working folder
-.ionide/
-
-# Fody - auto-generated XML schema
-FodyWeavers.xsd
-
-# VS Code files for those working on multiple tools
-.vscode/*
-!.vscode/settings.json
-!.vscode/tasks.json
-!.vscode/launch.json
-!.vscode/extensions.json
-*.code-workspace
+# Others
+*.DotSettings.user
+.vsconfig
 
-# Local History for Visual Studio Code
-.history/
+# Local history for Visual Studio
+.vs/slnx.sqlite
+.vs/slnx.sqlite-journal
 
-# Windows Installer files from build outputs
-*.cab
-*.msi
-*.msix
-*.msm
-*.msp
+# DotNet Installers
+*.install.log
 
-# JetBrains Rider
-*.sln.iml
+# Auto-generated by Visual Studio
+*.Publish.xml
\ No newline at end of file
diff --git a/Msmq.NetCore.sln b/Msmq.NetCore.sln
index 21fad85..d705ad9 100644
--- a/Msmq.NetCore.sln
+++ b/Msmq.NetCore.sln
@@ -7,13 +7,13 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Sources", "Sources", "{17A6
 EndProject
 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Examples", "Examples", "{C4D3D2A8-9C14-43B1-AC92-6164130A8998}"
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{BEAACE03-8338-4A02-9F39-1B9E3D1BE208}"
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "UnitTests", "UnitTests", "{BEAACE03-8338-4A02-9F39-1B9E3D1BE208}"
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Msmq.NetCore", "Sources\Msmq.NetCore.csproj", "{24B9EED7-ABC2-4B40-85F0-E3A68A0465D1}"
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Msmq.NetCore.Examples.Console", "Examples\Msmq.NetCore.Examples.Console.csproj", "{4E4E0346-6C55-49DA-BCD1-799EAF306A65}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Msmq.NetCore.Test", "Tests\Msmq.NetCore.Test.csproj", "{23A2C5F5-1B6D-4171-981F-8D4B54C0F4DC}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Msmq.NetCore.Test", "UnitTests\Msmq.NetCore.Test.csproj", "{58DDED22-A877-4C8B-BC09-E13CB374A47B}"
 EndProject
 Global
 	GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -29,10 +29,10 @@ Global
 		{4E4E0346-6C55-49DA-BCD1-799EAF306A65}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{4E4E0346-6C55-49DA-BCD1-799EAF306A65}.Release|Any CPU.ActiveCfg = Release|Any CPU
 		{4E4E0346-6C55-49DA-BCD1-799EAF306A65}.Release|Any CPU.Build.0 = Release|Any CPU
-		{23A2C5F5-1B6D-4171-981F-8D4B54C0F4DC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{23A2C5F5-1B6D-4171-981F-8D4B54C0F4DC}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{23A2C5F5-1B6D-4171-981F-8D4B54C0F4DC}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{23A2C5F5-1B6D-4171-981F-8D4B54C0F4DC}.Release|Any CPU.Build.0 = Release|Any CPU
+		{58DDED22-A877-4C8B-BC09-E13CB374A47B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{58DDED22-A877-4C8B-BC09-E13CB374A47B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{58DDED22-A877-4C8B-BC09-E13CB374A47B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{58DDED22-A877-4C8B-BC09-E13CB374A47B}.Release|Any CPU.Build.0 = Release|Any CPU
 	EndGlobalSection
 	GlobalSection(SolutionProperties) = preSolution
 		HideSolutionNode = FALSE
@@ -40,7 +40,7 @@ Global
 	GlobalSection(NestedProjects) = preSolution
 		{24B9EED7-ABC2-4B40-85F0-E3A68A0465D1} = {17A6A468-F190-44D1-80D6-829284E4639D}
 		{4E4E0346-6C55-49DA-BCD1-799EAF306A65} = {C4D3D2A8-9C14-43B1-AC92-6164130A8998}
-		{23A2C5F5-1B6D-4171-981F-8D4B54C0F4DC} = {BEAACE03-8338-4A02-9F39-1B9E3D1BE208}
+		{58DDED22-A877-4C8B-BC09-E13CB374A47B} = {BEAACE03-8338-4A02-9F39-1B9E3D1BE208}
 	EndGlobalSection
 	GlobalSection(ExtensibilityGlobals) = postSolution
 		SolutionGuid = {821EE212-ED3B-4307-B2A1-6194F74145CF}
diff --git a/tests/Assets/ironing a kitten.jpg b/UnitTests/Assets/ironing a kitten.jpg
similarity index 100%
rename from tests/Assets/ironing a kitten.jpg
rename to UnitTests/Assets/ironing a kitten.jpg
diff --git a/tests/Msmq.NetCore.Test.csproj b/UnitTests/Msmq.NetCore.Test.csproj
similarity index 100%
rename from tests/Msmq.NetCore.Test.csproj
rename to UnitTests/Msmq.NetCore.Test.csproj
diff --git a/tests/TestCommon.cs b/UnitTests/TestCommon.cs
similarity index 100%
rename from tests/TestCommon.cs
rename to UnitTests/TestCommon.cs
diff --git a/tests/Tests/ActiveXMessageFormatterTests.cs b/UnitTests/Tests/ActiveXMessageFormatterTests.cs
similarity index 100%
rename from tests/Tests/ActiveXMessageFormatterTests.cs
rename to UnitTests/Tests/ActiveXMessageFormatterTests.cs
diff --git a/tests/Tests/BinaryMessageFormatterTests.cs b/UnitTests/Tests/BinaryMessageFormatterTests.cs
similarity index 100%
rename from tests/Tests/BinaryMessageFormatterTests.cs
rename to UnitTests/Tests/BinaryMessageFormatterTests.cs
diff --git a/tests/Tests/MessageQueueTests.cs b/UnitTests/Tests/MessageQueueTests.cs
similarity index 100%
rename from tests/Tests/MessageQueueTests.cs
rename to UnitTests/Tests/MessageQueueTests.cs
diff --git a/tests/Tests/MessageTests.cs b/UnitTests/Tests/MessageTests.cs
similarity index 100%
rename from tests/Tests/MessageTests.cs
rename to UnitTests/Tests/MessageTests.cs
diff --git a/tests/Tests/XmlMessageFormatterTests.cs b/UnitTests/Tests/XmlMessageFormatterTests.cs
similarity index 100%
rename from tests/Tests/XmlMessageFormatterTests.cs
rename to UnitTests/Tests/XmlMessageFormatterTests.cs