local desc = fs.read(path.expand("$sd/../../dump.desc.json"))
local instance = Instance.new("BoolValue")
T.Pass(instance[sym.Desc] == nil                   , "initializes with nil")
T.Pass(function() instance[sym.Desc] = desc end    , "can be set to Desc")
T.Pass(instance[sym.Desc] == desc                  , "returns Desc after being set to Desc")
T.Pass(function() instance[sym.Desc] = nil end     , "can be set to nil")
T.Pass(instance[sym.Desc] == nil                   , "returns nil after being set to nil")
T.Pass(function() instance[sym.Desc] = false end   , "can be set to false")
T.Fail(function() instance[sym.Desc] = true end    , "cannot be set to true")
T.Pass(instance[sym.Desc] == nil                   , "returns nil after being set to false")
T.Fail(function() instance[sym.Desc] = "foobar" end, "errors without Desc, false, or nil")
T.Pass(function() instance[sym.RawDesc] = desc end , "setting RawDesc to Desc sets Desc")
T.Pass(instance[sym.Desc] == desc                  , "returns Desc after RawDesc is set to Desc")
T.Pass(function() instance[sym.RawDesc] = nil end  , "setting RawDesc to nil sets Desc")
T.Pass(instance[sym.Desc] == nil                   , "returns nil after RawDesc is set to nil")
T.Pass(function() instance[sym.RawDesc] = false end, "setting RawDesc to false sets Desc")
T.Pass(instance[sym.Desc] == nil                   , "returns nil after RawDesc is set to false")
