require 'test/unit' require 'voruby/voevent/voevent_v1_1' include VORuby::VOEvent::V1_1 class VOEventTest < Test::Unit::TestCase def setup assert_nothing_raised { @event = VOEvent.load_from_file('test/voevent/voevent_v1_1.xml') } end def test_voevent assert_equal('ivo://raptor.lanl/VOEvent#235649409', @event.ivorn.value.to_s) assert_equal('observation', @event.role) assert_equal('1.1', @event.version) end def test_citations assert_equal('followup', @event.citations.event_ivorns[0].cite) assert_equal('ivo://raptor.lanl/VOEvent#235649408', @event.citations.event_ivorns[0].value.to_s) assert_match(/^This is an observation/, @event.citations.descriptions[0].value.strip) end def test_who assert_equal('ivo://raptor.lanl/organization', @event.who.author_ivorns[0].value.to_s) assert_equal('2005-04-15T14:34:16', @event.who.date.strftime('%Y-%m-%dT%H:%M:%S')) end def test_what group = @event.what.groups[0] assert_equal('SQUARE_GALAXY_FLUX', group.name) assert_equal('counts', group.params[0].name) assert_equal('73288', group.params[0].value) assert_equal('ct', group.params[0].unit) assert_equal('phot.count', group.params[0].ucd) assert_equal('peak', group.params[1].name) assert_equal('1310', group.params[1].value) assert_equal('ct/s', group.params[1].unit) assert_equal('arith.rate;phot.count', group.params[1].ucd) assert_equal('seeing', @event.what.params[0].name) assert_equal('2', @event.what.params[0].value) assert_equal('arcsec', @event.what.params[0].unit) assert_equal('instr.obsty.site.seeing', @event.what.params[0].ucd) assert_equal('http://raptor.lanl.gov/data/lightcurves/235649409', @event.what.references[0].uri.value.to_s) assert_match(/^This is the light curve/, @event.what.descriptions[0].value.strip) end def test_how assert_equal('http://www.raptor.lanl.gov/documents/phase_zero.rtml', @event.how.references[0].uri.value.to_s) assert_equal('rtml', @event.how.references[0].reference_type) assert_equal('Raptor AB', @event.how.references[0].name) #assert_match(/^This VOEvent packet resulted/, @event.how.descriptions[0].value.strip) end def test_why assert_equal(0.8, @event.why.importance) assert_equal('2005-04-16T02:34:16', @event.why.expires.strftime('%Y-%m-%dT%H:%M:%S')) assert_equal('process.variation.burst;em.opt', @event.why.concepts[0].value) assert_match(/^Fast Orphan Optical/, @event.why.descriptions[0].value.strip) inference = @event.why.inferences[0] assert_equal('associated', inference.relation) assert_equal(0.9, inference.probability) assert_equal('NGC1234', inference.names[0].value) end end