AtCoderNoviSteps icon indicating copy to clipboard operation
AtCoderNoviSteps copied to clipboard

問題集: 問題の追加するときに、任意の場所を選べるようにしましょう

Open KATO-Hiro opened this issue 1 year ago • 1 comments

Description / 説明

  • A clear and concise description of what you want to happen.

Motivation / 動機

  • 問題集を更新したい
    • 動的なリストに対する並び替えがうまくできていない
    • 実現したい機能を言い換えることで、実装難易度が下がる可能性がある
    • 並び替え => 削除 + 任意の場所に追加で擬似的に実現できる可能性がある

Other notes / その他

  • Add any other context or screenshots about the feature request here.
  • Will you try to create a pull request?
    • yes / no

KATO-Hiro avatar Aug 17 '24 04:08 KATO-Hiro

TODO

  • [x] 影響範囲を特定
  • [x] 機能を追加する前に、リファクタリング(型の修正、元のデータを引数として与えられるように)
  • [x] インデックスをハードコーディングして、その場所に新しい問題を追加できるようにする
  • [x] 範囲外のインデックスが与えられたのハンドリング
  • [x] UIからインデックスを指定できるようにする
  • [x] 外部関数として切り出し
  • [x] 単体テストで想定されるパターンを網羅的にカバーする

KATO-Hiro avatar Aug 21 '24 08:08 KATO-Hiro

テストケース

  • [x] 空のリストに対して一つ追加
  • [x] 既にあるリストに対して一つ追加
    • [ ] 先頭
    • [ ] 末尾
    • [ ] 途中のどこか
  • [x] 既にあるリストに2つ追加
    • [ ] 先頭に2つ
    • [ ] 途中で異なる位置に
    • [ ] 途中で同じ位置に
    • [ ] 末尾に2つ
  • [x] 既にあるリストに3つ追加
    • [x] 先頭
    • [x] 末尾
    • [x] 途中の異なる位置
    • [x] 途中の同じ位置
  • [ ] 削除を含むケース
    • [ ] TODO: write here
  • [ ] コーナーケースへの対処
    • [ ] undefinedやnullへの対応
    • [x] 負のインデックス(フォームからは入らないはずだが、念のため)
    • [x] 元のサイズよりも明らかに大きなインデックスを指定
  • [ ]

KATO-Hiro avatar Aug 22 '24 13:08 KATO-Hiro