GE Lua Documentation

Press F to search!

scenetree_tests

Definition


-- @/lua/ge/ge_utils.lua:86

-- Scenetree END
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------




-- tests from thomas
-- TODO: convert to proper unit-tests :)
function scenetree_tests()
  -- scenetree tests:
  log('D', logTag,"scenetree - test #1 = " .. tostring(scenetree.sunsky.shadowDistance))
  log('D', logTag,"scenetree - test #2 = " .. tostring(scenetree.sunsky:getDeclarationLine()))
  log('D', logTag,"scenetree - test #3 = " .. tostring(scenetree['sunsky']:getDeclarationLine()))

  -- manually find the object, working around scenetree
  local obj = scenetree.findObject('sunsky')
  --dump(obj)

  -- getter tests
  log('D', logTag,"-getter tests")
  log('D', logTag,"shadowDistance - getter #1 = " .. tostring(obj.shadowDistance))
  log('D', logTag,"shadowDistance - getter #2 = " .. tostring(obj['shadowDistance']))
  log('D', logTag,"shadowDistance - getter #3 = " .. tostring(obj:get('shadowDistance')))
  if obj.shadowDistanceNonExisting == nil then
    log('D', logTag,"shadowDistance - getter #4 is nil ")
  else
    log('D', logTag,"shadowDistanceNonExisting - getter #4 ERROR = " .. tostring(obj.shadowDistanceNonExisting))
  end

  -- setter tests
  log('D', logTag,"-setter tests")
  obj:set('shadowDistance', 123)
  obj.shadowDistance = 123
  obj['shadowDistance'] = 123

  -- usage tests
  log('D', logTag,"-usage tests")
  log('D', logTag,">> shadowDistance = " .. tostring(obj.shadowDistance))
  obj.shadowDistance = 123
  log('D', logTag,">> shadowDistance = " .. tostring(obj.shadowDistance))

  -- testing protected fields [canSave]
  log('D', logTag,"-protected fields tests")
  log('D', logTag,">> canSave = " .. tostring(obj.canSave))
  log('D', logTag,">> canSave set to false")
  obj.canSave = false
  log('D', logTag,">> canSave = " .. tostring(obj.canSave))
  obj.canSave = true
  log('D', logTag,">> canSave set to true")

  -- test if function to object forwarding works:
  --log('D', logTag,obj:getDataFieldbyIndex(0, 0, 0))
  log('D', logTag,obj:getDeclarationLine())
  --obj:delete(1,2,3, vec3(1,2,3), "test")
end

Callers