diff options
author | Ruslan Ustits <ustitsruslan@gmail.com> | 2024-05-29 08:57:48 +0100 |
---|---|---|
committer | Louis Pilfold <louis@lpil.uk> | 2024-05-29 10:05:30 +0100 |
commit | 6a298046764a31f9cdb12136728484e8b50209a0 (patch) | |
tree | 1c911824194b49571352fb116fe17dff7ff71ff6 | |
parent | d0aec9235ee46cc89fd0917f6da1f0c77959a03c (diff) | |
download | gleam_stdlib-6a298046764a31f9cdb12136728484e8b50209a0.tar.gz gleam_stdlib-6a298046764a31f9cdb12136728484e8b50209a0.zip |
Add set.is_empty
-rw-r--r-- | src/gleam/set.gleam | 18 | ||||
-rw-r--r-- | test/gleam/set_test.gleam | 17 |
2 files changed, 35 insertions, 0 deletions
diff --git a/src/gleam/set.gleam b/src/gleam/set.gleam index d0b4f16..12bfba1 100644 --- a/src/gleam/set.gleam +++ b/src/gleam/set.gleam @@ -51,6 +51,24 @@ pub fn size(set: Set(member)) -> Int { dict.size(set.dict) } +/// Determines whether or not the set is empty. +/// +/// ## Examples +/// +/// ```gleam +/// new() |> is_empty +/// // -> True +/// ``` +/// +/// ```gleam +/// new() |> insert(1) |> is_empty +/// // -> False +/// ``` +/// +pub fn is_empty(set: Set(member)) -> Bool { + set == new() +} + /// Inserts an member into the set. /// /// This function runs in logarithmic time. diff --git a/test/gleam/set_test.gleam b/test/gleam/set_test.gleam index 94dd5da..908fe29 100644 --- a/test/gleam/set_test.gleam +++ b/test/gleam/set_test.gleam @@ -22,6 +22,23 @@ pub fn size_test() { |> should.equal(2) } +pub fn is_empty_test() { + set.new() + |> set.is_empty() + |> should.be_true() + + set.new() + |> set.insert(1) + |> set.is_empty() + |> should.be_false() + + set.new() + |> set.insert(1) + |> set.delete(1) + |> set.is_empty() + |> should.be_true() +} + pub fn contains_test() { set.new() |> set.insert(1) |