From 6a298046764a31f9cdb12136728484e8b50209a0 Mon Sep 17 00:00:00 2001 From: Ruslan Ustits Date: Wed, 29 May 2024 08:57:48 +0100 Subject: Add set.is_empty --- src/gleam/set.gleam | 18 ++++++++++++++++++ test/gleam/set_test.gleam | 17 +++++++++++++++++ 2 files changed, 35 insertions(+) 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) -- cgit v1.2.3