mirror of
https://github.com/rmontanana/mdlp.git
synced 2025-08-15 23:45:57 +00:00
Update build method
This commit is contained in:
8
test_package/CMakeLists.txt
Normal file
8
test_package/CMakeLists.txt
Normal file
@@ -0,0 +1,8 @@
|
||||
cmake_minimum_required(VERSION 3.20)
|
||||
project(test_fimdlp)
|
||||
|
||||
find_package(fimdlp REQUIRED)
|
||||
|
||||
add_executable(test_fimdlp src/test_fimdlp.cpp)
|
||||
target_link_libraries(test_fimdlp fimdlp::fimdlp)
|
||||
target_compile_features(test_fimdlp PRIVATE cxx_std_17)
|
28
test_package/conanfile.py
Normal file
28
test_package/conanfile.py
Normal file
@@ -0,0 +1,28 @@
|
||||
import os
|
||||
from conan import ConanFile
|
||||
from conan.tools.cmake import CMake, cmake_layout
|
||||
from conan.tools.build import can_run
|
||||
|
||||
|
||||
class FimdlpTestConan(ConanFile):
|
||||
settings = "os", "compiler", "build_type", "arch"
|
||||
# VirtualBuildEnv and VirtualRunEnv can be avoided if "tools.env:CONAN_RUN_TESTS" is false
|
||||
generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv"
|
||||
apply_env = False # avoid the default VirtualBuildEnv from the base class
|
||||
test_type = "explicit"
|
||||
|
||||
def requirements(self):
|
||||
self.requires(self.tested_reference_str)
|
||||
|
||||
def layout(self):
|
||||
cmake_layout(self)
|
||||
|
||||
def build(self):
|
||||
cmake = CMake(self)
|
||||
cmake.configure()
|
||||
cmake.build()
|
||||
|
||||
def test(self):
|
||||
if can_run(self):
|
||||
cmd = os.path.join(self.cpp.build.bindir, "test_fimdlp")
|
||||
self.run(cmd, env="conanrun")
|
27
test_package/src/test_fimdlp.cpp
Normal file
27
test_package/src/test_fimdlp.cpp
Normal file
@@ -0,0 +1,27 @@
|
||||
#include <iostream>
|
||||
#include <vector>
|
||||
#include <fimdlp/CPPFImdlp.h>
|
||||
#include <fimdlp/Metrics.h>
|
||||
|
||||
int main() {
|
||||
std::cout << "Testing fimdlp library..." << std::endl;
|
||||
|
||||
// Simple test of the library
|
||||
try {
|
||||
// Test Metrics class
|
||||
Metrics metrics;
|
||||
std::vector<int> labels = {0, 0, 1, 1, 0, 1};
|
||||
double entropy = metrics.entropy(labels);
|
||||
std::cout << "Entropy calculated: " << entropy << std::endl;
|
||||
|
||||
// Test CPPFImdlp creation
|
||||
CPPFImdlp discretizer;
|
||||
std::cout << "CPPFImdlp instance created successfully" << std::endl;
|
||||
|
||||
std::cout << "fimdlp library test completed successfully!" << std::endl;
|
||||
return 0;
|
||||
} catch (const std::exception& e) {
|
||||
std::cerr << "Error testing fimdlp library: " << e.what() << std::endl;
|
||||
return 1;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user