Sha256: a5c0d9184c2a705f71a12349a80efdb32419e6e4df8f78ad632329710ac1ca57

Contents?: true

Size: 1.81 KB

Versions: 3

Compression:

Stored size: 1.81 KB

Contents

require 'rubygems'
require 'test/unit'
require 'rack/test'
require 'ardtweeno'
require 'logger'
require 'json'

ENV['RACK_ENV'] = 'test'


class PacketTest < Test::Unit::TestCase

  include Rack::Test::Methods
  
  attr_accessor :packetArray
  
  
  # Test suite fixtures, setup before each test is executed
  def setup
    
    Ardtweeno.setup({:test=>true, :log=>Logger.new(STDOUT), :level=>Logger::DEBUG})
    
    # Create a DateTime instance
    today = DateTime.now
    @theDate = today.year.to_s() + "-" + "%02d" % today.month.to_s() + "-" + "%02d" % today.day.to_s()
    @newHour = ("%02d" % today.hour).to_s
    @newMinute = ("%02d" % today.min).to_s
    
    # Instantiate the packetArray
    @packetArray = Array.new
    
    # Create 20 packets and add to the packetList
    20.times do |i|
      newKey = "0123456789abcdef"
      newData = [23.5, 997.8, 30]    
      newPacket = Ardtweeno::Packet.new(i, newKey, newData)
      
      @packetArray << newPacket
    end

  end
  

  # tear down the test fixtures between each test
  def teardown
    @packetArray = nil
  end


  # Test the Ardtweeno::Packet#to_s method
  def test_to_s
    @packetArray.each do |i|
      assert_equal(
      "Packet No: #{i.seqNo} Key: 0123456789abcdef Node: defaultNode Date: #{@theDate} #{@newHour}:#{@newMinute} Data: [23.5, 997.8, 30]",
      i.to_s
      )
    end
  end
  
  # Test the Ardtweeno::Packet#to_json method
  def test_to_json
    str = "{\"date\":\"#{@theDate}\",\"hour\":\"#{@newHour}\",\"minute\":\"#{@newMinute
    }\",\"node\":\"defaultNode\",\"key\":\"0123456789abcdef\",\"seqNo\":0,\"data\":[23.5,997.8,30]}"
    
    assert_equal(str, @packetArray.first.to_json)
    
    # Create JSON objects and compare
    json1 = JSON.parse(str)
    json2 = JSON.parse(@packetArray.first.to_json)
    
    assert_equal(json1, json2)
  end
  

end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
ardtweeno-0.3.1 test/packet_test.rb
ardtweeno-0.3.0 test/packet_test.rb
ardtweeno-0.2.5 test/packet_test.rb