2024-04-01 21:52:05 +02:00

27 lines
866 B
Julia

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