Skip to content

Commit 23b4fb1

Browse files
committed
more tests
1 parent 92707fb commit 23b4fb1

File tree

3 files changed

+29
-4
lines changed

3 files changed

+29
-4
lines changed

NDTensors/src/lib/GradedAxes/src/gradedunitrangedual.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ end
9696
blocklabels(a::GradedUnitRangeDual) = dual.(blocklabels(nondual(a)))
9797

9898
function BlockArrays.combine_blockaxes(a1::GradedUnitRangeDual, a2::GradedUnitRangeDual)
99-
return dual(combine_blockaxes(dual(a1), dual(a2)))
99+
return dual(combine_blockaxes(nondual(a1), nondual(a2)))
100100
end
101101

102102
function unlabel_blocks(a::GradedUnitRangeDual)

NDTensors/src/lib/GradedAxes/test/test_basics.jl

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ using BlockArrays:
1212
blocks,
1313
combine_blockaxes,
1414
mortar
15-
using NDTensors.GradedAxes: GradedOneTo, GradedUnitRange, OneToOne, blocklabels, gradedrange
15+
using NDTensors.GradedAxes:
16+
GradedOneTo, GradedUnitRange, OneToOne, blocklabels, gradedrange, space_isequal
1617
using NDTensors.LabelledNumbers:
1718
LabelledUnitRange, islabelled, label, labelled, labelled_isequal, unlabel
1819
using Test: @test, @test_broken, @testset
@@ -97,8 +98,12 @@ end
9798
@test blocklengths(only(axes(a))) == blocklengths(a)
9899
@test blocklabels(only(axes(a))) == blocklabels(a)
99100

100-
@test combine_blockaxes(a, a) isa GradedOneTo
101101
@test axes(Base.Slice(a)) isa Tuple{typeof(a)}
102+
@test AbstractUnitRange{Int}(a) == 1:5
103+
b = combine_blockaxes(a, a)
104+
@test b isa GradedOneTo
105+
@test b == 1:5
106+
@test space_isequal(b, a)
102107
end
103108

104109
# Slicing operations
@@ -118,6 +123,11 @@ end
118123
@test blocklabels(ax) == blocklabels(a)
119124
@test blockfirsts(a) == [2, 3]
120125

126+
@test AbstractUnitRange{Int}(a) == 2:4
127+
b = combine_blockaxes(a, a)
128+
@test b isa GradedUnitRange
129+
@test b == 1:4
130+
121131
@test x[[2, 4]] == [labelled(2, "x"), labelled(4, "y")]
122132
@test labelled_isequal(x[BlockRange(1)], gradedrange(["x" => 2]))
123133

NDTensors/src/lib/GradedAxes/test/test_dual.jl

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,8 @@ using BlockArrays:
1111
blocklengths,
1212
blocks,
1313
findblock,
14-
mortar
14+
mortar,
15+
combine_blockaxes
1516
using NDTensors.GradedAxes:
1617
AbstractGradedUnitRange,
1718
GradedAxes,
@@ -77,6 +78,20 @@ end
7778
@test isdual(ad)
7879
@test !isdual(a)
7980
@test axes(Base.Slice(a)) isa Tuple{typeof(a)}
81+
@test AbstractUnitRange{Int}(ad) == 1:5
82+
b = combine_blockaxes(ad, ad)
83+
@test b isa GradedUnitRangeDual
84+
@test b == 1:5
85+
@test space_isequal(b, ad)
86+
87+
for x in iterate(ad)
88+
@test x == 1
89+
@test label(x) == U1(0)
90+
end
91+
for x in iterate(ad, labelled(3, U1(-1)))
92+
@test x == 4
93+
@test label(x) == U1(-1)
94+
end
8095

8196
@test blockfirsts(ad) == [labelled(1, U1(0)), labelled(3, U1(-1))]
8297
@test blocklasts(ad) == [labelled(2, U1(0)), labelled(5, U1(-1))]

0 commit comments

Comments
 (0)