次のように、QTableWidgetItem::column() の値に if ステートメントを含むいくつかの C++ Qt コードを単体テストしようとしています。
void on_resultsTable_currentItemChanged(QTableWidgetItem* currentItem, QTableWidgetItem* previousItem)
{
if (currentItem != nullptr)
{
int column = currentItem->column();
if (column == 0)
{
// Column0SpecificBehavior();
}
}
}
column() == 0 および column() != 0 のテスト ケースでこの関数をテストするには、2 つの QTableWidgetItem インスタンスを作成する必要があります。1 つは column() 0 で、もう 1 つは column() 1 です。
QTableWidgetItem::column() がデフォルトの-1ではなく0を返すようにするための可能な方法として、これを試しました:
QTableWidget table;
table.insertRow(0);
QTableWidgetItem currentItem("Row0Column0");
table.setItem(0, 0, ¤tItem);
しかし、上記のコードでは、currentItem の column() は依然として -1 を返します。
QTableWidgetItem::column() の戻り値を設定する方法に関するアイデアはありますか?