問題タブ [fluent-assertions]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
958 参照

.net - リスト自体ではなくリストの内容を比較するFluentAssertions

たくさんのプロパティを持つ2つのオブジェクト(同じクラスのインスタンス)があり、そのうちのいくつかは他のオブジェクトのリストです。

FluentAssertionsライブラリを使用してこれらを比較し、同じプロパティがあることを確認したいので、追加します

しかし、その後、エラーが発生します

プロパティcsの値が<C、C、C>であると予想されましたが、<C、C、C>が見つかりました

言い換えると、リストであるプロパティを比較すると、参照が等しくなりますが、この場合は明らかに失敗します。

FluentAssertionsに、リスト自体ではなく、リスト内の要素のプロパティが等しいことを表明するように指示するにはどうすればよいですか?

0 投票する
1 に答える
3225 参照

c# - Null を含むコレクションの FluentAssertions Should.Equal

2 つのコレクションを null で比較しようとすると、FluentAssertions が NullReferece 例外で失敗するようです

null のないコレクションでは、比較は期待どおりに機能します。

0 投票する
2 に答える
5870 参照

c# - 流暢なアサーションを使用してコレクションとプロパティのアサーションを組み合わせる方法は?

Fluent Assertion のコレクション アサーションとプロパティ アサーションを「結合」したいと考えています。たとえば、プロパティIEnumerableごとの (おそらく「ネストされた」) 比較 (つまり、関数型言語の用語での構造的等価性) を使用して、2 つの がペアごとに等しいことをアサートします。

具体例:

ここでは、a を s のanにToSelectListItems変換する拡張メソッドを作成しました(ASP.NET MVC から)。とが「構造的に」等しいと主張したいのですが、参照型は s をオーバーライドしないため、デフォルトで参照の等価性を使用することに注意してください。DictionaryIEnumerableSelectListItemactualexpectedSelectListItemEqual

アップデート

現在、次の手動ソリューションを使用していますが、FluentAssertions に組み込まれたより良いものを望んでいます。

(注:これはデフォルトの投影として使用するZip私自身の拡張です)IEnumerableTuple.Create

更新 2

以下に 2 つの最小限の例を示します。

0 投票する
1 に答える
341 参照

c# - 一部の小道具の形式が異なるオブジェクトを比較する

DateTime2つのオブジェクトのすべてのプロパティを比較する最良の方法はDateTime.ToString()?

私は2つのアサーションを使用してそれを行うことができました:

私は次のことを考えますが、EqualTo<T>()無効であるためコンパイルされません。

タイプは次のとおりです。

0 投票する
4 に答える
1590 参照

c# - FluentAssertion で列挙可能な文字列を比較できない

このコードは正常に動作します

しかし、これは失敗します

失敗メッセージは次のとおりです。

'コレクションは {1} と等しいと予想されますが、{"1", "2", "3"} には 2 つの項目が含まれているため、多すぎます。

ここで何が問題なのですか?文字列の列挙可能を比較できなかったのはなぜですか?

そして、当然のことながら、私の質問は - foo() でケースを処理する方法は?

0 投票する
1 に答える
258 参照

fluent-assertions - System.Xml参照が欠落しているFluentAssertionsの最新のnugetパッケージ

1.7のFluentAssertionsnugetパッケージには、System.XmlおよびSystem.Xml.Linqの参照がないようです。

他の誰かがこの問題を経験していますか?

0 投票する
4 に答える
609 参照

c# - 拡張メソッドのオーバーロードの選択

私は2つの拡張方法を持っています:

今、私はそれを使用するいくつかのコードを書きます:

IEnumerable 型を明示的に指定した場合にのみ、2 番目のオーバーロードが選択されます。両方のケースで 2 番目のオーバーロードを選択する方法はありますか?

0 投票する
4 に答える
9393 参照

c# - FluentアサーションはIEnumerableに文字列に依存しない比較を使用できますか

FluentAssertionsを使用して比較しようとしているリストのペアがあります。比較を簡単にコーディングできますが、Fluent Assertionsを使用して、テスト失敗メッセージに表示される理由を取得したいと思います。

これまでに見たものはすべて、大文字と小文字を区別するデフォルトのObject.Equals比較を使用しているようです。IComparerをEqualまたはContainsメソッドに渡すことができないようですが、他の方法はありますか?

0 投票する
1 に答える
572 参照

c# - これは、FluentAssertions を使用して null 許容型とその基になる型を比較す​​るときのバグですか?

ユーティリティ ライブラリの単体テストをいくつか書いていたときに、失敗すると予想されていたテストが実際には合格したことに気づきました。この問題は、1 つの変数と 1 つの変数を比較するのではなく、2 つのfloat変数を比較することに関連しています。float?float

私は NUnit (2.6.0.12051) と FluentAssertions (1.7.1) の両方の最新バージョンを使用しています。以下は、問題を示す小さなコードを抜粋したものです。

私のコメントからわかるように、ABTestFloatEquality()の両方で正しく失敗します (最初に失敗したテストをコメントアウトして、2 つ目のテストに進みます)。

TestNullableFloatEquality()ただし、Dはパスしますが、Cは失敗します。ここでもCが失敗すると予想していました。NUnit を使用してアサーションを追加すると、次のようになります。

それらは期待どおりに成功し、失敗します。

それで、質問に対して:これはFluentAssertionsのバグですか、それともnull許容比較に関して何か不足していますか?