Skip to content

Commit

Permalink
test
Browse files Browse the repository at this point in the history
Co-Authored-By: Paul Berg <[email protected]>
  • Loading branch information
fonsp and Pangoraw committed Jan 16, 2024
1 parent 982808b commit 300966c
Show file tree
Hide file tree
Showing 2 changed files with 109 additions and 0 deletions.
104 changes: 104 additions & 0 deletions test/data structures.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
import PlutoDependencyExplorer: ImmutableVector, ImmutableSet, ImmutableDefaultDict, setdiffkeys

@testset "ImmutableCollections" begin





# ╔═╡ bd27d82e-62d6-422c-8fbe-61993dc4c268
@test isempty(ImmutableVector{Int}())

# ╔═╡ d4f2016a-b093-4619-9ccb-3e99bf6fdc9b
@test ImmutableVector{Int32}([1,2,3]).c |> eltype == Int32

# ╔═╡ 055f21c0-3741-4762-ac4e-4c89633afbc4
let
x = [1,2,3]
y = ImmutableVector(x)
push!(x,4)
@test y == [1,2,3]
end

# ╔═╡ 52310ade-6e06-4ab8-8589-444c161cd93b
let
x = [1,2,3]
y = ImmutableVector{Int32}(x)
push!(x,4)
@test y == [1,2,3]
end

# ╔═╡ d61600f0-2202-4228-8d35-380f732214e7
ImmutableSet()

# ╔═╡ d3871580-cd22-48c1-a1fd-d13a7f2f2135
ImmutableSet{Int}()

# ╔═╡ 2af00467-8bbf-49d8-bfe3-6f8d6307e900
ImmutableSet{Int64}(Set([1,2]); skip_copy=true)

# ╔═╡ 46836112-7c5c-4ffd-8d1e-93a2c8990b20
@test ImmutableSet{Int64}(Set([1,2]); skip_copy=true) == Set([1,2])

# ╔═╡ fd687b2e-8bec-48b2-810e-38ef00bf567b
let
x = [1.1,2,3]
y = ImmutableVector(x; skip_copy=true)
push!(x,4)
@test y == [1.1,2,3,4]
end

# ╔═╡ f4dddf0b-cf0a-41d0-880e-6a8fac7c60cb
let
x = [1.1,2,3]
y = ImmutableVector{Float64}(x; skip_copy=true)
push!(x,4)
@test y == [1.1,2,3,4]
end

# ╔═╡ 25c78371-f12d-44ae-b180-32b88d3aa4f5
@test eltype(ImmutableSet([2,3,4])) == Int

# ╔═╡ 45115ac6-6586-458c-83e6-d661c2ce8db2
let
x = Set([1,2,3])
y = ImmutableSet(x)
push!(x,4)
@test y == Set([1,2,3])
end

# ╔═╡ 4f26640d-31d2-44c4-bbba-82c18d7497ae
let
x = Set([1.1,2,3])
y = ImmutableSet(x; skip_copy=true)
push!(x,4)
@test y == Set([1.1,2,3,4])
end

# ╔═╡ eac9c95b-a2b6-4f1f-8cce-a2ad4c0972c5
@test union(ImmutableSet([1,2]),[2,3]) == ImmutableSet([1,2,3])

# ╔═╡ bff65a2c-8654-4403-8e34-58aac8616729
@test filter(x -> true, ImmutableVector([1,2,3])) == [1,2,3]

# ╔═╡ ce3cdb24-e851-4cc3-9955-b34fe358b41a
@test ImmutableVector([1,2,3])[2:end] isa ImmutableVector

# ╔═╡ c61196d6-f529-4883-b334-ed1b0f653acf


# ╔═╡ 5c2b3440-7231-42df-b4e5-619001d225a8
ImmutableSet([123,234])



@test setdiffkeys(Dict(1=>2,3=>4),[3]) == Dict(1=>2)

let
d = setdiffkeys(ImmutableDefaultDict(() -> 7, Dict(1=>2,3=>4)),[3])
@test d[1] == 2 && d[3] == 7
end

@test setdiff(ImmutableSet([1,2]), [2]) isa ImmutableSet

end
5 changes: 5 additions & 0 deletions test/runtests.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
using Test
using PlutoDependencyExplorer


include("./data structures.jl")

0 comments on commit 300966c

Please sign in to comment.