※この翻訳ドキュメントはスクリプトによって出力・同期されています。内容が怪しそうな場合はGitHubにissueを追加したり英語の原文の確認をお願いします。

assert_dicts_equal と assert_dicts_not_equal インターフェイス

このページではassert_dicts_equalassert_dicts_not_equalの各関数のインターフェイスについて説明します。

各インターフェイスの概要

assert_dicts_equal関数のインターフェイスは指定された2つの辞書(Dictionary型など)の値が一致しているかをチェックします。逆にassert_dicts_not_equal関数のインターフェイスは指定された2つの辞書の値が一致していないことをチェックします。

関連資料

基本的な使い方

assert_dicts_equalassert_dicts_not_equalの各インターフェイスはleftright引数を必要とします。msg引数は省略可です。

各インターフェイスにはPythonビルトインのdictやapyscのDictionaryの値を引数として指定することができます。

以下の例ではassert_dicts_equal関数を使って値が同じ辞書に対してチェックを行っています(チェックは通ります)。

import apysc as ap

stage: ap.Stage = ap.Stage(
    stage_width=0,
    stage_height=0,
    background_color=ap.Color("#333"),
    stage_elem_id="stage",
)

dict_val: ap.Dictionary = ap.Dictionary({"a": 10, "b": 20})
ap.assert_dicts_equal(
    left={"a": 10, "b": 20}, right=dict_val, msg="Values are not equal!"
)

ap.save_overall_html(dest_dir_path="assert_dicts_equal_basic_usage_1/")
[assert_dicts_equal]
Left value: {a: 10, b: 20} right value: dct_1

以下の例ではassert_dicts_equal関数を使って値が一致していない辞書に対してチェックを行っています(チェックは失敗します)。

import apysc as ap

stage: ap.Stage = ap.Stage(
    stage_width=0,
    stage_height=0,
    background_color=ap.Color("#333"),
    stage_elem_id="stage",
)

dict_val: ap.Dictionary = ap.Dictionary({"a": 10, "b": 20})
ap.assert_dicts_equal(left={"a": 30}, right=dict_val, msg="Values are not equal!")

ap.save_overall_html(dest_dir_path="assert_dicts_equal_basic_usage_2/")
[assert_dicts_equal]
Left value: {a: 30} right value: dct_1
...
Assertion failed: Values are not equal!

以下の例ではassert_dicts_not_equal関数を使って値が一致していない辞書に対してチェックを行っています(チェックは通ります)。

import apysc as ap

stage: ap.Stage = ap.Stage(
    stage_width=0,
    stage_height=0,
    background_color=ap.Color("#333"),
    stage_elem_id="stage",
)

dict_val: ap.Dictionary = ap.Dictionary({"a": 10, "b": 20})
ap.assert_dicts_not_equal(left={"a": 30}, right=dict_val, msg="Values are equal!")

ap.save_overall_html(dest_dir_path="assert_dicts_not_equal_basic_usage_1/")
[assert_dicts_not_equal]
Left value: {a: 30} right value: dct_1

assert_equal と assert_not_equal の各インターフェイスにおける特記事項

もしassert_equalもしくはassert_not_equalのインターフェイスの引数へDictionaryの値が指定された場合、自動的にassert_dicts_equalもしくはassert_dicts_not_equalのインターフェイスがそれらのインターフェイスの代わりに呼ばれます。

import apysc as ap

stage: ap.Stage = ap.Stage(
    stage_width=0,
    stage_height=0,
    background_color=ap.Color("#333"),
    stage_elem_id="stage",
)

dict_val: ap.Dictionary = ap.Dictionary({"a": 30})
ap.assert_equal(left={"a": 30}, right=dict_val, msg="Values are not equal!")

ap.save_overall_html(dest_dir_path="assert_dicts_equal_notes_for_assert_equal/")
[assert_dicts_equal]
Left value: {a: 30} right value: dct_1

assert_dicts_equal API

特記事項: このAPIドキュメントはドキュメントビルド用のスクリプトによって自動で生成・同期されています。そのためもしかしたらこの節の内容は前節までの内容と重複している場合があります。

[インターフェイスの構造] assert_dicts_equal(left: Any, right: Any, *, msg: str = '', outer_frames_index_adjustment: int = 0) -> None


[インターフェイス概要]

辞書の値の等値条件のためのJavaScript上のアサーションのインターフェイスです。


[引数]

  • left: *

    • 比較用の左辺の値。

  • right: *

    • 比較用の右辺の値。

  • msg: str, optional

    • チェックに失敗した際に表示するメッセージ。

  • outer_frames_index_adjustment: int, optional

    • trace関数の関数外の参照するフレームのインデックスの調整値です。この引数は呼び出し元の情報の位置を調整するのに使用されます。また、この引数は内部のロジックでのみ使用されるため通常は設定する必要はありません。


[特記事項]

このインターフェイスはassert_equal関数でのDictionaryのクラスの値の比較時には代わりに使用されます(JavaScriptではPythonと異なり辞書の値を直接比較できないため)。


[コードサンプル]

>>> import apysc as ap
>>> dict_1: ap.Dictionary = ap.Dictionary({"a": 10})
>>> dict_2: ap.Dictionary = ap.Dictionary({"a": 10})
>>> ap.assert_dicts_equal(dict_1, dict_2)

assert_dicts_not_equal API

特記事項: このAPIドキュメントはドキュメントビルド用のスクリプトによって自動で生成・同期されています。そのためもしかしたらこの節の内容は前節までの内容と重複している場合があります。

[インターフェイスの構造] assert_dicts_not_equal(left: Any, right: Any, *, msg: str = '', outer_frames_index_adjustment: int = 0) -> None


[インターフェイス概要]

辞書の値の非等値条件のためのJavaScript上のアサーションのインターフェイスです。


[引数]

  • left: *

    • 比較用の左辺の値。

  • right: *

    • 比較用の右辺の値。

  • msg: str, optional

    • チェックに失敗した際に表示するメッセージ。

  • outer_frames_index_adjustment: int, optional

    • trace関数の関数外の参照するフレームのインデックスの調整値です。この引数は呼び出し元の情報の位置を調整するのに使用されます。また、この引数は内部のロジックでのみ使用されるため通常は設定する必要はありません。


[特記事項]

このインターフェイスはassert_not_equal関数でのDictionaryクラスの値の比較時には代わりに使用されます(JavaScriptではPythonと異なり辞書の値を直接比較できないため)。


[コードサンプル]

>>> import apysc as ap
>>> dict_1: ap.Dictionary = ap.Dictionary({"a": 10})
>>> dict_2: ap.Dictionary = ap.Dictionary({"a": 20})
>>> ap.assert_dicts_not_equal(dict_1, dict_2)