// SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen // SPDX-License-Identifier: BSD-3-Clause #include "vtkMultiNewickTreeReader.h" #include "vtkMultiPieceDataSet.h" #include "vtkSmartPointer.h" #include "vtkTestUtilities.h" #include "vtkTree.h" #include int TestMultiNewickTreeReader(int argc, char* argv[]) { char* file = vtkTestUtilities::ExpandDataFileName(argc, argv, "Data/Infovis/multi_tree.tre"); std::cerr << "file: " << file << std::endl; vtkSmartPointer reader = vtkSmartPointer::New(); reader->SetFileName(file); delete[] file; reader->Update(); vtkMultiPieceDataSet* forest = reader->GetOutput(); unsigned int numOfTrees = forest->GetNumberOfPieces(); int error_count = 0; if (numOfTrees != 3) { ++error_count; } for (unsigned int i = 0; i < numOfTrees; i++) { vtkTree* tr = vtkTree::SafeDownCast(forest->GetPieceAsDataObject(i)); if (!tr) { ++error_count; } } std::cerr << error_count << " errors" << std::endl; return error_count; }