Comments (5)
I like the proposal of having scoped formatters 👍
As the signature is Formatter.ToString(object value, FormattingOptions options = null)
placing the scoped formatters on FormattingOptions
might be a good place?
When retrieving all formatters in Formatter.Format
it will then search in scoped custom formatters, static custom formatters and lastly static default formatters.
Perhaps we should also move the current Formatter.CustomFormatters
to FormattingOptions
?
This should be doable without introducing any breaking changes, by forwarding the existing AddFormatter
and RemoveFormatter
.
The statically set custom formatters will then be set on the static AssertionOptions.FormattingOptions
and the scoped ones will be set on AssertionScope.FormattingOptions
.
To set a scoped formatter you'll only have to do
using var scope = new AssertionScope();
scope.FormattingOptions.AddFormatter(new MyCustomFormatter());
from fluentassertions.
That sounds like a great idea. Let's go for that.
from fluentassertions.
Maybe scope.UsingFormatter(new MyCustomFormatter())
is nicer?
from fluentassertions.
It is also an option, this way collection of formatters could be internal.
from fluentassertions.
I'm fine with that. What about you @jnyrup ?
from fluentassertions.
Related Issues (20)
- Add string-options for ignoring newline differences HOT 9
- ContainSingle(string) is confusing HOT 2
- Allow `Should().Satisfy()` on objects and not only collections HOT 20
- Update release notes for BeEmpty improvements
- Add `BeJsonSerializable` extensions for objects HOT 1
- Add `BeValidJson` extensions for strings HOT 3
- Add assertions on `JsonElement` HOT 3
- Incorrect line breaks handling with custom string comparer HOT 2
- ComparingEnumsByName() seems not to work as expected HOT 2
- Excluding and Including options should fail when applied on types with value semantics HOT 6
- Compare memberless records by value, others by members HOT 11
- Add support for asserting NaN values HOT 10
- Library is not compatible with .NET MAUI 8.0.6 HOT 4
- Add feature to check if an XElement or XAttribute is absent within the XDocument HOT 24
- Null reference exception when using custom comparer in equivalency options HOT 7
- [Feature]: Multi dimension arrays assertions HOT 10
- WithInnerException<T>() needs the type as a parameter HOT 2
- `Should().BeEquivalentTo` failing for identical objects HOT 3
- FluetntAssertion doesn't work correctly for records HOT 8
- Equivalency assertion option Excluding outputs "value(...<>c__DisplayClass).variableName" in some instances HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fluentassertions.