diff test/LazyTensors/tuple_manipulation_test.jl @ 1031:0905cec43d2e feature/dissipation_operators

Add left and right pad functions for tuple
author Jonatan Werpers <jonatan@werpers.com>
date Tue, 22 Mar 2022 10:42:19 +0100
parents 271aa6ae1055
children 5bfb182e24dc
line wrap: on
line diff
--- a/test/LazyTensors/tuple_manipulation_test.jl	Tue Mar 22 09:53:26 2022 +0100
+++ b/test/LazyTensors/tuple_manipulation_test.jl	Tue Mar 22 10:42:19 2022 +0100
@@ -60,3 +60,19 @@
     @test LazyTensors.flatten_tuple((1,2,(3,(4,5)),6)) == (1,2,3,4,5,6)
     @test LazyTensors.flatten_tuple(((1,2),(3,4),(5,),6)) == (1,2,3,4,5,6)
 end
+
+@testset "left_pad_tuple" begin
+    @test LazyTensors.left_pad_tuple((1,2), 0, 2) == (1,2)
+    @test LazyTensors.left_pad_tuple((1,2), 0, 3) == (0,1,2)
+    @test LazyTensors.left_pad_tuple((3,2), 1, 6) == (1,1,1,1,3,2)
+
+    @test_throws DomainError(0, "Can't pad tuple of length 2 to 0 elements") LazyTensors.left_pad_tuple((1,2), 0, 0) == (1,2)
+end
+
+@testset "right_pad_tuple" begin
+    @test LazyTensors.right_pad_tuple((1,2), 0, 2) == (1,2)
+    @test LazyTensors.right_pad_tuple((1,2), 0, 3) == (1,2,0)
+    @test LazyTensors.right_pad_tuple((3,2), 1, 6) == (3,2,1,1,1,1)
+
+    @test_throws DomainError(0, "Can't pad tuple of length 2 to 0 elements") LazyTensors.right_pad_tuple((1,2), 0, 0) == (1,2)
+end