Skip to content

Conversation

@KATO-Hiro
Copy link
Contributor

@KATO-Hiro KATO-Hiro commented Sep 20, 2020

WHAT

  • FenwickTreeに関するテストを追加しました。各メソッドの挙動について、テストしている項目を列挙します。

addメソッドを実行する前の初期状態に関するテスト

該当メソッド: test_initial_status()

  • データを保持するリストの値は、全て0
  • 任意の区間を指定したときの和は、いずれも0

addメソッドを実行したときのテスト

該当メソッド: test_add_xxxx()
xxxxは、テストのバリエーションを表す

  • addメソッドを1回実行
    • 任意の位置pに対して、正の整数を追加
    • 任意の位置pに対して、正の小数を追加
    • 任意の位置pに対して、負の小数を追加
  • addメソッドを複数回実行
    • 任意の位置pに対して、正の整数を追加
    • 正の整数を複数回追加した後で、任意の位置pに対して0を追加(操作の前後で、結果が変わらないことを示すため)
    • 正の整数を複数回追加した後で、任意の位置pに対して負の整数を追加

sumメソッドを実行したときのテスト

該当メソッド: test_sum_xxxx()
xxxxは、テストのバリエーションを表す

  • addメソッドを複数回実行した後で、sumメソッドを1回実行
  • 上記のパターンに加え、追加でaddメソッドを実行してから、sumメソッドを実行

範囲外のindexを指定したときのテスト

該当メソッド: test_xxxx_failed_if_invalid_input_is_given()
xxxxは、テストするメソッド名を表す

  • addに関しては、要素の位置pについて範囲外(下限もしくは上限を超える場合)のindexを与えました

  • sumに関しては、左右の区間について範囲外のindexを与えました

    • 片方のみ範囲外(下限もしくは上限を超える場合)となるindexを指定
    • 両方が範囲外となるindexを指定
    • 左側のindexが右側のindexよりも大きくなる場合

Questions

  • protectedメソッドである_sum()メソッドのテストについて、どのようにお考えでしょうか?
    • publicメソッドと同様にテストする必要がある
    • sum()メソッドで間接的にテストしているため不要

@KATO-Hiro
Copy link
Contributor Author

WHAT

型チェックを追加いたしました。
レビューをお願いしてもよろしいでしょうか?

@not522
Copy link
Owner

not522 commented Oct 18, 2020

遅くなってすいません。良さそうなのでマージします。

@not522 not522 merged commit 7e8346c into not522:master Oct 18, 2020
@KATO-Hiro
Copy link
Contributor Author

ご多用のなか、レビューおよびマージしていただきありがとうございます。

@KATO-Hiro KATO-Hiro deleted the features/test_FenwickTree branch October 18, 2020 05:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants