Some solutions for the julia path
This commit is contained in:
88
julia/perfect-numbers/runtests.jl
Normal file
88
julia/perfect-numbers/runtests.jl
Normal file
@@ -0,0 +1,88 @@
|
||||
using Test
|
||||
|
||||
include("perfect-numbers.jl")
|
||||
|
||||
@testset verbose = true "tests" begin
|
||||
@testset "Perfect numbers" begin
|
||||
|
||||
@testset "Smallest perfect number is classified correctly" begin
|
||||
@test isperfect(6)
|
||||
end
|
||||
|
||||
@testset "Medium perfect number is classified correctly" begin
|
||||
@test isperfect(28)
|
||||
end
|
||||
|
||||
@testset "Large perfect number is classified correctly" begin
|
||||
@test isperfect(33550336)
|
||||
end
|
||||
|
||||
@testset "Correctly handles non-perfect numbers" begin
|
||||
@test !isperfect(12)
|
||||
@test !isperfect(4)
|
||||
end
|
||||
end
|
||||
|
||||
@testset "Abundant numbers" begin
|
||||
|
||||
@testset "Smallest abundant number is classified correctly" begin
|
||||
@test isabundant(12)
|
||||
end
|
||||
|
||||
@testset "Medium abundant number is classified correctly" begin
|
||||
@test isabundant(30)
|
||||
end
|
||||
|
||||
@testset "Large abundant number is classified correctly" begin
|
||||
@test isabundant(33550335)
|
||||
end
|
||||
|
||||
@testset "Correctly handles non-abundant numbers" begin
|
||||
@test !isabundant(6)
|
||||
@test !isabundant(32)
|
||||
end
|
||||
end
|
||||
|
||||
@testset "Deficient numbers" begin
|
||||
|
||||
@testset "Smallest prime deficient number is classified correctly" begin
|
||||
@test isdeficient(2)
|
||||
end
|
||||
|
||||
@testset "Smallest non-prime deficient number is classified correctly" begin
|
||||
@test isdeficient(4)
|
||||
end
|
||||
|
||||
@testset "Medium deficient number is classified correctly" begin
|
||||
@test isdeficient(32)
|
||||
end
|
||||
|
||||
@testset "Large deficient number is classified correctly" begin
|
||||
@test isdeficient(33550337)
|
||||
end
|
||||
|
||||
@testset "Edge case (no factors other than itself) is classified correctly" begin
|
||||
@test isdeficient(1)
|
||||
end
|
||||
|
||||
@testset "Correctly handles non-deficient numbers" begin
|
||||
@test !isdeficient(28)
|
||||
@test !isdeficient(30)
|
||||
end
|
||||
end
|
||||
|
||||
@testset "Invalid inputs" begin
|
||||
|
||||
@testset "Zero is rejected (not a natural number)" begin
|
||||
@test_throws DomainError isdeficient(0)
|
||||
@test_throws DomainError isperfect(0)
|
||||
@test_throws DomainError isabundant(0)
|
||||
end
|
||||
|
||||
@testset "Negative integer is rejected (not a natural number)" begin
|
||||
@test_throws DomainError isdeficient(-1)
|
||||
@test_throws DomainError isperfect(-1)
|
||||
@test_throws DomainError isabundant(-1)
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user