// Simple boost test program to validate cx_boost_* macro functionality
// This ensures that the detected boost libraries actually work

#include <iostream>
#include <boost/version.hpp>
#include <boost/filesystem.hpp>
#include <boost/system/error_code.hpp>

int main() {
    std::cout << "=== Boost Functionality Test ===" << std::endl;
    
    // Test 1: Boost version
    std::cout << "Boost version: " << BOOST_VERSION / 100000 << "."
              << (BOOST_VERSION / 100) % 1000 << "."
              << BOOST_VERSION % 100 << std::endl;
    
    // Test 2: Boost filesystem
    try {
        boost::filesystem::path test_path("/tmp");
        if (boost::filesystem::exists(test_path)) {
            std::cout << "✅ Boost filesystem: Working" << std::endl;
        } else {
            std::cout << "⚠️  Boost filesystem: Path check failed" << std::endl;
        }
    } catch (const std::exception& e) {
        std::cout << "❌ Boost filesystem: Exception: " << e.what() << std::endl;
        return 1;
    }
    
    // Test 3: Boost system
    try {
        boost::system::error_code ec;
        std::cout << "✅ Boost system: Working" << std::endl;
    } catch (const std::exception& e) {
        std::cout << "❌ Boost system: Exception: " << e.what() << std::endl;
        return 1;
    }
    
    std::cout << "🎉 All boost functionality tests passed!" << std::endl;
    return 0;
}