From fee2ad01c05bd22360ed4062e5fb4b7aa97bdc14 Mon Sep 17 00:00:00 2001 From: mtsch Date: Wed, 8 May 2024 00:27:45 +1200 Subject: [PATCH] improve test coverage --- src/Hamiltonians/correlation_functions.jl | 3 +++ test/Hamiltonians.jl | 17 +++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/src/Hamiltonians/correlation_functions.jl b/src/Hamiltonians/correlation_functions.jl index 34b4b0b2a..6d26feee4 100644 --- a/src/Hamiltonians/correlation_functions.jl +++ b/src/Hamiltonians/correlation_functions.jl @@ -147,6 +147,9 @@ end function Base.show(io::IO, g2::G2RealSpace{A,B}) where {A,B} print(io, "G2RealSpace($(g2.geometry), $A,$B)") end +function Base.show(io::IO, g2::G2RealSpace{0,0}) + print(io, "G2RealSpace($(g2.geometry); sum_components=true)") +end LOStructure(::Type{<:G2RealSpace}) = IsDiagonal() diff --git a/test/Hamiltonians.jl b/test/Hamiltonians.jl index f67146ce8..85a49f98a 100644 --- a/test/Hamiltonians.jl +++ b/test/Hamiltonians.jl @@ -866,6 +866,23 @@ using Rimu.Hamiltonians: circshift_dot @testset "G2RealSpace" begin @testset "1D G2RealCorrelator comparison" begin + @testset "constructors" begin + g2_1 = G2RealSpace(Geometry(2, 2, 3), 1, 3) isa G2RealSpace{1,3} + g2_2 = G2RealSpace(Geometry(2, 2), 2) isa G2RealSpace{2,2} + g2_3 = G2RealSpace(Geometry(2, 2); sum_components=true) isa G2RealSpace{0,0} + @test g2_1 isa G2RealSpace{1,3} + @test g2_2 isa G2RealSpace{2,2} + @test g2_3 isa G2RealSpace{0,0} + + @test eval(Meta.parse(repr(g2_1))) == g2_1 + @test eval(Meta.parse(repr(g2_2))) == g2_2 + @test eval(Meta.parse(repr(g2_3))) == g2_3 + + @test_throws ArgumentError G2RealSpace(Geometry(3), 1, 0) + @test_throws ArgumentError G2RealSpace(Geometry(2, 2), 0, 0) + @test_throws ArgumentError G2RealSpace(Geometry(1, 2, 3), -1, 2) + @test_throws ArgumentError G2RealSpace(Geometry(12), 3; sum_components=true) + end @testset "single components" begin addr = near_uniform(BoseFS{6,6}) H = HubbardReal1D(addr)