You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+9-6Lines changed: 9 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,11 +1,14 @@
1
1
# Antithesis .NET SDK
2
2
3
-
This package contains types for .NET applications to use to integrate with [Antithesis](https://antithesis.com).
4
-
* The `Assert` class enables defining [test properties](https://antithesis.com/docs/properties_assertions/properties/)
5
-
about your program or [workload](https://antithesis.com/docs/test_templates/first_test/).
6
-
* The `Lifecycle` class contains methods used to inform Antithesis that particular test phases or milestones have been reached.
7
-
* The `Random` class is a subclass of `System.Random` that encapsulates Antithesis's deterministic and reproducible
8
-
random number generator.
3
+
This package contains types for .NET applications to integrate with [Antithesis](https://antithesis.com).
4
+
* The `Assert` class methods define [test properties](https://antithesis.com/docs/introduction/how_antithesis_works/#how-does-antithesis-identify-bugs/)
5
+
about your software or [workload](https://antithesis.com/docs/product/writing_tests/test_templates/first_test/).
6
+
* The `Random` class methods source entropy directly from the Antithesis platform: raw 64-bit values via `GetRandom()`
7
+
and structured list picks via `RandomChoice()`.
8
+
* The `AntithesisRandom` class is a subclass of `System.Random` that encapsulates Antithesis's steering choices,
9
+
making it easy for .NET code that uses `System.Random` to be included in Antithesis-guided exploration.
10
+
* The `Lifecycle` class methods inform the Antithesis environment that particular test phases or milestones have been
11
+
reached.
9
12
10
13
For general usage guidance see the [Antithesis .NET SDK Documentation](https://antithesis.com/docs/using_antithesis/sdk/dotnet/).
/// A low-level method designed for use by third-party frameworks that produce Antithesis-style
106
+
/// assertions with caller-supplied catalog metadata; regular users should call the assertion
107
+
/// methods above instead.
108
+
/// <br/><br/>
109
+
/// Catalog entries (<c>hit</c> = false) are always written. Hit entries are written only for
110
+
/// the first passing and the first failing call per <c>id</c>.
111
+
/// </summary>
112
+
/// <param name="assertType">One of <c>"always"</c>, <c>"sometimes"</c>, or <c>"reachability"</c>.</param>
113
+
/// <param name="displayType">One of <c>"Always"</c>, <c>"AlwaysOrUnreachable"</c>, <c>"Sometimes"</c>, <c>"Reachable"</c>, or <c>"Unreachable"</c>.</param>
114
+
/// <param name="className">The name of the class containing the assertion.</param>
115
+
/// <param name="functionName">The name of the method containing the assertion.</param>
116
+
/// <param name="filePath">The path of the file containing the assertion.</param>
117
+
/// <param name="beginLine">The 1-indexed line number where the assertion begins.</param>
118
+
/// <param name="beginColumn">The 1-indexed column number where the assertion begins.</param>
119
+
/// <param name="id">The unique identifier of the assertion, used to aggregate assertions and gate emission.</param>
120
+
/// <param name="condition">The condition being asserted.</param>
121
+
/// <param name="message">The human-readable name of the corresponding test property.</param>
122
+
/// <param name="details">Optional additional details to provide greater context for assertion passes and failures.</param>
123
+
/// <param name="hit">Whether the assertion was evaluated (<c>true</c>) or is being cataloged (<c>false</c>).</param>
124
+
/// <param name="mustHit">Whether the corresponding test property fails if the assertion is never encountered.</param>
0 commit comments