81 lines
2 KiB
Lua
81 lines
2 KiB
Lua
-- Unit tests for problem context and file management
|
|
describe('cp.problem', function()
|
|
local problem
|
|
local temp_dir
|
|
|
|
before_each(function()
|
|
problem = require('cp.problem')
|
|
temp_dir = vim.fn.tempname()
|
|
vim.fn.mkdir(temp_dir, 'p')
|
|
-- Change to temp directory for testing
|
|
vim.api.nvim_set_current_dir(temp_dir)
|
|
end)
|
|
|
|
after_each(function()
|
|
vim.fn.delete(temp_dir, 'rf')
|
|
end)
|
|
|
|
describe('context creation', function()
|
|
it('creates context for Codeforces problems', function()
|
|
-- Test context creation with proper paths
|
|
end)
|
|
|
|
it('creates context for CSES problems', function()
|
|
-- Test CSES-specific context
|
|
end)
|
|
|
|
it('generates correct file paths', function()
|
|
-- Test source file path generation
|
|
end)
|
|
|
|
it('generates correct build paths', function()
|
|
-- Test build directory structure
|
|
end)
|
|
end)
|
|
|
|
describe('template handling', function()
|
|
it('applies language templates correctly', function()
|
|
-- Test template application
|
|
end)
|
|
|
|
it('handles custom templates', function()
|
|
-- Test user-defined templates
|
|
end)
|
|
|
|
it('supports snippet integration', function()
|
|
-- Test LuaSnip integration
|
|
end)
|
|
end)
|
|
|
|
describe('file operations', function()
|
|
it('creates directory structure', function()
|
|
-- Test directory creation (build/, io/)
|
|
end)
|
|
|
|
it('handles existing files gracefully', function()
|
|
-- Test behavior when files exist
|
|
end)
|
|
|
|
it('sets up input/output files', function()
|
|
-- Test I/O file creation
|
|
end)
|
|
end)
|
|
|
|
describe('language support', function()
|
|
it('supports C++ compilation', function()
|
|
-- Test C++ setup and compilation
|
|
end)
|
|
|
|
it('supports Python execution', function()
|
|
-- Test Python setup
|
|
end)
|
|
|
|
it('supports Rust compilation', function()
|
|
-- Test Rust setup
|
|
end)
|
|
|
|
it('supports custom language configurations', function()
|
|
-- Test user-defined language support
|
|
end)
|
|
end)
|
|
end)
|