Initial Commit

This commit is contained in:
Anton Reinhard
2024-04-01 21:52:05 +02:00
commit a959137e22
10 changed files with 225 additions and 0 deletions

3
test/Project.toml Normal file
View File

@ -0,0 +1,3 @@
[deps]
SafeTestsets = "1bc83da4-3b8d-516f-aca4-4fe02f6d838f"
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"

5
test/runtests.jl Normal file
View File

@ -0,0 +1,5 @@
using SafeTestsets
@safetestset "Trees" begin
include("trees.jl")
end

26
test/trees.jl Normal file
View File

@ -0,0 +1,26 @@
using FeynmanDiagramGenerator
import FeynmanDiagramGenerator.EmptyTree
import FeynmanDiagramGenerator.Subtree
import FeynmanDiagramGenerator.leaves
import FeynmanDiagramGenerator.ForestIterator
@testset "Number of leaves" begin
@test leaves(EmptyTree()) == 1
@test leaves(Subtree(EmptyTree(), EmptyTree())) == 2
@test leaves(Subtree(EmptyTree(), Subtree(EmptyTree(), EmptyTree()))) == 3
end
@testset "Number of Forests" begin
@test_throws AssertionError Forest(0)
@test_throws AssertionError ForestIterator(0)
groundtruth_lengths = [1, 1, 1, 2, 3, 6, 11, 23, 46, 98, 207, 451, 983, 2179, 4850, 10905, 24631, 56011, 127912, 293547]
@testset "Forest with $i leaves" for i in 1:20
@test length([t for t in Forest(i)]) == groundtruth_lengths[i]
for t in Forest(i)
@test leaves(t) == i
end
end
end