-var Eos = require('../../server/class/Eos');
-var expect = require('chai').expect;
-
-var test1 = `
-/**
-* コマンドとオプションのバリデーション
-* @param {string} Eosコマンドの名前
-* @param {Array<Object>} コマンドに渡すオプション
-* @returns {valid: boolean, message: string}
-* function validate(command, params) {
-*/
-`;
-
-var test2 = `
-/**
-* 実行時文字列への変換
-*
-* @param command
-* @param options
-* @returns {string}
-* function toExecString(command, params) {
-*/
-`;
-
-describe('Eos クラス', function() {
- var eos;
- before(function() {
- eos = new Eos();
- });
-
- describe(test1, function() {
-
- it('should return false when the command is typeof number.', function() {
- var result = eos.validate(2);
- expect(result.message).to.equal('Command parameter need to be string');
- });
-
- it('should return false when command name is invalid', function() {
- var result = eos.validate('hoge');
- expect(result.message).to.equal('Command name is invalid');
- });
-
- it('should return false when options is not Array', function() {
- var result = eos.validate('mrcImageInfo', {});
- expect(result.message).to.equal('Options need to be Array');
+(function() {
+ 'use strict';
+ var Eos = require('../../server/class/Eos');
+ var expect = require('chai').expect;
+
+ var test1 = `
+ /**
+ * コマンドとオプションのバリデーション
+ * @param {string} Eosコマンドの名前
+ * @param {Array<Object>} コマンドに渡すオプション
+ * @returns {valid: boolean, message: string}
+ * function validate(command, params) {
+ */
+ `;
+
+ var test2 = `
+ /**
+ * 実行時文字列への変換
+ *
+ * @param command
+ * @param options
+ * @returns {string}
+ * function toExecString(command, params) {
+ */
+ `;
+
+ describe('Eos クラス', function() {
+ var eos;
+ before(function() {
+ eos = new Eos();
});
- it('should return false when options is Array whose length is 0.', function() {
- var result = eos.validate('mrcImageInfo', []);
- expect(result.message).to.equal('At least one option is required.');
+ describe(test1, function() {
+
+ it('should return false when the command is typeof number.', function() {
+ var result = eos.validate(2);
+ expect(result.message).to.equal('Command parameter need to be string');
+ });
+
+ it('should return false when command name is invalid', function() {
+ var result = eos.validate('hoge');
+ expect(result.message).to.equal('Command name is invalid');
+ });
+
+ it('should return false when options is not Array', function() {
+ var result = eos.validate('mrcImageInfo', {});
+ expect(result.message).to.equal('Options need to be Array');
+ });
+
+ it('should return false when options is Array whose length is 0.', function() {
+ var result = eos.validate('mrcImageInfo', []);
+ expect(result.message).to.equal('At least one option is required.');
+ });
+
+ it('should return false when options is invalid Object which have not "name" and "argumetns"', function() {
+ var result = eos.validate('mrcImageInfo', [{hoge: 'hoge'}]);
+ expect(result.message).to.equal('Options need to include Object which have properties "name" and "arguments"');
+ });
+
+ it('should return false when "argumetns" properties are not Array', function() {
+ var result = eos.validate('mrcImageInfo', [{name: 'hoge', arguments: 'hoge'}]);
+ expect(result.message).to.equal('Each "arguments" properties needs to be Array');
+ });
+
+ it('should return false when "argumetns" properties are not Array', function() {
+ var result = eos.validate('mrcImageInfo', [{name: 'hoge', arguments: 'hoge'}]);
+ expect(result.message).to.equal('Each "arguments" properties needs to be Array');
+ });
+
+ it('should return false when required options do not exist', function() {
+ var result = eos.validate('mrcImageInfo', [{name: 'hoge', arguments: []}]);
+ expect(result.message).to.equal('Option -i are required');
+ });
+
+ it('should return false when required options do not exist', function() {
+ var result = eos.validate('dcdFilePrint', [{name: '-r', arguments: [1,2]}, { name: '-i', arguments: []}, { name: '-o', arguments: []} ]);
+ expect(result.hasDone).to.equal(false);
+ console.log(result.message);
+ });
+
+ it('should return false when input file does not exist', function() {
+ var result = eos.validate('dcdFilePrint', [{name: '-r', arguments: [1,2,3]}, { name: '-i', arguments: ['hoge.txt']}, { name: '-o', arguments: ['hoge.txt']} ]);
+ expect(result.hasDone).to.equal(false);
+ console.log(result.message);
+
+ });
+
+ it('should return false when output file is not string', function() {
+ var result = eos.validate('dcdFilePrint', [{name: '-r', arguments: [1,2,3]}, { name: '-i', arguments: ['file1.txt']}, { name: '-o', arguments: [3]} ]);
+ expect(result.hasDone).to.equal(false);
+ console.log(result.message);
+
+ });
+
+ it('should return false when output file has already existed', function() {
+ var result = eos.validate('dcdFilePrint', [{name: '-r', arguments: [1,2,3]}, { name: '-i', arguments: ['file1.txt']}, { name: '-o', arguments: ['file1.txt']} ]);
+ expect(result.hasDone).to.equal(false);
+ console.log(result.message);
+
+ });
});
- it('should return false when options is invalid Object which have not "name" and "argumetns"', function() {
- var result = eos.validate('mrcImageInfo', [{hoge: 'hoge'}]);
- expect(result.message).to.equal('Options need to include Object which have properties "name" and "arguments"');
- });
-
- it('should return false when "argumetns" properties are not Array', function() {
- var result = eos.validate('mrcImageInfo', [{name: 'hoge', arguments: 'hoge'}]);
- expect(result.message).to.equal('Each "arguments" properties needs to be Array');
- });
-
- it('should return false when "argumetns" properties are not Array', function() {
- var result = eos.validate('mrcImageInfo', [{name: 'hoge', arguments: 'hoge'}]);
- expect(result.message).to.equal('Each "arguments" properties needs to be Array');
- });
-
- it('should return false when required options do not exist', function() {
- var result = eos.validate('mrcImageInfo', [{name: 'hoge', arguments: []}]);
- expect(result.message).to.equal('Option -i are required');
- });
-
- it('should return false when required options do not exist', function() {
- var result = eos.validate('dcdFilePrint', [{name: '-r', arguments: [1,2]}, { name: '-i', arguments: []}, { name: '-o', arguments: []} ]);
- expect(result.hasDone).to.equal(false);
- console.log(result.message);
- });
-
- it('should return false when input file does not exist', function() {
- var result = eos.validate('dcdFilePrint', [{name: '-r', arguments: [1,2,3]}, { name: '-i', arguments: ['hoge.txt']}, { name: '-o', arguments: ['hoge.txt']} ]);
- expect(result.hasDone).to.equal(false);
- console.log(result.message);
-
- });
-
- it('should return false when output file is not string', function() {
- var result = eos.validate('dcdFilePrint', [{name: '-r', arguments: [1,2,3]}, { name: '-i', arguments: ['file1.txt']}, { name: '-o', arguments: [3]} ]);
- expect(result.hasDone).to.equal(false);
- console.log(result.message);
-
- });
-
- it('should return false when output file has already existed', function() {
- var result = eos.validate('dcdFilePrint', [{name: '-r', arguments: [1,2,3]}, { name: '-i', arguments: ['file1.txt']}, { name: '-o', arguments: ['file1.txt']} ]);
- expect(result.hasDone).to.equal(false);
- console.log(result.message);
-
- });
- });
-
- describe(test2, function() {
+ describe(test2, function() {
- it('should return true when all options is proper.', function() {
- var result = eos.toExecString('dcdFilePrint', [{name: '-r', arguments: [1,2,3]}, { name: '-i', arguments: ['file1.txt']}, { name: '-o', arguments: ['file3.txt']} ]);
- expect(result).to.equal('dcdFilePrint -r 1 2 3 -s 10 -e 100 -d 10 -m 0 -i file1.txt -o file3.txt');
+ it('should return true when all options is proper.', function() {
+ var result = eos.toExecString('dcdFilePrint', [{name: '-r', arguments: [1,2,3]}, { name: '-i', arguments: ['file1.txt']}, { name: '-o', arguments: ['file3.txt']} ]);
+ expect(result).to.equal('dcdFilePrint -r 1 2 3 -s 10 -e 100 -d 10 -m 0 -i file1.txt -o file3.txt');
+ });
});
});
-});
+})();