Skip to content

Commit 07468a8

Browse files
committed
formatting tests for PauliSum and Vector PauliSum conversion
1 parent 5eb6797 commit 07468a8

File tree

1 file changed

+27
-32
lines changed

1 file changed

+27
-32
lines changed

test/test_datatypes.jl

Lines changed: 27 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -3,41 +3,26 @@
33
using Test
44

55
function createpaulistring(nq)
6-
symbol = rand([:I, :X, :Y, :Z])
7-
qind = rand(1:nq)
8-
coeff = randn()
9-
PauliString(nq, symbol, qind, coeff)
6+
# Create a random PauliString with nq qubits
107

11-
symbols = rand([:I, :X, :Y, :Z], min(nq, 4))
12-
qinds = shuffle(1:nq)[1:min(nq, 4)]
8+
symbols = rand([:I, :X, :Y, :Z], nq)
9+
qinds = shuffle(1:nq)[1:nq]
1310
coeff = randn()
14-
pstr = PauliString(nq, symbols, qinds, coeff)
1511

16-
return pstr
12+
return PauliString(nq, symbols, qinds, coeff)
13+
1714
end
1815

1916
function createpaulisum(nq)
20-
PauliSum(nq)
21-
22-
pstr = createpaulistring(nq)
23-
PauliSum(nq, pstr)
2417

25-
pstr = createpaulistring(nq)
26-
psum = PauliSum(pstr)
18+
return PauliSum(createpaulistring(nq))
2719

28-
return psum
2920
end
3021

3122
function createvectorpaulisum(nq)
32-
VectorPauliSum(nq)
3323

34-
pstr = createpaulistring(nq)
35-
VectorPauliSum(nq, pstr)
24+
return VectorPauliSum(createpaulistring(nq))
3625

37-
pstr = createpaulistring(nq)
38-
psum = VectorPauliSum(pstr)
39-
40-
return psum
4126
end
4227

4328
@testset "Add to PauliSum" begin
@@ -106,19 +91,29 @@ end
10691
@test tonumber(wrapped_pstr.coeff) == tonumber(pstr.coeff) == pstr.coeff
10792
end
10893

109-
@testset "Conversions" begin
94+
@testset "PauliSum/VectorPauliSum Conversions" begin
11095
nq = rand(1:100)
11196

112-
pstr = createpaulistring(nq)
113-
psum = PauliSum(pstr)
114-
vpsum = VectorPauliSum(psum)
115-
vpsum2 = VectorPauliSum(pstr)
116-
@test vpsum == psum == vpsum2 # checks Pauli by Pauli
97+
# Subtest for subtracting PauliSum
98+
@testset "PauliSum to VectorPauliSum" begin
99+
pstr = createpaulistring(nq)
100+
psum = PauliSum(pstr)
101+
vpsum = VectorPauliSum(psum)
102+
vpsum_from_str = VectorPauliSum(pstr)
103+
@test vpsum == psum # checks Pauli by Pauli
104+
@test vpsum_from_str == psum
105+
@test vpsum_from_str == vpsum
106+
end
107+
108+
# Subtest for subtracting PauliSum
109+
@testset "VectorPauliSum to PauliSums with Merging" begin
110+
111+
pstr2 = createpaulistring(nq)
112+
vpsum = VectorPauliSum([pstr, pstr2, pstr])
113+
psum = PauliSum(vpsum)
114+
@test vpsum == psum
115+
end
117116

118-
pstr2 = createpaulistring(nq)
119-
vpsum = VectorPauliSum([pstr, pstr2, pstr])
120-
psum = PauliSum(vpsum)
121-
@test vpsum == psum
122117
end
123118

124119
# Test overloading methods for PauliSum

0 commit comments

Comments
 (0)