oxinabox / DataDepsGenerators.jl

Utility for developers to help define DataDeps registration blocks, for reusing existing Data with DataDeps.jl
Other
18 stars 6 forks source link

Make DataDryad work #12

Closed SebastinSanty closed 6 years ago

SebastinSanty commented 6 years ago

This is a very crude way of getting the desired output.

oxinabox commented 6 years ago

Nice work, I won't have time to review this in detail til tomorrow (or possibly Monday). But a quick look says it looks pretty good.

oxinabox commented 6 years ago

I've still not properly read this, but so you can start thinking about it. And reading about abstract classes in julia (if you've not already).

the next step is to make

abstract DataOne struct DataDryad <: DataOne

and have functionality for the other member nodes https://www.dataone.org/current-member-nodes

by having another e.g. struct OneShare <: DataOne , struct TERN <: DataOne

codecov-io commented 6 years ago

Codecov Report

Merging #12 into master will increase coverage by 0.92%. The diff coverage is 100%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master      #12      +/-   ##
==========================================
+ Coverage   95.94%   96.87%   +0.92%     
==========================================
  Files           5        6       +1     
  Lines          74       96      +22     
==========================================
+ Hits           71       93      +22     
  Misses          3        3
Impacted Files Coverage Δ
src/DataDepsGenerators.jl 100% <ø> (ø) :arrow_up:
src/DataDryad.jl 100% <100%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 8a4b8c7...d2be83e. Read the comment docs.

oxinabox commented 6 years ago

Do you know why CI has started to fail?

oxinabox commented 6 years ago

I am almost completely satisfied that this successfully achieves the goal of being able to generate from DataDyrad. But it does nothing towards the goal of generating from DataOne. Still it is one thing done. It will be easier to do DataOne (including an alternate path to Dyrad) with this complete for comparison of outputs.

Could you add a test that checks that these generators work?

Something like adding DataDeps to the /test/REQUIRE. and then making a new test file, which has something like:

using DataDeps
@testset "DataDyrad drought" begin
    @include("references/DataDryad Drought.txt") #register the data dep

    # Some sanity checks that we can use this generated DataDep

    intensities_csv = datadep"Data from Drought intensification drives turnover of structure and function in stream invertebrate communities/Drought intensities.csv"

    @test length(collect(eachline(intensities_csv))) > 0
end

For each of the 3 test cases.

We really should also have these for the other generated datadeps.