@@ -2,6 +2,7 @@ using NCDatasets
2
2
using Test
3
3
import CommonDataModel as CDM
4
4
using DataStructures
5
+ using Dates
5
6
6
7
fname = tempname ()
7
8
ds = NCDataset (fname," c" )
@@ -50,10 +51,12 @@ struct MemoryDataset <: CDM.AbstractDataset
50
51
unlimited:: Vector{String}
51
52
end
52
53
53
- data = randn ( 30 ,31 )
54
+ data = rand ( - 100 : 100 , 30 ,31 )
54
55
mv = MemoryVariable (" data" ,[" lon" ," lat" ], data, OrderedDict {String,Any} (
55
56
" units" => " days since 2000-01-01" ))
56
57
58
+ Base. getindex (v:: MemoryVariable ,ij... ) = v. data[ij... ]
59
+ Base. setindex! (v:: MemoryVariable ,data,ij... ) = v. data[ij... ] = data
57
60
CDM. name (v:: MemoryVariable ) = v. name
58
61
CDM. dimnames (v:: MemoryVariable ) = v. dimnames
59
62
Base. size (v:: MemoryVariable ) = size (v. data)
@@ -81,6 +84,12 @@ CDM.attribnames(md::Union{MemoryDataset,MemoryVariable}) = keys(md.attrib)
81
84
CDM. attrib (md:: Union{MemoryDataset,MemoryVariable} ,name:: AbstractString ) = md. attrib[name]
82
85
83
86
87
+ time_origin = DateTime (2000 ,1 ,1 )
88
+ @test md[" data" ][1 ,1 ] == time_origin + Dates. Millisecond (data[1 ,1 ]* 24 * 60 * 60 * 1000 )
89
+
90
+ md[" data" ][1 ,2 ] = DateTime (2000 ,2 ,1 )
91
+ @test md[" data" ]. var[1 ,2 ] == Dates. value (md[" data" ][1 ,2 ] - time_origin) ÷ (24 * 60 * 60 * 1000 )
92
+
84
93
io = IOBuffer ()
85
94
CDM. show (io,md)
86
95
@test occursin (" Attributes" ,String (take! (io)))
0 commit comments