-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit b464027
Showing
91 changed files
with
1,093,224 additions
and
0 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
############################################################################### | ||
# Set default behavior to automatically normalize line endings. | ||
############################################################################### | ||
* text=auto | ||
|
||
*.sh text eol=lf | ||
|
||
############################################################################### | ||
# Set default behavior for command prompt diff. | ||
# | ||
# This is need for earlier builds of msysgit that does not have it on by | ||
# default for csharp files. | ||
# Note: This is only used by command line | ||
############################################################################### | ||
#*.cs diff=csharp | ||
|
||
############################################################################### | ||
# Set the merge driver for project and solution files | ||
# | ||
# Merging from the command prompt will add diff markers to the files if there | ||
# are conflicts (Merging from VS is not affected by the settings below, in VS | ||
# the diff markers are never inserted). Diff markers may cause the following | ||
# file extensions to fail to load in VS. An alternative would be to treat | ||
# these files as binary and thus will always conflict and require user | ||
# intervention with every merge. To do so, just uncomment the entries below | ||
############################################################################### | ||
#*.sln merge=binary | ||
#*.csproj merge=binary | ||
#*.vbproj merge=binary | ||
#*.vcxproj merge=binary | ||
#*.vcproj merge=binary | ||
#*.dbproj merge=binary | ||
#*.fsproj merge=binary | ||
#*.lsproj merge=binary | ||
#*.wixproj merge=binary | ||
#*.modelproj merge=binary | ||
#*.sqlproj merge=binary | ||
#*.wwaproj merge=binary | ||
|
||
############################################################################### | ||
# behavior for image files | ||
# | ||
# image files are treated as binary by default. | ||
############################################################################### | ||
#*.jpg binary | ||
#*.png binary | ||
#*.gif binary | ||
|
||
############################################################################### | ||
# diff behavior for common document formats | ||
# | ||
# Convert binary document formats to text before diffing them. This feature | ||
# is only available from the command line. Turn it on by uncommenting the | ||
# entries below. | ||
############################################################################### | ||
#*.doc diff=astextplain | ||
#*.DOC diff=astextplain | ||
#*.docx diff=astextplain | ||
#*.DOCX diff=astextplain | ||
#*.dot diff=astextplain | ||
#*.DOT diff=astextplain | ||
#*.pdf diff=astextplain | ||
#*.PDF diff=astextplain | ||
#*.rtf diff=astextplain | ||
#*.RTF diff=astextplain |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,103 @@ | ||
name: 🐞 Bug Report | ||
description: Create a report to help us improve | ||
labels: ["bug", "triage"] | ||
body: | ||
- type: markdown | ||
attributes: | ||
value: | | ||
We welcome bug reports! Please see our [contribution guidelines](https://github.com/fluentassertions/fluentassertions/blob/develop/CONTRIBUTING.md#writing-a-good-bug-report) for more information on writing a good bug report. | ||
**Before continuing, have you:** | ||
* Tried upgrading to newest version of Fluent Assertions, to see if your issue has already been resolved and released? | ||
* Checked existing open *and* closed [issues](https://github.com/fluentassertions/fluentassertions/issues?utf8=%E2%9C%93&q=is%3Aissue), to see if the issue has already been reported? | ||
* Tried reproducing your problem in a new isolated project? | ||
* Read the [documentation](https://fluentassertions.com/introduction)? | ||
* Searched the two [test](https://github.com/fluentassertions/fluentassertions/tree/develop/Tests/FluentAssertions.Specs) [suites](https://github.com/fluentassertions/fluentassertions/tree/develop/Tests/FluentAssertions.Equivalency.Specs) if there is a test documenting the expected behavior? | ||
* Considered if this is a general question and not a bug? For general questions please use [Stack Overflow](https://stackoverflow.com/questions/tagged/fluent-assertions?mixed=1). | ||
- type: textarea | ||
id: background | ||
attributes: | ||
label: Description | ||
description: Please share a clear and concise description of the problem. | ||
placeholder: Description | ||
validations: | ||
required: true | ||
- type: textarea | ||
id: repro-steps | ||
attributes: | ||
label: Reproduction Steps | ||
description: | | ||
Please include minimal steps to reproduce the problem if possible. E.g.: the smallest possible code snippet; or a small project, with steps to run it. | ||
Always include text as text rather than screenshots so code can easily be copied and will show up in searches. | ||
Stack Overflow has a great article about [how to create a minimal, reproducible example](https://stackoverflow.com/help/minimal-reproducible-example). | ||
placeholder: Minimal Reproduction | ||
value: | | ||
```csharp | ||
// Arrange | ||
string input = "MyString"; | ||
// Act | ||
char result = input[0]; | ||
// Assert | ||
result.Should().Be('M'); | ||
``` | ||
validations: | ||
required: true | ||
- type: textarea | ||
id: expected-behavior | ||
attributes: | ||
label: Expected behavior | ||
description: | | ||
Provide a description of the expected behavior. | ||
placeholder: Expected behavior | ||
validations: | ||
required: true | ||
- type: textarea | ||
id: actual-behavior | ||
attributes: | ||
label: Actual behavior | ||
description: | | ||
Provide a description of the actual behavior observed. If applicable please include any error messages or exception stacktraces. | ||
placeholder: Actual behavior | ||
validations: | ||
required: true | ||
- type: textarea | ||
id: regression | ||
attributes: | ||
label: Regression? | ||
description: | | ||
Did this work in a previous release of Fluent Assertions? If you can try a previous release to find out, that can help us narrow down the problem. If you don't know, that's OK. | ||
placeholder: Regression? | ||
validations: | ||
required: false | ||
- type: textarea | ||
id: known-workarounds | ||
attributes: | ||
label: Known Workarounds | ||
description: | | ||
Please provide a description of any known workarounds. | ||
placeholder: Known Workarounds | ||
validations: | ||
required: false | ||
- type: textarea | ||
id: configuration | ||
attributes: | ||
label: Configuration | ||
description: | | ||
Please provide more information on your .NET configuration: | ||
* Which version of Fluent Assertions are you using? | ||
* Which .NET runtime and version are you targeting? E.g. .NET framework 4.6.1 or .NET Core 2.1. | ||
placeholder: Configuration | ||
validations: | ||
required: false | ||
- type: textarea | ||
id: other-info | ||
attributes: | ||
label: Other information | ||
description: | | ||
If you have an idea where the problem might lie, let us know that here. Please include any pointers to code, relevant changes, or related issues you know of. | ||
placeholder: Other information | ||
validations: | ||
required: false |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,69 @@ | ||
name: 💡 API Suggestion | ||
description: Propose a change to the public API surface | ||
title: "[API Proposal]: " | ||
labels: [api-suggestion] | ||
body: | ||
- type: markdown | ||
attributes: | ||
value: | | ||
We welcome API proposals! We have a process to evaluate the value and shape of new API. There is an overview of our process [here](https://github.com/fluentassertions/fluentassertions/blob/develop/CONTRIBUTING.md#contributing-changes). This template will help us gather the information we need to start the review process. | ||
- type: textarea | ||
id: background | ||
attributes: | ||
label: Background and motivation | ||
description: Please describe the purpose and value of the new API here. | ||
placeholder: Purpose | ||
validations: | ||
required: true | ||
- type: textarea | ||
id: api-proposal | ||
attributes: | ||
label: API Proposal | ||
description: | | ||
Please provide the specific public API signature diff that you are proposing. | ||
placeholder: API declaration (no method bodies) | ||
value: | | ||
```C# | ||
public class EnumAssertions<TEnum, TAssertions> | ||
{ | ||
public AndConstraint<TAssertions> BeDefined(string because = "", params object[] becauseArgs); | ||
public AndConstraint<TAssertions> NotBeDefined(string because = "", params object[] becauseArgs); | ||
} | ||
``` | ||
validations: | ||
required: true | ||
- type: textarea | ||
id: api-usage | ||
attributes: | ||
label: API Usage | ||
description: | | ||
Please provide code examples that highlight how the proposed API additions are meant to be consumed. This will help suggest whether the API has the right shape to be functional, performant and usable. | ||
placeholder: API usage | ||
value: | | ||
```C# | ||
var dayOfWeek = (DayOfWeek)1; | ||
dayOfWeek.Should().BeDefined(); | ||
var invalidDayOfWeek = (DayOfWeek)999; | ||
invalidDayOfWeek.Should().NotBeDefined(); | ||
``` | ||
validations: | ||
required: true | ||
- type: textarea | ||
id: alternative-designs | ||
attributes: | ||
label: Alternative Designs | ||
description: | | ||
Please provide alternative designs. This might not be APIs; for example instead of providing new APIs an option might be to change the behavior of an existing API. | ||
placeholder: Alternative designs | ||
validations: | ||
required: false | ||
- type: textarea | ||
id: risks | ||
attributes: | ||
label: Risks | ||
description: | | ||
Please mention any risks that to your knowledge the API proposal might entail, such as breaking changes, performance regressions, etc. If you are proposing a new overload of `Should()` include what type it currently resolves to for the type in question. | ||
placeholder: Risks | ||
validations: | ||
required: false |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
name: 💡 General feature (not including API proposals) | ||
description: Discuss a new feature that does not change the public API surface | ||
title: "[Feature]: " | ||
labels: [feature, triage] | ||
body: | ||
- type: markdown | ||
attributes: | ||
value: | | ||
You have an idea for a new feature? Cool, let's discuss it. | ||
- type: textarea | ||
id: background | ||
attributes: | ||
label: Background and motivation | ||
description: Please describe the purpose of the new feature. | ||
placeholder: Purpose | ||
validations: | ||
required: true | ||
- type: textarea | ||
id: alternative-concerns | ||
attributes: | ||
label: Alternative Concerns | ||
description: | | ||
Please provide alternatives you have thought about. | ||
placeholder: Alternative designs | ||
validations: | ||
required: false |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
blank_issues_enabled: true | ||
contact_links: | ||
- name: 📚 Documentation | ||
url: https://fluentassertions.com/introduction/ | ||
about: Read our comprehensive documentation. | ||
- name: ⭐ Sponsor Fluent Assertions | ||
url: https://github.com/sponsors/fluentassertions | ||
about: Help the continued development. | ||
- name: 💬 Ask on Stack Overflow | ||
url: https://stackoverflow.com/questions/tagged/fluent-assertions | ||
about: The best place for asking general purpose questions. | ||
- name: 💬 Ask on Slack | ||
url: https://fluentassertionsslack.herokuapp.com/ | ||
about: Get in touch with the whole community. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
<!-- Please provide a description of your changes above the IMPORTANT checklist --> | ||
|
||
|
||
## IMPORTANT | ||
|
||
* [ ] If the PR touches the public API, the changes have been approved in a separate issue with the "api-approved" label. | ||
* [ ] The code complies with the [Coding Guidelines for C#](https://www.csharpcodingguidelines.com/). | ||
* [ ] The changes are covered by unit tests which follow the Arrange-Act-Assert syntax and the naming conventions such as is used [in these tests](../tree/develop/Tests/FluentAssertions.Equivalency.Specs/MemberMatchingSpecs.cs#L51-L430). | ||
* [ ] If the PR changes the public API the changes needs to be included by running [AcceptApiChanges.ps1](../tree/develop/AcceptApiChanges.ps1) or [AcceptApiChanges.sh](../tree/develop/AcceptApiChanges.sh). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
changelog: | ||
exclude: | ||
labels: | ||
- changelog-ignore | ||
authors: [ ] | ||
categories: | ||
- title: Breaking Changes | ||
labels: | ||
- "breaking change" | ||
- title: New features | ||
labels: | ||
- "feature" | ||
- title: Improvements | ||
labels: | ||
- "enhancement" | ||
- "performance" | ||
- title: Fixes | ||
labels: | ||
- "bug" | ||
- "regression" | ||
- title: Fixes (extensibility) | ||
labels: | ||
- "extensibility" | ||
- title: Documentation | ||
labels: | ||
- "documentation" | ||
- title: Others | ||
labels: | ||
- "*" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,72 @@ | ||
name: build | ||
|
||
on: [push, pull_request] | ||
|
||
jobs: | ||
build: | ||
|
||
runs-on: windows-latest | ||
|
||
env: | ||
DOTNET_NOLOGO: true | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
with: | ||
fetch-depth: 0 | ||
|
||
- name: Setup .NET SDKs | ||
uses: actions/setup-dotnet@v3 | ||
with: | ||
dotnet-version: | | ||
2.1.x | ||
3.1.x | ||
6.0.x | ||
7.0.x | ||
- name: Run NUKE | ||
run: ./build.ps1 | ||
env: | ||
NuGetApiKey: ${{ secrets.NUGETAPIKEY }} | ||
|
||
- name: Check for 'lcov.info' existence | ||
id: check_files | ||
uses: andstor/file-existence-action@v2 | ||
with: | ||
files: "TestResults/reports/lcov.info" | ||
|
||
- name: coveralls | ||
uses: coverallsapp/github-action@v2 | ||
if: steps.check_files.outputs.files_exists == 'true' | ||
with: | ||
github-token: ${{ secrets.GITHUB_TOKEN }} | ||
file: TestResults/reports/lcov.info | ||
|
||
- name: Upload artifacts | ||
uses: actions/upload-artifact@v3 | ||
with: | ||
path: ./Artifacts/* | ||
only-unit-tests: | ||
|
||
strategy: | ||
matrix: | ||
os: [ubuntu-22.04, macos-12] | ||
|
||
runs-on: ${{ matrix.os }} | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
with: | ||
fetch-depth: 0 | ||
|
||
- name: Setup .NET SDKs | ||
uses: actions/setup-dotnet@v3 | ||
with: | ||
dotnet-version: | | ||
2.1.x | ||
3.1.x | ||
6.0.x | ||
7.0.x | ||
- name: Run NUKE | ||
run: ./build.sh UnitTests |
Oops, something went wrong.