プログラミングとテスティングにおけるアンチパターン?

最近聞いて憤慨した話

次のようなコードについてユニットテストを書いたら、
「それではホワイトボックステストになっていないじゃないか」、と
お叱りをうけた方がいらっしゃいました。

void proc_b() {
  // 何かの処理。副作用はない
}

int proc_a(int x) {
  int cond_a = 0;
  int ret = 0;
  // 何かの処理(ret に何かが入る)
  cond_a = x == 0 ? 1 : 0;
  if (cond_a) {
    proc_b();
  }
  return ret;
}

int test_proc_a_when_x_is_0() {
  assert(n, proc_a(0));
}

int test_proc_a_when_x_is_1() {
  assert(n, proc_a(1));
}

int test_proc_a_when_x_is_2() {
  assert(n, proc_a(2));
}

とりあえず、proc_b にはなんの副作用も無いようです。
とにかく proc_a を実行した結果として proc_b
呼ばれたことを確認できないのであれば、それはホワイトボックステストではない、という主張のようです。
おかしいを通りこして面白い考えだなぁとか思ったりしました。