From 90e6543849c7f93157919f7b5595024d7346d130 Mon Sep 17 00:00:00 2001 From: Richard Werkman Date: Fri, 9 Dec 2022 09:08:13 +0100 Subject: [PATCH 1/4] Update supported-mutators.md --- docs/supported-mutators.md | 54 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/docs/supported-mutators.md b/docs/supported-mutators.md index 1b2ffe461..dece38259 100644 --- a/docs/supported-mutators.md +++ b/docs/supported-mutators.md @@ -25,6 +25,7 @@ All Stryker versions support a variety of different mutators. We've aligned on a | [String Literal](#string-literal) | ✅ | ✅ | ✅ | | [Unary Operator](#unary-operator) | ✅ | ✅ | ❌ | | [Update Operator](#update-operator) | ✅ | ✅ | n/a | +| [Math Methods](#math-methods) | ❌ | ✅ | ❌ | ## Arithmetic Operator @@ -320,3 +321,56 @@ Strings and literals identified to a regex are mutated in the following way: | `--a` | `++a` | [🔝 Back to Top](#) + +## Math Methods +| Original | Mutated | +| ----------------------- | ----------------------- | +| `Acos()` | `Acosh()` | +| `Acos()` | `Asin()` | +| `Acos()` | `Atan()` | +| `Acosh()` | `Acos()` | +| `Acosh()` | `Asinh()` | +| `Acosh()` | `Atanh()` | +| `Asin()` | `Asinh()` | +| `Asin()` | `Acos()` | +| `Asin()` | `Atan()` | +| `Asinh()` | `Asin()` | +| `Asinh()` | `Acosh()` | +| `Asinh()` | `Atanh()` | +| `Atan()` | `Atanh()` | +| `Atan()` | `Acos()` | +| `Atan()` | `Asin()` | +| `Atanh()` | `Atan()` | +| `Atanh()` | `Acosh()` | +| `Atanh()` | `Asinh()` | +| `BitDecrement()` | `BitIncrement()` | +| `BitIncrement()` | `BitDecrement()` | +| `Ceiling()` | `Floor()` | +| `Cos()` | `Cosh()` | +| `Cos()` | `Sin()` | +| `Cos()` | `Tan()` | +| `Cosh()` | `Cos()` | +| `Cosh()` | `Sinh()` | +| `Cosh()` | `Tanh()` | +| `Exp()` | `Log()` | +| `Floor()` | `Ceiling()` | +| `Log()` | `Exp()` | +| `Log()` | `Pow()` | +| `MaxMagnitude()` | `MinMagnitude()` | +| `MinMagnitude()` | `MaxMagnitude()` | +| `Pow()` | `Log()` | +| `ReciprocalEstimate()` | `ReciprocalSqrtEstimate()` | +| `ReciprocalSqrtEstimate()` | `ReciprocalEstimate()` | +| `ReciprocalSqrtEstimate()` | `Sqrt()` | +| `Sin()` | `Sinh()` | +| `Sin()` | `Cos()` | +| `Sin()` | `Tan()` | +| `Sinh()` | `Sin()` | +| `Sinh()` | `Cosh()` | +| `Sinh()` | `Tanh()` | +| `Tan()` | `Tanh()` | +| `Tan()` | `Cos()` | +| `Tan()` | `Sin()` | +| `Tanh()` | `Tan()` | +| `Tanh()` | `Cosh()` | +| `Tanh()` | `Sinh()` | From 87699dd8baa9b5ebfb79524d7c9f026a7c4fd012 Mon Sep 17 00:00:00 2001 From: Richard Werkman Date: Fri, 9 Dec 2022 12:03:13 +0100 Subject: [PATCH 2/4] update --- docs/supported-mutators.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/docs/supported-mutators.md b/docs/supported-mutators.md index dece38259..e5604b08e 100644 --- a/docs/supported-mutators.md +++ b/docs/supported-mutators.md @@ -323,6 +323,9 @@ Strings and literals identified to a regex are mutated in the following way: [🔝 Back to Top](#) ## Math Methods + +> Currently only implemented for Stryker.NET. Future implementations for other languages can be implemented differently. + | Original | Mutated | | ----------------------- | ----------------------- | | `Acos()` | `Acosh()` | @@ -374,3 +377,5 @@ Strings and literals identified to a regex are mutated in the following way: | `Tanh()` | `Tan()` | | `Tanh()` | `Cosh()` | | `Tanh()` | `Sinh()` | + +[🔝 Back to Top](#) From 705178d95dc851959c769b66232d7f63424998d3 Mon Sep 17 00:00:00 2001 From: Richard Werkman Date: Fri, 9 Dec 2022 14:39:05 +0100 Subject: [PATCH 3/4] prettier --- docs/supported-mutators.md | 104 ++++++++++++++++++------------------- 1 file changed, 52 insertions(+), 52 deletions(-) diff --git a/docs/supported-mutators.md b/docs/supported-mutators.md index e5604b08e..cb9c008e8 100644 --- a/docs/supported-mutators.md +++ b/docs/supported-mutators.md @@ -25,7 +25,7 @@ All Stryker versions support a variety of different mutators. We've aligned on a | [String Literal](#string-literal) | ✅ | ✅ | ✅ | | [Unary Operator](#unary-operator) | ✅ | ✅ | ❌ | | [Update Operator](#update-operator) | ✅ | ✅ | n/a | -| [Math Methods](#math-methods) | ❌ | ✅ | ❌ | +| [Math Methods](#math-methods) | ❌ | ✅ | ❌ | ## Arithmetic Operator @@ -326,56 +326,56 @@ Strings and literals identified to a regex are mutated in the following way: > Currently only implemented for Stryker.NET. Future implementations for other languages can be implemented differently. -| Original | Mutated | -| ----------------------- | ----------------------- | -| `Acos()` | `Acosh()` | -| `Acos()` | `Asin()` | -| `Acos()` | `Atan()` | -| `Acosh()` | `Acos()` | -| `Acosh()` | `Asinh()` | -| `Acosh()` | `Atanh()` | -| `Asin()` | `Asinh()` | -| `Asin()` | `Acos()` | -| `Asin()` | `Atan()` | -| `Asinh()` | `Asin()` | -| `Asinh()` | `Acosh()` | -| `Asinh()` | `Atanh()` | -| `Atan()` | `Atanh()` | -| `Atan()` | `Acos()` | -| `Atan()` | `Asin()` | -| `Atanh()` | `Atan()` | -| `Atanh()` | `Acosh()` | -| `Atanh()` | `Asinh()` | -| `BitDecrement()` | `BitIncrement()` | -| `BitIncrement()` | `BitDecrement()` | -| `Ceiling()` | `Floor()` | -| `Cos()` | `Cosh()` | -| `Cos()` | `Sin()` | -| `Cos()` | `Tan()` | -| `Cosh()` | `Cos()` | -| `Cosh()` | `Sinh()` | -| `Cosh()` | `Tanh()` | -| `Exp()` | `Log()` | -| `Floor()` | `Ceiling()` | -| `Log()` | `Exp()` | -| `Log()` | `Pow()` | -| `MaxMagnitude()` | `MinMagnitude()` | -| `MinMagnitude()` | `MaxMagnitude()` | -| `Pow()` | `Log()` | -| `ReciprocalEstimate()` | `ReciprocalSqrtEstimate()` | -| `ReciprocalSqrtEstimate()` | `ReciprocalEstimate()` | -| `ReciprocalSqrtEstimate()` | `Sqrt()` | -| `Sin()` | `Sinh()` | -| `Sin()` | `Cos()` | -| `Sin()` | `Tan()` | -| `Sinh()` | `Sin()` | -| `Sinh()` | `Cosh()` | -| `Sinh()` | `Tanh()` | -| `Tan()` | `Tanh()` | -| `Tan()` | `Cos()` | -| `Tan()` | `Sin()` | -| `Tanh()` | `Tan()` | -| `Tanh()` | `Cosh()` | -| `Tanh()` | `Sinh()` | +| Original | Mutated | +| -------------------------- | -------------------------- | +| `Acos()` | `Acosh()` | +| `Acos()` | `Asin()` | +| `Acos()` | `Atan()` | +| `Acosh()` | `Acos()` | +| `Acosh()` | `Asinh()` | +| `Acosh()` | `Atanh()` | +| `Asin()` | `Asinh()` | +| `Asin()` | `Acos()` | +| `Asin()` | `Atan()` | +| `Asinh()` | `Asin()` | +| `Asinh()` | `Acosh()` | +| `Asinh()` | `Atanh()` | +| `Atan()` | `Atanh()` | +| `Atan()` | `Acos()` | +| `Atan()` | `Asin()` | +| `Atanh()` | `Atan()` | +| `Atanh()` | `Acosh()` | +| `Atanh()` | `Asinh()` | +| `BitDecrement()` | `BitIncrement()` | +| `BitIncrement()` | `BitDecrement()` | +| `Ceiling()` | `Floor()` | +| `Cos()` | `Cosh()` | +| `Cos()` | `Sin()` | +| `Cos()` | `Tan()` | +| `Cosh()` | `Cos()` | +| `Cosh()` | `Sinh()` | +| `Cosh()` | `Tanh()` | +| `Exp()` | `Log()` | +| `Floor()` | `Ceiling()` | +| `Log()` | `Exp()` | +| `Log()` | `Pow()` | +| `MaxMagnitude()` | `MinMagnitude()` | +| `MinMagnitude()` | `MaxMagnitude()` | +| `Pow()` | `Log()` | +| `ReciprocalEstimate()` | `ReciprocalSqrtEstimate()` | +| `ReciprocalSqrtEstimate()` | `ReciprocalEstimate()` | +| `ReciprocalSqrtEstimate()` | `Sqrt()` | +| `Sin()` | `Sinh()` | +| `Sin()` | `Cos()` | +| `Sin()` | `Tan()` | +| `Sinh()` | `Sin()` | +| `Sinh()` | `Cosh()` | +| `Sinh()` | `Tanh()` | +| `Tan()` | `Tanh()` | +| `Tan()` | `Cos()` | +| `Tan()` | `Sin()` | +| `Tanh()` | `Tan()` | +| `Tanh()` | `Cosh()` | +| `Tanh()` | `Sinh()` | [🔝 Back to Top](#) From aeb701f4977afcbf299fb6fe8b15e95d6524dc44 Mon Sep 17 00:00:00 2001 From: Richard Werkman Date: Fri, 23 Dec 2022 10:48:57 +0100 Subject: [PATCH 4/4] update mutators --- docs/supported-mutators.md | 110 ++++++++++++++++++++----------------- 1 file changed, 59 insertions(+), 51 deletions(-) diff --git a/docs/supported-mutators.md b/docs/supported-mutators.md index cb9c008e8..df1f74258 100644 --- a/docs/supported-mutators.md +++ b/docs/supported-mutators.md @@ -203,6 +203,14 @@ Due to differences in language syntax, method expressions are implemented differ | `Max()` | `Min()` | | `Sum()` | `Count()` | | `Count()` | `Sum()` | +| `MinBy()` | `MaxBy()` | +| `MaxBy()` | `MinBy()` | +| `SkipLast()` | `TakeLast()` | +| `TakeLast()` | `SkipLast()` | +| `Order()` | `OrderDescending()` | +| `OrderDescending()` | `Order()` | +| `UnionBy()` | `IntersectBy()` | +| `IntersectBy()` | `UnionBy()` | ### Stryker4s @@ -326,56 +334,56 @@ Strings and literals identified to a regex are mutated in the following way: > Currently only implemented for Stryker.NET. Future implementations for other languages can be implemented differently. -| Original | Mutated | -| -------------------------- | -------------------------- | -| `Acos()` | `Acosh()` | -| `Acos()` | `Asin()` | -| `Acos()` | `Atan()` | -| `Acosh()` | `Acos()` | -| `Acosh()` | `Asinh()` | -| `Acosh()` | `Atanh()` | -| `Asin()` | `Asinh()` | -| `Asin()` | `Acos()` | -| `Asin()` | `Atan()` | -| `Asinh()` | `Asin()` | -| `Asinh()` | `Acosh()` | -| `Asinh()` | `Atanh()` | -| `Atan()` | `Atanh()` | -| `Atan()` | `Acos()` | -| `Atan()` | `Asin()` | -| `Atanh()` | `Atan()` | -| `Atanh()` | `Acosh()` | -| `Atanh()` | `Asinh()` | -| `BitDecrement()` | `BitIncrement()` | -| `BitIncrement()` | `BitDecrement()` | -| `Ceiling()` | `Floor()` | -| `Cos()` | `Cosh()` | -| `Cos()` | `Sin()` | -| `Cos()` | `Tan()` | -| `Cosh()` | `Cos()` | -| `Cosh()` | `Sinh()` | -| `Cosh()` | `Tanh()` | -| `Exp()` | `Log()` | -| `Floor()` | `Ceiling()` | -| `Log()` | `Exp()` | -| `Log()` | `Pow()` | -| `MaxMagnitude()` | `MinMagnitude()` | -| `MinMagnitude()` | `MaxMagnitude()` | -| `Pow()` | `Log()` | -| `ReciprocalEstimate()` | `ReciprocalSqrtEstimate()` | -| `ReciprocalSqrtEstimate()` | `ReciprocalEstimate()` | -| `ReciprocalSqrtEstimate()` | `Sqrt()` | -| `Sin()` | `Sinh()` | -| `Sin()` | `Cos()` | -| `Sin()` | `Tan()` | -| `Sinh()` | `Sin()` | -| `Sinh()` | `Cosh()` | -| `Sinh()` | `Tanh()` | -| `Tan()` | `Tanh()` | -| `Tan()` | `Cos()` | -| `Tan()` | `Sin()` | -| `Tanh()` | `Tan()` | -| `Tanh()` | `Cosh()` | -| `Tanh()` | `Sinh()` | +| Original | Mutated | +| ------------------------------- | ------------------------------- | +| `Math.Acos()` | `Math.Acosh()` | +| `Math.Acos()` | `Math.Asin()` | +| `Math.Acos()` | `Math.Atan()` | +| `Math.Acosh()` | `Math.Acos()` | +| `Math.Acosh()` | `Math.Asinh()` | +| `Math.Acosh()` | `Math.Atanh()` | +| `Math.Asin()` | `Math.Asinh()` | +| `Math.Asin()` | `Math.Acos()` | +| `Math.Asin()` | `Math.Atan()` | +| `Math.Asinh()` | `Math.Asin()` | +| `Math.Asinh()` | `Math.Acosh()` | +| `Math.Asinh()` | `Math.Atanh()` | +| `Math.Atan()` | `Math.Atanh()` | +| `Math.Atan()` | `Math.Acos()` | +| `Math.Atan()` | `Math.Asin()` | +| `Math.Atanh()` | `Math.Atan()` | +| `Math.Atanh()` | `Math.Acosh()` | +| `Math.Atanh()` | `Math.Asinh()` | +| `Math.BitDecrement()` | `Math.BitIncrement()` | +| `Math.BitIncrement()` | `Math.BitDecrement()` | +| `Math.Ceiling()` | `Math.Floor()` | +| `Math.Cos()` | `Math.Cosh()` | +| `Math.Cos()` | `Math.Sin()` | +| `Math.Cos()` | `Math.Tan()` | +| `Math.Cosh()` | `Math.Cos()` | +| `Math.Cosh()` | `Math.Sinh()` | +| `Math.Cosh()` | `Math.Tanh()` | +| `Math.Exp()` | `Math.Log()` | +| `Math.Floor()` | `Math.Ceiling()` | +| `Math.Log()` | `Math.Exp()` | +| `Math.Log()` | `Math.Pow()` | +| `Math.MaxMagnitude()` | `Math.MinMagnitude()` | +| `Math.MinMagnitude()` | `Math.MaxMagnitude()` | +| `Math.Pow()` | `Math.Log()` | +| `Math.ReciprocalEstimate()` | `Math.ReciprocalSqrtEstimate()` | +| `Math.ReciprocalSqrtEstimate()` | `Math.ReciprocalEstimate()` | +| `Math.ReciprocalSqrtEstimate()` | `Math.Sqrt()` | +| `Math.Sin()` | `Math.Sinh()` | +| `Math.Sin()` | `Math.Cos()` | +| `Math.Sin()` | `Math.Tan()` | +| `Math.Sinh()` | `Math.Sin()` | +| `Math.Sinh()` | `Math.Cosh()` | +| `Math.Sinh()` | `Math.Tanh()` | +| `Math.Tan()` | `Math.Tanh()` | +| `Math.Tan()` | `Math.Cos()` | +| `Math.Tan()` | `Math.Sin()` | +| `Math.Tanh()` | `Math.Tan()` | +| `Math.Tanh()` | `Math.Cosh()` | +| `Math.Tanh()` | `Math.Sinh()` | [🔝 Back to Top](#)