What problem does it solve? Writing MSTest unit tests with outdated patterns leads to poor failure messages, fragile assertions, and inconsistent test structure. This Skill guides you through writing new MSTest tests and fixing existing ones using modern MSTest 3.x/4.x APIs and best practices. ## Core Features & Use Cases - Modern assertion APIs: Replace generic Assert.IsTrue with specific assertions like Assert.IsEmpty, Assert.HasCount, Assert.Contains, Assert.IsInstanceOfType, and Assert.ThrowsExactly for clearer failure messages. - Data-driven tests: Build parameterized tests with DataRow, DynamicData with ValueTuples, and TestDataRow metadata for type-safe test data. - Lifecycle and advanced patterns: Apply constructor-based initialization, TestContext injection, cancellation tokens with timeouts, retry, conditional execution, and parallelization. - Use Case: You have a test using Assert.IsTrue(list.Count == 3) and a hard cast on a result object. This Skill rewrites it as Assert.HasCount(3, list) and Assert.IsInstanceOfType<MyHandler>(result), and fixes swapped Assert.AreEqual argument order. ## Quick Start Ask the assistant to write MSTest unit tests for your C# class or to modernize the assertions in your existing MSTest test file.