From f07465a9b0fff74087fa05b606fa3413473e9ce9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andr=C3=A1s=20B=20Nagy?=
<20251272+BNAndras@users.noreply.github.com>
Date: Mon, 26 Jan 2026 21:44:55 -0800
Subject: [PATCH 1/2] Add `line-up`
---
config.json | 13 ++
.../practice/line-up/.docs/instructions.md | 19 ++
.../practice/line-up/.docs/introduction.md | 7 +
exercises/practice/line-up/.editorconfig | 141 +++++++++++++++
exercises/practice/line-up/.meta/Example.cs | 24 +++
.../practice/line-up/.meta/Generator.tpl | 11 ++
exercises/practice/line-up/.meta/config.json | 22 +++
exercises/practice/line-up/.meta/tests.toml | 67 +++++++
exercises/practice/line-up/LineUp.cs | 7 +
exercises/practice/line-up/LineUp.csproj | 22 +++
exercises/practice/line-up/LineUpTests.cs | 135 ++++++++++++++
exercises/practice/line-up/packages.lock.json | 170 ++++++++++++++++++
12 files changed, 638 insertions(+)
create mode 100644 exercises/practice/line-up/.docs/instructions.md
create mode 100644 exercises/practice/line-up/.docs/introduction.md
create mode 100644 exercises/practice/line-up/.editorconfig
create mode 100644 exercises/practice/line-up/.meta/Example.cs
create mode 100644 exercises/practice/line-up/.meta/Generator.tpl
create mode 100644 exercises/practice/line-up/.meta/config.json
create mode 100644 exercises/practice/line-up/.meta/tests.toml
create mode 100644 exercises/practice/line-up/LineUp.cs
create mode 100644 exercises/practice/line-up/LineUp.csproj
create mode 100644 exercises/practice/line-up/LineUpTests.cs
create mode 100644 exercises/practice/line-up/packages.lock.json
diff --git a/config.json b/config.json
index 1161b97c3..0a0f666b8 100644
--- a/config.json
+++ b/config.json
@@ -650,6 +650,19 @@
],
"difficulty": 1
},
+ {
+ "slug": "line-up",
+ "name": "Line Up",
+ "uuid": "4fb5288a-e02f-4b5b-8565-5de43b600b8f",
+ "practices": [
+ "strings"
+ ],
+ "prerequisites": [
+ "if-statements",
+ "strings"
+ ],
+ "difficulty": 1
+ },
{
"slug": "gigasecond",
"name": "Gigasecond",
diff --git a/exercises/practice/line-up/.docs/instructions.md b/exercises/practice/line-up/.docs/instructions.md
new file mode 100644
index 000000000..9e686ecbf
--- /dev/null
+++ b/exercises/practice/line-up/.docs/instructions.md
@@ -0,0 +1,19 @@
+# Instructions
+
+Given a name and a number, your task is to produce a sentence using that name and that number as an [ordinal numeral][ordinal-numeral].
+Yaʻqūb expects to use numbers from 1 up to 999.
+
+Rules:
+
+- Numbers ending in 1 (unless ending in 11) → `"st"`
+- Numbers ending in 2 (unless ending in 12) → `"nd"`
+- Numbers ending in 3 (unless ending in 13) → `"rd"`
+- All other numbers → `"th"`
+
+Examples:
+
+- `"Mary", 1` → `"Mary, you are the 1st customer we serve today. Thank you!"`
+- `"John", 12` → `"John, you are the 12th customer we serve today. Thank you!"`
+- `"Dahir", 162` → `"Dahir, you are the 162nd customer we serve today. Thank you!"`
+
+[ordinal-numeral]: https://en.wikipedia.org/wiki/Ordinal_numeral
diff --git a/exercises/practice/line-up/.docs/introduction.md b/exercises/practice/line-up/.docs/introduction.md
new file mode 100644
index 000000000..ea07268ae
--- /dev/null
+++ b/exercises/practice/line-up/.docs/introduction.md
@@ -0,0 +1,7 @@
+# Introduction
+
+Your friend Yaʻqūb works the counter at a deli in town, slicing, weighing, and wrapping orders for a line of hungry customers that gets longer every day.
+Waiting customers are starting to lose track of who is next, so he wants numbered tickets they can use to track the order in which they arrive.
+
+To make the customers feel special, he does not want the ticket to have only a number on it.
+They shall get a proper English sentence with their name and number on it.
diff --git a/exercises/practice/line-up/.editorconfig b/exercises/practice/line-up/.editorconfig
new file mode 100644
index 000000000..a7155c51e
--- /dev/null
+++ b/exercises/practice/line-up/.editorconfig
@@ -0,0 +1,141 @@
+###############################
+# Core EditorConfig Options #
+###############################
+
+; This file is for unifying the coding style for different editors and IDEs.
+; More information at:
+; https://docs.microsoft.com/en-us/visualstudio/ide/editorconfig-code-style-settings-reference?view=vs-2017
+; https://docs.microsoft.com/en-us/visualstudio/ide/create-portable-custom-editor-options?view=vs-2017
+
+root = true
+
+[*]
+indent_style = space
+
+[LineUp.cs]
+indent_size = 4
+
+###############################
+# .NET Coding Conventions #
+###############################
+
+# Organize usings
+dotnet_sort_system_directives_first = true
+dotnet_separate_import_directive_groups = true
+
+# this. preferences
+dotnet_style_qualification_for_field = false:suggestion
+dotnet_style_qualification_for_property = false:suggestion
+dotnet_style_qualification_for_method = false:suggestion
+dotnet_style_qualification_for_event = false:suggestion
+
+# Language keywords vs BCL types preferences
+dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion
+dotnet_style_predefined_type_for_member_access = true:suggestion
+
+# Parentheses preferences
+dotnet_style_parentheses_in_arithmetic_binary_operators = never_if_unnecessary:none
+dotnet_style_parentheses_in_relational_binary_operators = never_if_unnecessary:none
+dotnet_style_parentheses_in_other_binary_operators = never_if_unnecessary:none
+dotnet_style_parentheses_in_other_operators = never_if_unnecessary:suggestion
+
+# Modifier preferences
+dotnet_style_require_accessibility_modifiers = always:suggestion
+dotnet_style_readonly_field = true:suggestion
+
+# Expression-level preferences
+dotnet_style_object_initializer = true:suggestion
+dotnet_style_collection_initializer = true:suggestion
+dotnet_style_explicit_tuple_names = true:suggestion
+dotnet_style_prefer_inferred_tuple_names = true:suggestion
+dotnet_style_prefer_inferred_anonymous_type_member_names = true:suggestion
+dotnet_style_prefer_auto_properties = true:suggestion
+dotnet_style_prefer_is_null_check_over_reference_equality_method = true:suggestion
+dotnet_style_prefer_conditional_expression_over_assignment = true:suggestion
+dotnet_style_prefer_conditional_expression_over_return = true:suggestion
+dotnet_style_coalesce_expression = true:suggestion
+dotnet_style_null_propagation = true:suggestion
+
+###############################
+# Naming Conventions #
+###############################
+
+# Style Definitions
+dotnet_naming_style.pascal_case_style.capitalization = pascal_case
+
+# Use PascalCase for constant fields
+dotnet_naming_rule.constant_fields_should_be_pascal_case.severity = suggestion
+dotnet_naming_rule.constant_fields_should_be_pascal_case.symbols = constant_fields
+dotnet_naming_rule.constant_fields_should_be_pascal_case.style = pascal_case_style
+dotnet_naming_symbols.constant_fields.applicable_kinds = field
+dotnet_naming_symbols.constant_fields.applicable_accessibilities = *
+dotnet_naming_symbols.constant_fields.required_modifiers = const
+
+###############################
+# C# Code Style Rules #
+###############################
+
+# var preferences
+csharp_style_var_for_built_in_types = true:none
+csharp_style_var_when_type_is_apparent = true:none
+csharp_style_var_elsewhere = true:none
+
+# Expression-bodied members
+csharp_style_expression_bodied_methods = true:suggestion
+csharp_style_expression_bodied_constructors = true:suggestion
+csharp_style_expression_bodied_operators = true:suggestion
+csharp_style_expression_bodied_properties = true:suggestion
+csharp_style_expression_bodied_indexers = true:suggestion
+csharp_style_expression_bodied_accessors = true:suggestion
+
+# Pattern-matching preferences
+csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion
+csharp_style_pattern_matching_over_as_with_null_check = true:suggestion
+
+# Null-checking preferences
+csharp_style_throw_expression = true:suggestion
+csharp_style_conditional_delegate_call = true:suggestion
+
+# Modifier preferences
+csharp_preferred_modifier_order = public,private,protected,internal,static,extern,new,virtual,abstract,sealed,override,readonly,unsafe,volatile,async:suggestion
+
+# Expression-level preferences
+csharp_prefer_braces = true:none
+csharp_prefer_simple_default_expression = true:suggestion
+csharp_style_deconstructed_variable_declaration = true:suggestion
+csharp_style_pattern_local_over_anonymous_function = true:suggestion
+csharp_style_inlined_variable_declaration = true:suggestion
+
+###############################
+# C# Formatting Rules #
+###############################
+
+# New line preferences
+csharp_new_line_before_open_brace = all
+csharp_new_line_before_else = true
+csharp_new_line_before_catch = true
+csharp_new_line_before_finally = true
+csharp_new_line_before_members_in_object_initializers = false
+csharp_new_line_before_members_in_anonymous_types = false
+csharp_new_line_between_query_expression_clauses = true
+
+# Indentation preferences
+csharp_indent_case_contents = true
+csharp_indent_switch_labels = true
+csharp_indent_labels = flush_left
+
+# Space preferences
+csharp_space_after_cast = false
+csharp_space_after_keywords_in_control_flow_statements = true
+csharp_space_between_method_declaration_parameter_list_parentheses = false
+csharp_space_between_method_call_parameter_list_parentheses = false
+csharp_space_before_colon_in_inheritance_clause = true
+csharp_space_after_colon_in_inheritance_clause = true
+csharp_space_around_binary_operators = before_and_after
+csharp_space_between_method_declaration_empty_parameter_list_parentheses = false
+csharp_space_between_method_call_name_and_opening_parenthesis = false
+csharp_space_between_method_call_empty_parameter_list_parentheses = false
+
+# Wrapping preferences
+csharp_preserve_single_line_blocks = true
+csharp_preserve_single_line_statements = true
diff --git a/exercises/practice/line-up/.meta/Example.cs b/exercises/practice/line-up/.meta/Example.cs
new file mode 100644
index 000000000..e853d807d
--- /dev/null
+++ b/exercises/practice/line-up/.meta/Example.cs
@@ -0,0 +1,24 @@
+public static class LineUp
+{
+ public static string Format(string name, int number) =>
+ $"{name}, you are the {number}{Suffix(number)} customer we serve today. Thank you!";
+
+ private static string Suffix(int number)
+ {
+ int lastTwoDigits = number % 100;
+ int lastDigit = number % 10;
+
+ if (lastTwoDigits >= 11 && lastTwoDigits <= 13)
+ {
+ return "th";
+ }
+
+ return lastDigit switch
+ {
+ 1 => "st",
+ 2 => "nd",
+ 3 => "rd",
+ _ => "th",
+ };
+ }
+}
diff --git a/exercises/practice/line-up/.meta/Generator.tpl b/exercises/practice/line-up/.meta/Generator.tpl
new file mode 100644
index 000000000..369b20401
--- /dev/null
+++ b/exercises/practice/line-up/.meta/Generator.tpl
@@ -0,0 +1,11 @@
+public class {{ testClass }}
+{
+ {{- for test in tests }}
+ [Fact{{ if !for.first }}(Skip = "Remove this Skip property to run this test"){{ end }}]
+ public void {{ test.testMethod }}()
+ {
+ string expected = {{ test.expected | string.literal }};
+ Assert.Equal(expected, {{ testedClass }}.{{ test.testedMethod }}({{ test.input.name | string.literal }}, {{ test.input.number }}));
+ }
+ {{ end -}}
+}
diff --git a/exercises/practice/line-up/.meta/config.json b/exercises/practice/line-up/.meta/config.json
new file mode 100644
index 000000000..52faf73b7
--- /dev/null
+++ b/exercises/practice/line-up/.meta/config.json
@@ -0,0 +1,22 @@
+{
+ "authors": [
+ "BNAndras"
+ ],
+ "files": {
+ "solution": [
+ "LineUp.cs"
+ ],
+ "test": [
+ "LineUpTests.cs"
+ ],
+ "example": [
+ ".meta/Example.cs"
+ ],
+ "invalidator": [
+ "LineUp.csproj"
+ ]
+ },
+ "blurb": "Help lining up customers at Yaʻqūb's Deli.",
+ "source": "mk-mxp, based on previous work from Exercism contributors codedge and neenjaw",
+ "source_url": "https://forum.exercism.org/t/new-exercise-ordinal-numbers/19147"
+}
diff --git a/exercises/practice/line-up/.meta/tests.toml b/exercises/practice/line-up/.meta/tests.toml
new file mode 100644
index 000000000..36fdf1d0c
--- /dev/null
+++ b/exercises/practice/line-up/.meta/tests.toml
@@ -0,0 +1,67 @@
+# This is an auto-generated file.
+#
+# Regenerating this file via `configlet sync` will:
+# - Recreate every `description` key/value pair
+# - Recreate every `reimplements` key/value pair, where they exist in problem-specifications
+# - Remove any `include = true` key/value pair (an omitted `include` key implies inclusion)
+# - Preserve any other key/value pair
+#
+# As user-added comments (using the # character) will be removed when this file
+# is regenerated, comments can be added via a `comment` key.
+
+[7760d1b8-4864-4db4-953b-0fa7c047dbc0]
+description = "format smallest non-exceptional ordinal numeral 4"
+
+[e8b7c715-6baa-4f7b-8fb3-2fa48044ab7a]
+description = "format greatest single digit non-exceptional ordinal numeral 9"
+
+[f370aae9-7ae7-4247-90ce-e8ff8c6934df]
+description = "format non-exceptional ordinal numeral 5"
+
+[37f10dea-42a2-49de-bb92-0b690b677908]
+description = "format non-exceptional ordinal numeral 6"
+
+[d8dfb9a2-3a1f-4fee-9dae-01af3600054e]
+description = "format non-exceptional ordinal numeral 7"
+
+[505ec372-1803-42b1-9377-6934890fd055]
+description = "format non-exceptional ordinal numeral 8"
+
+[8267072d-be1f-4f70-b34a-76b7557a47b9]
+description = "format exceptional ordinal numeral 1"
+
+[4d8753cb-0364-4b29-84b8-4374a4fa2e3f]
+description = "format exceptional ordinal numeral 2"
+
+[8d44c223-3a7e-4f48-a0ca-78e67bf98aa7]
+description = "format exceptional ordinal numeral 3"
+
+[6c4f6c88-b306-4f40-bc78-97cdd583c21a]
+description = "format smallest two digit non-exceptional ordinal numeral 10"
+
+[e257a43f-d2b1-457a-97df-25f0923fc62a]
+description = "format non-exceptional ordinal numeral 11"
+
+[bb1db695-4d64-457f-81b8-4f5a2107e3f4]
+description = "format non-exceptional ordinal numeral 12"
+
+[60a3187c-9403-4835-97de-4f10ebfd63e2]
+description = "format non-exceptional ordinal numeral 13"
+
+[2bdcebc5-c029-4874-b6cc-e9bec80d603a]
+description = "format exceptional ordinal numeral 21"
+
+[74ee2317-0295-49d2-baf0-d56bcefa14e3]
+description = "format exceptional ordinal numeral 62"
+
+[b37c332d-7f68-40e3-8503-e43cbd67a0c4]
+description = "format exceptional ordinal numeral 100"
+
+[0375f250-ce92-4195-9555-00e28ccc4d99]
+description = "format exceptional ordinal numeral 101"
+
+[0d8a4974-9a8a-45a4-aca7-a9fb473c9836]
+description = "format non-exceptional ordinal numeral 112"
+
+[06b62efe-199e-4ce7-970d-4bf73945713f]
+description = "format exceptional ordinal numeral 123"
diff --git a/exercises/practice/line-up/LineUp.cs b/exercises/practice/line-up/LineUp.cs
new file mode 100644
index 000000000..e2c905b0f
--- /dev/null
+++ b/exercises/practice/line-up/LineUp.cs
@@ -0,0 +1,7 @@
+public static class LineUp
+{
+ public static string Format(string name, int number)
+ {
+ throw new NotImplementedException("You need to implement this method.");
+ }
+}
diff --git a/exercises/practice/line-up/LineUp.csproj b/exercises/practice/line-up/LineUp.csproj
new file mode 100644
index 000000000..760699d32
--- /dev/null
+++ b/exercises/practice/line-up/LineUp.csproj
@@ -0,0 +1,22 @@
+
+
+
+ net9.0
+ Exe
+ enable
+ enable
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/exercises/practice/line-up/LineUpTests.cs b/exercises/practice/line-up/LineUpTests.cs
new file mode 100644
index 000000000..f19c138e7
--- /dev/null
+++ b/exercises/practice/line-up/LineUpTests.cs
@@ -0,0 +1,135 @@
+public class LineUpTests
+{
+ [Fact]
+ public void Format_smallest_non_exceptional_ordinal_numeral_4()
+ {
+ string expected = "Gianna, you are the 4th customer we serve today. Thank you!";
+ Assert.Equal(expected, LineUp.Format("Gianna", 4));
+ }
+
+ [Fact(Skip = "Remove this Skip property to run this test")]
+ public void Format_greatest_single_digit_non_exceptional_ordinal_numeral_9()
+ {
+ string expected = "Maarten, you are the 9th customer we serve today. Thank you!";
+ Assert.Equal(expected, LineUp.Format("Maarten", 9));
+ }
+
+ [Fact(Skip = "Remove this Skip property to run this test")]
+ public void Format_non_exceptional_ordinal_numeral_5()
+ {
+ string expected = "Petronila, you are the 5th customer we serve today. Thank you!";
+ Assert.Equal(expected, LineUp.Format("Petronila", 5));
+ }
+
+ [Fact(Skip = "Remove this Skip property to run this test")]
+ public void Format_non_exceptional_ordinal_numeral_6()
+ {
+ string expected = "Attakullakulla, you are the 6th customer we serve today. Thank you!";
+ Assert.Equal(expected, LineUp.Format("Attakullakulla", 6));
+ }
+
+ [Fact(Skip = "Remove this Skip property to run this test")]
+ public void Format_non_exceptional_ordinal_numeral_7()
+ {
+ string expected = "Kate, you are the 7th customer we serve today. Thank you!";
+ Assert.Equal(expected, LineUp.Format("Kate", 7));
+ }
+
+ [Fact(Skip = "Remove this Skip property to run this test")]
+ public void Format_non_exceptional_ordinal_numeral_8()
+ {
+ string expected = "Maximiliano, you are the 8th customer we serve today. Thank you!";
+ Assert.Equal(expected, LineUp.Format("Maximiliano", 8));
+ }
+
+ [Fact(Skip = "Remove this Skip property to run this test")]
+ public void Format_exceptional_ordinal_numeral_1()
+ {
+ string expected = "Mary, you are the 1st customer we serve today. Thank you!";
+ Assert.Equal(expected, LineUp.Format("Mary", 1));
+ }
+
+ [Fact(Skip = "Remove this Skip property to run this test")]
+ public void Format_exceptional_ordinal_numeral_2()
+ {
+ string expected = "Haruto, you are the 2nd customer we serve today. Thank you!";
+ Assert.Equal(expected, LineUp.Format("Haruto", 2));
+ }
+
+ [Fact(Skip = "Remove this Skip property to run this test")]
+ public void Format_exceptional_ordinal_numeral_3()
+ {
+ string expected = "Henriette, you are the 3rd customer we serve today. Thank you!";
+ Assert.Equal(expected, LineUp.Format("Henriette", 3));
+ }
+
+ [Fact(Skip = "Remove this Skip property to run this test")]
+ public void Format_smallest_two_digit_non_exceptional_ordinal_numeral_10()
+ {
+ string expected = "Alvarez, you are the 10th customer we serve today. Thank you!";
+ Assert.Equal(expected, LineUp.Format("Alvarez", 10));
+ }
+
+ [Fact(Skip = "Remove this Skip property to run this test")]
+ public void Format_non_exceptional_ordinal_numeral_11()
+ {
+ string expected = "Jacqueline, you are the 11th customer we serve today. Thank you!";
+ Assert.Equal(expected, LineUp.Format("Jacqueline", 11));
+ }
+
+ [Fact(Skip = "Remove this Skip property to run this test")]
+ public void Format_non_exceptional_ordinal_numeral_12()
+ {
+ string expected = "Juan, you are the 12th customer we serve today. Thank you!";
+ Assert.Equal(expected, LineUp.Format("Juan", 12));
+ }
+
+ [Fact(Skip = "Remove this Skip property to run this test")]
+ public void Format_non_exceptional_ordinal_numeral_13()
+ {
+ string expected = "Patricia, you are the 13th customer we serve today. Thank you!";
+ Assert.Equal(expected, LineUp.Format("Patricia", 13));
+ }
+
+ [Fact(Skip = "Remove this Skip property to run this test")]
+ public void Format_exceptional_ordinal_numeral_21()
+ {
+ string expected = "Washi, you are the 21st customer we serve today. Thank you!";
+ Assert.Equal(expected, LineUp.Format("Washi", 21));
+ }
+
+ [Fact(Skip = "Remove this Skip property to run this test")]
+ public void Format_exceptional_ordinal_numeral_62()
+ {
+ string expected = "Nayra, you are the 62nd customer we serve today. Thank you!";
+ Assert.Equal(expected, LineUp.Format("Nayra", 62));
+ }
+
+ [Fact(Skip = "Remove this Skip property to run this test")]
+ public void Format_exceptional_ordinal_numeral_100()
+ {
+ string expected = "John, you are the 100th customer we serve today. Thank you!";
+ Assert.Equal(expected, LineUp.Format("John", 100));
+ }
+
+ [Fact(Skip = "Remove this Skip property to run this test")]
+ public void Format_exceptional_ordinal_numeral_101()
+ {
+ string expected = "Zeinab, you are the 101st customer we serve today. Thank you!";
+ Assert.Equal(expected, LineUp.Format("Zeinab", 101));
+ }
+
+ [Fact(Skip = "Remove this Skip property to run this test")]
+ public void Format_non_exceptional_ordinal_numeral_112()
+ {
+ string expected = "Knud, you are the 112th customer we serve today. Thank you!";
+ Assert.Equal(expected, LineUp.Format("Knud", 112));
+ }
+
+ [Fact(Skip = "Remove this Skip property to run this test")]
+ public void Format_exceptional_ordinal_numeral_123()
+ {
+ string expected = "Yma, you are the 123rd customer we serve today. Thank you!";
+ Assert.Equal(expected, LineUp.Format("Yma", 123));
+ }
+}
diff --git a/exercises/practice/line-up/packages.lock.json b/exercises/practice/line-up/packages.lock.json
new file mode 100644
index 000000000..6b3387771
--- /dev/null
+++ b/exercises/practice/line-up/packages.lock.json
@@ -0,0 +1,170 @@
+{
+ "version": 1,
+ "dependencies": {
+ "net9.0": {
+ "Exercism.Tests.xunit.v3": {
+ "type": "Direct",
+ "requested": "[0.1.0-beta1, )",
+ "resolved": "0.1.0-beta1",
+ "contentHash": "XjVtQWWxmHDDj7UMdkPKpBFFKnsW0tkBhlyJSfFFh+fWwGemyyJwJYhdsvWhiKKCY7zItB+mI/o0OQtOKQxUhA==",
+ "dependencies": {
+ "xunit.v3.extensibility.core": "1.1.0"
+ }
+ },
+ "Microsoft.NET.Test.Sdk": {
+ "type": "Direct",
+ "requested": "[17.12.0, )",
+ "resolved": "17.12.0",
+ "contentHash": "kt/PKBZ91rFCWxVIJZSgVLk+YR+4KxTuHf799ho8WNiK5ZQpJNAEZCAWX86vcKrs+DiYjiibpYKdGZP6+/N17w==",
+ "dependencies": {
+ "Microsoft.CodeCoverage": "17.12.0",
+ "Microsoft.TestPlatform.TestHost": "17.12.0"
+ }
+ },
+ "xunit.runner.visualstudio": {
+ "type": "Direct",
+ "requested": "[3.0.1, )",
+ "resolved": "3.0.1",
+ "contentHash": "lbyYtsBxA8Pz8kaf5Xn/Mj1mL9z2nlBWdZhqFaj66nxXBa4JwiTDm4eGcpSMet6du9TOWI6bfha+gQR6+IHawg=="
+ },
+ "xunit.v3": {
+ "type": "Direct",
+ "requested": "[1.1.0, )",
+ "resolved": "1.1.0",
+ "contentHash": "1ckSz5GVswlM9TCk5bGdHOjnYwqAWjkeqxckoHawQIA8sTeuN+RCBUypCi5A/Um0XlczRx5TjAK5W6BbN0HLcQ==",
+ "dependencies": {
+ "xunit.analyzers": "1.20.0",
+ "xunit.v3.assert": "[1.1.0]",
+ "xunit.v3.core": "[1.1.0]"
+ }
+ },
+ "Microsoft.Bcl.AsyncInterfaces": {
+ "type": "Transitive",
+ "resolved": "6.0.0",
+ "contentHash": "UcSjPsst+DfAdJGVDsu346FX0ci0ah+lw3WRtn18NUwEqRt70HaOQ7lI72vy3+1LxtqI3T5GWwV39rQSrCzAeg=="
+ },
+ "Microsoft.CodeCoverage": {
+ "type": "Transitive",
+ "resolved": "17.12.0",
+ "contentHash": "4svMznBd5JM21JIG2xZKGNanAHNXplxf/kQDFfLHXQ3OnpJkayRK/TjacFjA+EYmoyuNXHo/sOETEfcYtAzIrA=="
+ },
+ "Microsoft.Testing.Extensions.TrxReport.Abstractions": {
+ "type": "Transitive",
+ "resolved": "1.5.3",
+ "contentHash": "h34zKNpGyni66VH738mRHeXSnf3klSShUdavUWNhSfWICUUi5aXeI0LBvoX/ad93N0+9xBDU3Fyi6WfxrwKQGw==",
+ "dependencies": {
+ "Microsoft.Testing.Platform": "1.5.3"
+ }
+ },
+ "Microsoft.Testing.Platform": {
+ "type": "Transitive",
+ "resolved": "1.5.3",
+ "contentHash": "WqJydnJ99dEKtquR9HwINz104ehWJKTXbQQrydGatlLRw14bmsx0pa8+E6KUXMYXZAimN0swWlDmcJGjjW4TIg=="
+ },
+ "Microsoft.Testing.Platform.MSBuild": {
+ "type": "Transitive",
+ "resolved": "1.5.3",
+ "contentHash": "bOtpRMSPeT5YLQo+NNY8EtdNTphAUcmALjW4ABU7P0rb6yR2XAZau3TzNieLmR3lRuwudguWzzBhgcLRXwZh0A==",
+ "dependencies": {
+ "Microsoft.Testing.Platform": "1.5.3"
+ }
+ },
+ "Microsoft.TestPlatform.ObjectModel": {
+ "type": "Transitive",
+ "resolved": "17.12.0",
+ "contentHash": "TDqkTKLfQuAaPcEb3pDDWnh7b3SyZF+/W9OZvWFp6eJCIiiYFdSB6taE2I6tWrFw5ywhzOb6sreoGJTI6m3rSQ==",
+ "dependencies": {
+ "System.Reflection.Metadata": "1.6.0"
+ }
+ },
+ "Microsoft.TestPlatform.TestHost": {
+ "type": "Transitive",
+ "resolved": "17.12.0",
+ "contentHash": "MiPEJQNyADfwZ4pJNpQex+t9/jOClBGMiCiVVFuELCMSX2nmNfvUor3uFVxNNCg30uxDP8JDYfPnMXQzsfzYyg==",
+ "dependencies": {
+ "Microsoft.TestPlatform.ObjectModel": "17.12.0",
+ "Newtonsoft.Json": "13.0.1"
+ }
+ },
+ "Newtonsoft.Json": {
+ "type": "Transitive",
+ "resolved": "13.0.1",
+ "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A=="
+ },
+ "System.Collections.Immutable": {
+ "type": "Transitive",
+ "resolved": "8.0.0",
+ "contentHash": "AurL6Y5BA1WotzlEvVaIDpqzpIPvYnnldxru8oXJU2yFxFUy3+pNXjXd1ymO+RA0rq0+590Q8gaz2l3Sr7fmqg=="
+ },
+ "System.Memory": {
+ "type": "Transitive",
+ "resolved": "4.6.0",
+ "contentHash": "OEkbBQoklHngJ8UD8ez2AERSk2g+/qpAaSWWCBFbpH727HxDq5ydVkuncBaKcKfwRqXGWx64dS6G1SUScMsitg=="
+ },
+ "System.Reflection.Metadata": {
+ "type": "Transitive",
+ "resolved": "1.6.0",
+ "contentHash": "COC1aiAJjCoA5GBF+QKL2uLqEBew4JsCkQmoHKbN3TlOZKa2fKLz5CpiRQKDz0RsAOEGsVKqOD5bomsXq/4STQ=="
+ },
+ "xunit.analyzers": {
+ "type": "Transitive",
+ "resolved": "1.20.0",
+ "contentHash": "HElev2E9vFbPxwKRQtpCSSzLOu8M/N9EWBCB37v7SRx6z4Lbj19FxfLEig3v9jiI6s4b0l2uena91nEsTWl9jA=="
+ },
+ "xunit.v3.assert": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "4D+eM08ImfhA+zLbRzi8HA4qsT98zDxgaCD7vCg8yFesokKsgSsqWsAmImHFjVymGVhVS7WFGb19d6v1k9i0xQ==",
+ "dependencies": {
+ "System.Collections.Immutable": "8.0.0",
+ "System.Memory": "4.6.0"
+ }
+ },
+ "xunit.v3.common": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "Cq55z8pC7fOkfj+3TB/YQ6OW96qWqxKiMd15CtkIl37VtV9EsiUL4B4HsR6VLJCzkk7cBiXQ1ABVIcp3TCm6HQ==",
+ "dependencies": {
+ "Microsoft.Bcl.AsyncInterfaces": "6.0.0"
+ }
+ },
+ "xunit.v3.core": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "kXP/1d3jnQ2m4skcdM3gSMmubI6P747D6KVswzeedysgFkLj2xJlfo7p7slsmtEnp8BZb8X6D92Hssd/UtVPMw==",
+ "dependencies": {
+ "Microsoft.Testing.Platform.MSBuild": "1.5.3",
+ "xunit.v3.extensibility.core": "[1.1.0]",
+ "xunit.v3.runner.inproc.console": "[1.1.0]"
+ }
+ },
+ "xunit.v3.extensibility.core": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "AeQbbYN001x0c+B9pqwml6jZPovHz8O/sOp7jmrjz90rUzz/QPal12SlHLKYszR44CMnW4MsDam3RYT5pkYUxw==",
+ "dependencies": {
+ "xunit.v3.common": "[1.1.0]"
+ }
+ },
+ "xunit.v3.runner.common": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "Q81J0VPuu8fpF+/1CIjThqKKUjnqh0TQrLlD0iORkF75KdsOV+iGWT8c3AVuY96kDoxXxkTf0ZvJsK6o9osc1A==",
+ "dependencies": {
+ "xunit.v3.common": "[1.1.0]"
+ }
+ },
+ "xunit.v3.runner.inproc.console": {
+ "type": "Transitive",
+ "resolved": "1.1.0",
+ "contentHash": "lX/4TwIJe9ysCd5dqLk/Doq8ieYaZGivgf95xR59wRuSV+nHzHnyhpjXfaPUp8nkncUH1rOmJ85o1KebipisXQ==",
+ "dependencies": {
+ "Microsoft.Testing.Extensions.TrxReport.Abstractions": "1.5.3",
+ "Microsoft.Testing.Platform": "1.5.3",
+ "xunit.v3.extensibility.core": "[1.1.0]",
+ "xunit.v3.runner.common": "[1.1.0]"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
From 017345f5ba27901d8b46c8e69b1fbe4b1f3d585b Mon Sep 17 00:00:00 2001
From: BNAndras <20251272+BNAndras@users.noreply.github.com>
Date: Fri, 20 Mar 2026 09:42:47 -0700
Subject: [PATCH 2/2] Update to .net 10
---
exercises/Exercises.slnx | 1 +
exercises/practice/line-up/LineUp.csproj | 9 +-
exercises/practice/line-up/packages.lock.json | 165 +++++++++---------
3 files changed, 92 insertions(+), 83 deletions(-)
diff --git a/exercises/Exercises.slnx b/exercises/Exercises.slnx
index 898746ea4..d56e3d758 100644
--- a/exercises/Exercises.slnx
+++ b/exercises/Exercises.slnx
@@ -106,6 +106,7 @@
+
diff --git a/exercises/practice/line-up/LineUp.csproj b/exercises/practice/line-up/LineUp.csproj
index 760699d32..b03c847b8 100644
--- a/exercises/practice/line-up/LineUp.csproj
+++ b/exercises/practice/line-up/LineUp.csproj
@@ -1,11 +1,12 @@
- net9.0
+ net10.0
Exe
enable
enable
true
+ Exercism
@@ -13,9 +14,9 @@
-
-
-
+
+
+
diff --git a/exercises/practice/line-up/packages.lock.json b/exercises/practice/line-up/packages.lock.json
index 6b3387771..283318bce 100644
--- a/exercises/practice/line-up/packages.lock.json
+++ b/exercises/practice/line-up/packages.lock.json
@@ -1,7 +1,7 @@
{
"version": 1,
"dependencies": {
- "net9.0": {
+ "net10.0": {
"Exercism.Tests.xunit.v3": {
"type": "Direct",
"requested": "[0.1.0-beta1, )",
@@ -13,31 +13,34 @@
},
"Microsoft.NET.Test.Sdk": {
"type": "Direct",
- "requested": "[17.12.0, )",
- "resolved": "17.12.0",
- "contentHash": "kt/PKBZ91rFCWxVIJZSgVLk+YR+4KxTuHf799ho8WNiK5ZQpJNAEZCAWX86vcKrs+DiYjiibpYKdGZP6+/N17w==",
+ "requested": "[18.3.0, )",
+ "resolved": "18.3.0",
+ "contentHash": "xW3kXuWRQtgoxJp4J+gdhHSQyK+6Wb/AZDSd7lMvuMRYlZ1tnpkojyfZlWilB5G4dmZ0Y0ZxU/M23TlubndNkw==",
"dependencies": {
- "Microsoft.CodeCoverage": "17.12.0",
- "Microsoft.TestPlatform.TestHost": "17.12.0"
+ "Microsoft.CodeCoverage": "18.3.0",
+ "Microsoft.TestPlatform.TestHost": "18.3.0"
}
},
"xunit.runner.visualstudio": {
"type": "Direct",
- "requested": "[3.0.1, )",
- "resolved": "3.0.1",
- "contentHash": "lbyYtsBxA8Pz8kaf5Xn/Mj1mL9z2nlBWdZhqFaj66nxXBa4JwiTDm4eGcpSMet6du9TOWI6bfha+gQR6+IHawg=="
+ "requested": "[3.1.5, )",
+ "resolved": "3.1.5",
+ "contentHash": "tKi7dSTwP4m5m9eXPM2Ime4Kn7xNf4x4zT9sdLO/G4hZVnQCRiMTWoSZqI/pYTVeI27oPPqHBKYI/DjJ9GsYgA=="
},
"xunit.v3": {
"type": "Direct",
- "requested": "[1.1.0, )",
- "resolved": "1.1.0",
- "contentHash": "1ckSz5GVswlM9TCk5bGdHOjnYwqAWjkeqxckoHawQIA8sTeuN+RCBUypCi5A/Um0XlczRx5TjAK5W6BbN0HLcQ==",
+ "requested": "[3.2.2, )",
+ "resolved": "3.2.2",
+ "contentHash": "L+4/4y0Uqcg8/d6hfnxhnwh4j9FaeULvefTwrk30rr1o4n/vdPfyUQ8k0yzH8VJx7bmFEkDdcRfbtbjEHlaYcA==",
"dependencies": {
- "xunit.analyzers": "1.20.0",
- "xunit.v3.assert": "[1.1.0]",
- "xunit.v3.core": "[1.1.0]"
+ "xunit.v3.mtp-v1": "[3.2.2]"
}
},
+ "Microsoft.ApplicationInsights": {
+ "type": "Transitive",
+ "resolved": "2.23.0",
+ "contentHash": "nWArUZTdU7iqZLycLKWe0TDms48KKGE6pONH2terYNa8REXiqixrMOkf1sk5DHGMaUTqONU2YkS4SAXBhLStgw=="
+ },
"Microsoft.Bcl.AsyncInterfaces": {
"type": "Transitive",
"resolved": "6.0.0",
@@ -45,126 +48,130 @@
},
"Microsoft.CodeCoverage": {
"type": "Transitive",
- "resolved": "17.12.0",
- "contentHash": "4svMznBd5JM21JIG2xZKGNanAHNXplxf/kQDFfLHXQ3OnpJkayRK/TjacFjA+EYmoyuNXHo/sOETEfcYtAzIrA=="
+ "resolved": "18.3.0",
+ "contentHash": "23BNy/vziREC20Wwhb50K7+kZe0m07KlLWDQv4qjJ9tt3QjpDpDIqJFrhYHmMEo9xDkuSp55U/8h4bMF7MiB+g=="
+ },
+ "Microsoft.Testing.Extensions.Telemetry": {
+ "type": "Transitive",
+ "resolved": "1.9.1",
+ "contentHash": "No5AudZMmSb+uNXjlgL2y3/stHD2IT4uxqc5yHwkE+/nNux9jbKcaJMvcp9SwgP4DVD8L9/P3OUz8mmmcvEIdQ==",
+ "dependencies": {
+ "Microsoft.ApplicationInsights": "2.23.0",
+ "Microsoft.Testing.Platform": "1.9.1"
+ }
},
"Microsoft.Testing.Extensions.TrxReport.Abstractions": {
"type": "Transitive",
- "resolved": "1.5.3",
- "contentHash": "h34zKNpGyni66VH738mRHeXSnf3klSShUdavUWNhSfWICUUi5aXeI0LBvoX/ad93N0+9xBDU3Fyi6WfxrwKQGw==",
+ "resolved": "1.9.1",
+ "contentHash": "AL46Xe1WBi85Ntd4mNPvat5ZSsZ2uejiVqoKCypr8J3wK0elA5xJ3AN4G/Q4GIwzUFnggZoH/DBjnr9J18IO/g==",
"dependencies": {
- "Microsoft.Testing.Platform": "1.5.3"
+ "Microsoft.Testing.Platform": "1.9.1"
}
},
"Microsoft.Testing.Platform": {
"type": "Transitive",
- "resolved": "1.5.3",
- "contentHash": "WqJydnJ99dEKtquR9HwINz104ehWJKTXbQQrydGatlLRw14bmsx0pa8+E6KUXMYXZAimN0swWlDmcJGjjW4TIg=="
+ "resolved": "1.9.1",
+ "contentHash": "QafNtNSmEI0zazdebnsIkDKmFtTSpmx/5PLOjURWwozcPb3tvRxzosQSL8xwYNM1iPhhKiBksXZyRSE2COisrA=="
},
"Microsoft.Testing.Platform.MSBuild": {
"type": "Transitive",
- "resolved": "1.5.3",
- "contentHash": "bOtpRMSPeT5YLQo+NNY8EtdNTphAUcmALjW4ABU7P0rb6yR2XAZau3TzNieLmR3lRuwudguWzzBhgcLRXwZh0A==",
+ "resolved": "1.9.1",
+ "contentHash": "oTUtyR4X/s9ytuiNA29FGsNCCH0rNmY5Wdm14NCKLjTM1cT9edVSlA+rGS/mVmusPqcP0l/x9qOnMXg16v87RQ==",
"dependencies": {
- "Microsoft.Testing.Platform": "1.5.3"
+ "Microsoft.Testing.Platform": "1.9.1"
}
},
"Microsoft.TestPlatform.ObjectModel": {
"type": "Transitive",
- "resolved": "17.12.0",
- "contentHash": "TDqkTKLfQuAaPcEb3pDDWnh7b3SyZF+/W9OZvWFp6eJCIiiYFdSB6taE2I6tWrFw5ywhzOb6sreoGJTI6m3rSQ==",
- "dependencies": {
- "System.Reflection.Metadata": "1.6.0"
- }
+ "resolved": "18.3.0",
+ "contentHash": "AEIEX2aWdPO9XbtR96eBaJxmXRD9vaI9uQ1T/JbPEKlTAZwYx0ZrMzKyULMdh/HH9Sg03kXCoN7LszQ90o6nPQ=="
},
"Microsoft.TestPlatform.TestHost": {
"type": "Transitive",
- "resolved": "17.12.0",
- "contentHash": "MiPEJQNyADfwZ4pJNpQex+t9/jOClBGMiCiVVFuELCMSX2nmNfvUor3uFVxNNCg30uxDP8JDYfPnMXQzsfzYyg==",
+ "resolved": "18.3.0",
+ "contentHash": "twmsoelXnp1uWMU3VGip9f0Jr1mZ0PZqgJdF35CIrdYgYrkHIJMV1m8uKyhcdjLdsQDESHAgkR7KhS9i1qpJag==",
"dependencies": {
- "Microsoft.TestPlatform.ObjectModel": "17.12.0",
- "Newtonsoft.Json": "13.0.1"
+ "Microsoft.TestPlatform.ObjectModel": "18.3.0",
+ "Newtonsoft.Json": "13.0.3"
}
},
- "Newtonsoft.Json": {
- "type": "Transitive",
- "resolved": "13.0.1",
- "contentHash": "ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A=="
- },
- "System.Collections.Immutable": {
- "type": "Transitive",
- "resolved": "8.0.0",
- "contentHash": "AurL6Y5BA1WotzlEvVaIDpqzpIPvYnnldxru8oXJU2yFxFUy3+pNXjXd1ymO+RA0rq0+590Q8gaz2l3Sr7fmqg=="
- },
- "System.Memory": {
+ "Microsoft.Win32.Registry": {
"type": "Transitive",
- "resolved": "4.6.0",
- "contentHash": "OEkbBQoklHngJ8UD8ez2AERSk2g+/qpAaSWWCBFbpH727HxDq5ydVkuncBaKcKfwRqXGWx64dS6G1SUScMsitg=="
+ "resolved": "5.0.0",
+ "contentHash": "dDoKi0PnDz31yAyETfRntsLArTlVAVzUzCIvvEDsDsucrl33Dl8pIJG06ePTJTI3tGpeyHS9Cq7Foc/s4EeKcg=="
},
- "System.Reflection.Metadata": {
+ "Newtonsoft.Json": {
"type": "Transitive",
- "resolved": "1.6.0",
- "contentHash": "COC1aiAJjCoA5GBF+QKL2uLqEBew4JsCkQmoHKbN3TlOZKa2fKLz5CpiRQKDz0RsAOEGsVKqOD5bomsXq/4STQ=="
+ "resolved": "13.0.3",
+ "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ=="
},
"xunit.analyzers": {
"type": "Transitive",
- "resolved": "1.20.0",
- "contentHash": "HElev2E9vFbPxwKRQtpCSSzLOu8M/N9EWBCB37v7SRx6z4Lbj19FxfLEig3v9jiI6s4b0l2uena91nEsTWl9jA=="
+ "resolved": "1.27.0",
+ "contentHash": "y/pxIQaLvk/kxAoDkZW9GnHLCEqzwl5TW0vtX3pweyQpjizB9y3DXhb9pkw2dGeUqhLjsxvvJM1k89JowU6z3g=="
},
"xunit.v3.assert": {
"type": "Transitive",
- "resolved": "1.1.0",
- "contentHash": "4D+eM08ImfhA+zLbRzi8HA4qsT98zDxgaCD7vCg8yFesokKsgSsqWsAmImHFjVymGVhVS7WFGb19d6v1k9i0xQ==",
- "dependencies": {
- "System.Collections.Immutable": "8.0.0",
- "System.Memory": "4.6.0"
- }
+ "resolved": "3.2.2",
+ "contentHash": "BPciBghgEEaJN/JG00QfCYDfEfnLgQhfnYEy+j1izoeHVNYd5+3Wm8GJ6JgYysOhpBPYGE+sbf75JtrRc7jrdA=="
},
"xunit.v3.common": {
"type": "Transitive",
- "resolved": "1.1.0",
- "contentHash": "Cq55z8pC7fOkfj+3TB/YQ6OW96qWqxKiMd15CtkIl37VtV9EsiUL4B4HsR6VLJCzkk7cBiXQ1ABVIcp3TCm6HQ==",
+ "resolved": "3.2.2",
+ "contentHash": "Hj775PEH6GTbbg0wfKRvG2hNspDCvTH9irXhH4qIWgdrOSV1sQlqPie+DOvFeigsFg2fxSM3ZAaaCDQs+KreFA==",
"dependencies": {
"Microsoft.Bcl.AsyncInterfaces": "6.0.0"
}
},
- "xunit.v3.core": {
+ "xunit.v3.core.mtp-v1": {
"type": "Transitive",
- "resolved": "1.1.0",
- "contentHash": "kXP/1d3jnQ2m4skcdM3gSMmubI6P747D6KVswzeedysgFkLj2xJlfo7p7slsmtEnp8BZb8X6D92Hssd/UtVPMw==",
+ "resolved": "3.2.2",
+ "contentHash": "Ga5aA2Ca9ktz+5k3g5ukzwfexwoqwDUpV6z7atSEUvqtd6JuybU1XopHqg1oFd78QdTfZgZE9h5sHpO4qYIi5w==",
"dependencies": {
- "Microsoft.Testing.Platform.MSBuild": "1.5.3",
- "xunit.v3.extensibility.core": "[1.1.0]",
- "xunit.v3.runner.inproc.console": "[1.1.0]"
+ "Microsoft.Testing.Extensions.Telemetry": "1.9.1",
+ "Microsoft.Testing.Extensions.TrxReport.Abstractions": "1.9.1",
+ "Microsoft.Testing.Platform": "1.9.1",
+ "Microsoft.Testing.Platform.MSBuild": "1.9.1",
+ "xunit.v3.extensibility.core": "[3.2.2]",
+ "xunit.v3.runner.inproc.console": "[3.2.2]"
}
},
"xunit.v3.extensibility.core": {
"type": "Transitive",
- "resolved": "1.1.0",
- "contentHash": "AeQbbYN001x0c+B9pqwml6jZPovHz8O/sOp7jmrjz90rUzz/QPal12SlHLKYszR44CMnW4MsDam3RYT5pkYUxw==",
+ "resolved": "3.2.2",
+ "contentHash": "srY8z/oMPvh/t8axtO2DwrHajhFMH7tnqKildvYrVQIfICi8fOn3yIBWkVPAcrKmHMwvXRJ/XsQM3VMR6DOYfQ==",
+ "dependencies": {
+ "xunit.v3.common": "[3.2.2]"
+ }
+ },
+ "xunit.v3.mtp-v1": {
+ "type": "Transitive",
+ "resolved": "3.2.2",
+ "contentHash": "O41aAzYKBT5PWqATa1oEWVNCyEUypFQ4va6K0kz37dduV3EKzXNMaV2UnEhufzU4Cce1I33gg0oldS8tGL5I0A==",
"dependencies": {
- "xunit.v3.common": "[1.1.0]"
+ "xunit.analyzers": "1.27.0",
+ "xunit.v3.assert": "[3.2.2]",
+ "xunit.v3.core.mtp-v1": "[3.2.2]"
}
},
"xunit.v3.runner.common": {
"type": "Transitive",
- "resolved": "1.1.0",
- "contentHash": "Q81J0VPuu8fpF+/1CIjThqKKUjnqh0TQrLlD0iORkF75KdsOV+iGWT8c3AVuY96kDoxXxkTf0ZvJsK6o9osc1A==",
+ "resolved": "3.2.2",
+ "contentHash": "/hkHkQCzGrugelOAehprm7RIWdsUFVmIVaD6jDH/8DNGCymTlKKPTbGokD5czbAfqfex47mBP0sb0zbHYwrO/g==",
"dependencies": {
- "xunit.v3.common": "[1.1.0]"
+ "Microsoft.Win32.Registry": "[5.0.0]",
+ "xunit.v3.common": "[3.2.2]"
}
},
"xunit.v3.runner.inproc.console": {
"type": "Transitive",
- "resolved": "1.1.0",
- "contentHash": "lX/4TwIJe9ysCd5dqLk/Doq8ieYaZGivgf95xR59wRuSV+nHzHnyhpjXfaPUp8nkncUH1rOmJ85o1KebipisXQ==",
+ "resolved": "3.2.2",
+ "contentHash": "ulWOdSvCk+bPXijJZ73bth9NyoOHsAs1ZOvamYbCkD4DNLX/Bd29Ve2ZNUwBbK0MqfIYWXHZViy/HKrdEC/izw==",
"dependencies": {
- "Microsoft.Testing.Extensions.TrxReport.Abstractions": "1.5.3",
- "Microsoft.Testing.Platform": "1.5.3",
- "xunit.v3.extensibility.core": "[1.1.0]",
- "xunit.v3.runner.common": "[1.1.0]"
+ "xunit.v3.extensibility.core": "[3.2.2]",
+ "xunit.v3.runner.common": "[3.2.2]"
}
}
}
}
-}
\ No newline at end of file
+}