diff --git a/.gitignore b/.gitignore index 735842d..7cb1a44 100644 --- a/.gitignore +++ b/.gitignore @@ -23,4 +23,6 @@ docs/site/ # environment. Manifest.toml +.vscode + .DS_Store \ No newline at end of file diff --git a/src/MortalityTable.jl b/src/MortalityTable.jl index 931366e..fad1b4b 100644 --- a/src/MortalityTable.jl +++ b/src/MortalityTable.jl @@ -108,6 +108,16 @@ end Base.getindex(u::UltimateTable, x) = u.ultimate[x] Base.lastindex(u::UltimateTable) = lastindex(u.ultimate) +Base.:(==)(tbl1::UltimateTable, tbl2::UltimateTable) = tbl1.metadata == tbl2.metadata && isequal(tbl1.ultimate, tbl2.ultimate) +function Base.:(==)(tbl1::SelectUltimateTable, tbl2::SelectUltimateTable) + return ( + tbl1.metadata == tbl2.metadata && + isequal(tbl1.ultimate, tbl2.ultimate) && + isequal(tbl1.select, tbl2.select) + ) +end + + function MortalityTable(select, ultimate; metadata = TableMetaData()) return SelectUltimateTable(select, ultimate, metadata) diff --git a/test/MortalityTables.jl b/test/MortalityTables.jl index e1de1eb..beb7aed 100644 --- a/test/MortalityTables.jl +++ b/test/MortalityTables.jl @@ -141,9 +141,17 @@ end - - - + @testset "value equality" begin + ult_table_name = "1980 CSO Basic Table – Male, ANB" + cso1980_a = MortalityTables.table(ult_table_name) + cso1980_b = MortalityTables.table(ult_table_name) + @test cso1980_a == cso1980_b + + select_table_name = "2001 CSO Super Preferred Select and Ultimate - Male Nonsmoker, ANB" + cso2001_a = MortalityTables.table(select_table_name) + cso2001_b = MortalityTables.table(select_table_name) + @test cso2001_a == cso2001_b + end end end