vtk-m/vtkm/cont/testing/UnitTestTypeCheckCellSet.cxx
Kenneth Moreland ad1e7b5bdb Add module mechanism
This mechanism sets up CMake variables that allow a user to select which
modules/libraries to create. Dependencies will be tracked down to ensure
that all of a module's dependencies are also enabled.

The modules are also arranged into groups.
Groups allow you to set the enable flag for a group of modules at once.
Thus, if you have several modules that are likely to be used together,
you can create a group for them.

This can be handy in converting user-friendly CMake options (such as
`VTKm_ENABLE_RENDERING`) to the modules that enable that by pointing to
the appropriate group.
2022-10-26 12:51:05 -06:00

59 lines
1.8 KiB
C++

//============================================================================
// Copyright (c) Kitware, Inc.
// All rights reserved.
// See LICENSE.txt for details.
//
// This software is distributed WITHOUT ANY WARRANTY; without even
// the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
// PURPOSE. See the above copyright notice for more information.
//============================================================================
// This test does not really need a device compiler
#define VTKM_NO_ERROR_ON_MIXED_CUDA_CXX_TAG
#include <vtkm/cont/arg/TypeCheckTagCellSet.h>
#include <vtkm/cont/ArrayHandle.h>
#include <vtkm/cont/CellSetExplicit.h>
#include <vtkm/cont/CellSetStructured.h>
#include <vtkm/cont/testing/Testing.h>
namespace
{
struct TestNotCellSet
{
};
void TestCheckCellSet()
{
std::cout << "Checking reporting of type checking cell set." << std::endl;
using vtkm::cont::arg::TypeCheck;
using vtkm::cont::arg::TypeCheckTagCellSet;
VTKM_TEST_ASSERT((TypeCheck<TypeCheckTagCellSet, vtkm::cont::CellSetExplicit<>>::value),
"Type check failed.");
VTKM_TEST_ASSERT((TypeCheck<TypeCheckTagCellSet, vtkm::cont::CellSetStructured<2>>::value),
"Type check failed.");
VTKM_TEST_ASSERT((TypeCheck<TypeCheckTagCellSet, vtkm::cont::CellSetStructured<3>>::value),
"Type check failed.");
VTKM_TEST_ASSERT(!(TypeCheck<TypeCheckTagCellSet, TestNotCellSet>::value), "Type check failed.");
VTKM_TEST_ASSERT(!(TypeCheck<TypeCheckTagCellSet, vtkm::Id>::value), "Type check failed.");
VTKM_TEST_ASSERT(!(TypeCheck<TypeCheckTagCellSet, vtkm::cont::ArrayHandle<vtkm::Id>>::value),
"Type check failed.");
}
} // anonymous namespace
int UnitTestTypeCheckCellSet(int argc, char* argv[])
{
return vtkm::cont::testing::Testing::Run(TestCheckCellSet, argc, argv);
}