using FeynmanDiagramGenerator

import FeynmanDiagramGenerator.QFT

@testset "QED" begin
    theory = QED

    for (p1, p2, p3, b) in [
        (Electron(), Positron(), Photon(), true),
        (Muon(), AntiMuon(), Photon(), true),
        (Tauon(), AntiTauon(), Photon(), true),
        (Electron(), Positron(), Positron(), false),
        (Electron(), AntiMuon(), Photon(), false),
        (Electron(), Positron(), ZBoson(), false)
    ]
        @test can_interact(theory, p1, p2, p3) == b
        @test can_interact(theory, p1, p2, p3) == b
        @test can_interact(theory, p2, p1, p3) == b
        @test can_interact(theory, p2, p3, p1) == b
        @test can_interact(theory, p3, p1, p2) == b
        @test can_interact(theory, p3, p2, p1) == b
    end
end