armstrong_number

This commit is contained in:
2024-06-26 22:42:04 -04:00
parent fd86d9545f
commit 4c3da6abe4
10 changed files with 259 additions and 0 deletions

View File

@@ -0,0 +1,47 @@
defmodule ArmstrongNumberTest do
use ExUnit.Case
test "Zero is an Armstrong number" do
assert ArmstrongNumber.valid?(0)
end
test "Single digit numbers are Armstrong numbers" do
assert ArmstrongNumber.valid?(5)
end
test "There are no two-digit Armstrong Numbers" do
refute ArmstrongNumber.valid?(10)
end
test "Three-digit number that is an Armstrong number" do
assert ArmstrongNumber.valid?(153)
end
test "Three-digit number that is not an Armstrong number" do
refute ArmstrongNumber.valid?(100)
end
test "Four-digit number that is an Armstrong number" do
assert ArmstrongNumber.valid?(9474)
end
test "Four-digit number that is not an Armstrong number" do
refute ArmstrongNumber.valid?(9475)
end
test "Seven-digit number that is an Armstrong number" do
assert ArmstrongNumber.valid?(9_926_315)
end
test "Seven-digit number that is not an Armstrong number" do
refute ArmstrongNumber.valid?(9_926_134)
end
test "Armstrong number containing seven zeroes" do
assert ArmstrongNumber.valid?(186_709_961_001_538_790_100_634_132_976_990)
end
test "The largest and last Armstrong number" do
assert ArmstrongNumber.valid?(115_132_219_018_763_992_565_095_597_973_971_522_401)
end
end

View File

@@ -0,0 +1,2 @@
ExUnit.start()
ExUnit.configure(exclude: :pending, trace: true)