What problem does it solve? Writing MSTest unit tests often leads to outdated patterns like [ExpectedException], generic Assert.IsTrue checks, swapped Assert.AreEqual arguments, and MSTESTxxxx analyzer warnings. This Skill guides you to write, fix, and modernize MSTest tests using current MSTest 3.x/4.x APIs and conventions. ## Core Features & Use Cases - Modern assertion APIs: Replace Assert.IsTrue with specific assertions like Assert.IsEmpty, Assert.HasCount, Assert.Contains, Assert.IsInstanceOfType, and Assert.ThrowsExactly for clearer failure messages. - Data-driven and lifecycle patterns: Use DataRow, DynamicData with ValueTuples, constructor-based initialization, TestContext injection, cancellation tokens, retries, conditional execution, and parallelization. - Analyzer diagnostics fixes: Look up common MSTESTxxxx rules (e.g., MSTEST0006, MSTEST0017, MSTEST0037) and apply the idiomatic fix instead of suppressing warnings. - Use Case: You inherit a test project full of Assert.IsTrue(list.Count > 0) and [ExpectedException] attributes. Use this Skill to convert them to Assert.IsNotEmpty and Assert.ThrowsExactly<T>, then resolve the remaining analyzer warnings. ## Quick Start Ask the assistant to write MSTest unit tests for your C# class or to modernize an existing MSTest test file using current assertion APIs.