81 lines
No EOL
2 KiB
Lua
81 lines
No EOL
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) |