@@ -59,13 +59,15 @@ using Dates
5959 d_symbol = Array {Dict{Symbol,Any}} (MatlabStructArray (d_arr))
6060 @test d_symbol[2 ][:x ] == d_arr[2 ][" x" ]
6161 @test Array (MatlabStructArray (d_symbol)) == d_arr
62+ @test s_arr == MatlabStructArray (d_arr)
6263
6364 # class object array conversion
64- s_arr = MatlabStructArray (d_arr, " TestClass" )
65- c_arr = Array (s_arr )
65+ s_arr_class = MatlabStructArray (d_arr, " TestClass" )
66+ c_arr = Array (s_arr_class )
6667 @test c_arr isa Array{MatlabClassObject}
6768 @test all (c-> c. class== " TestClass" , c_arr)
68- @test MatlabStructArray (c_arr) == s_arr
69+ @test MatlabStructArray (c_arr) == s_arr_class
70+ @test s_arr_class != s_arr
6971
7072 # test error of unequal structs
7173 wrong_sarr = Dict{String, Any}[
8688 @test haskey (obj, " a" )
8789 @test get (obj, " b" , " default" ) == " default"
8890
89- obj[" b" ] = 7
90- @test obj[" b" ] == 7
91+ obj[" b" ] = " str "
92+ @test obj[" b" ] == " str "
9193
9294 c_arr = [MatlabClassObject (d, " TestClassOld" ), MatlabClassObject (d, " TestClassOld" )]
9395 s_arr = MatlabStructArray (c_arr)
9496 @test s_arr. class == " TestClassOld"
9597
9698 wrong_arr = [MatlabClassObject (d, " TestClassOld" ), MatlabClassObject (d, " Bah" )]
9799 @test_throws ErrorException MatlabStructArray (wrong_arr)
100+
101+ d2 = deepcopy (obj. d)
102+ @test obj == MatlabClassObject (d2, " TestClassOld" )
103+ @test obj != MatlabClassObject (obj. d, " Banana" )
104+ d2[" a" ] = 5.0 + 1e-9
105+ @test obj != MatlabClassObject (d2, " TestClassOld" )
106+ @test obj ≈ MatlabClassObject (d2, " TestClassOld" )
107+ @test ! (obj ≈ MatlabClassObject (d2, " Banana" ))
98108end
99109
100110@testset " MatlabOpaque string" begin
0 commit comments