'pcmd': function() {
    var cmd = this.creator.pcmd();
    assert.equal(cmd.type, 'PCMD');
    assert.equal(cmd.args.length, 5);
    assert.deepEqual(cmd.args, [0, 0, 0, 0, 0]);

    // test all the aliases mapping to pcmd args
    var val = 0.75;
    assert.equal(this.creator.pcmd({left: val}).args[1], at.floatString(-val));
    assert.equal(this.creator.pcmd({right: val}).args[1], at.floatString(val));
    assert.equal(this.creator.pcmd({front: val}).args[2], at.floatString(-val));
    assert.equal(this.creator.pcmd({back: val}).args[2], at.floatString(val));
    assert.equal(this.creator.pcmd({up: val}).args[3], at.floatString(val));
    assert.equal(this.creator.pcmd({down: val}).args[3], at.floatString(-val));
    assert.equal(this.creator.pcmd({clockwise: val}).args[4], at.floatString(val));
    assert.equal(this.creator.pcmd({counterClockwise: val}).args[4], at.floatString(-val));

    // test multiple aliases togeter
    var cmd = this.creator.pcmd({left: 0.1, clockwise: 0.3});
    assert.equal(cmd.args[1], at.floatString(-0.1));
    assert.equal(cmd.args[4], at.floatString(0.3));

    // test progressive bit being unset when no aliases are provided
    var cmd = this.creator.pcmd();
    assert.equal(cmd.args[0] & AtCommandCreator.PCMD_FLAGS.progressive, false);

    // test progressive bit being set automatically
    var cmd = this.creator.pcmd({left: 0.1});
    assert.ok(cmd.args[0] & (1 << 0));
  },
  'animateLeds() works as expected': function() {
    var hz = 3;
    var duration = 3;

    var cmd      = this.creator.animateLeds('blinkGreen', hz, duration);
    var expected = '1,' + at.floatString(hz) + ',' + duration;

    assert.equal(cmd.type, 'CONFIG');
    assert.equal(cmd.args.length, 2);
    assert.equal(cmd.args[0], '"leds:leds_anim"');
    assert.equal(cmd.args[1], '"' + expected + '"');
  },
 'animateLeds() does a red snake at 2 hz for 3s by default': function() {
   var cmd      = this.creator.animateLeds();
   var expected = '9,' + at.floatString(2) + ',' + 3;
   assert.equal(cmd.args[1], '"' + expected + '"');
 },