it('testLongCall', function() {
   var bs1=new OptionsStrategy([{q: 1, o: new BlackScholes('C',80,0,0.25,0)}]);
   (bs1.loss(120,0)==0).should.eql(true);
   (bs1.loss(100,0)==0).should.eql(true);
   (bs1.loss(80,0)==0).should.eql(true);
   (bs1.loss(60,0)==0).should.eql(true);
 });
 it('testShortPut', function() {
   var bs1=new OptionsStrategy([{q: -1, o: new BlackScholes('P',80,0,0.25,0)}]);
   (bs1.loss(120,0)==0).should.eql(true);
   (bs1.loss(100,0)==0).should.eql(true);
   (bs1.loss(80,0)==0).should.eql(true);
   (bs1.loss(60,0)==-20).should.eql(true);
 });
 it('testQtyZero', function() {
   var bs2=new OptionsStrategy([{q: 0, o: new BlackScholes('C',80,0,0.25,0)}]);
   (bs2.loss(120,0)==0).should.eql(true);
   (bs2.loss(100,0)==0).should.eql(true);
   (bs2.loss(80,0)==0).should.eql(true);
   (bs2.loss(60,0)==0).should.eql(true);
 });
 it('testLong2xCall', function() {
   var bs2=new OptionsStrategy([{q:2, o: new BlackScholes('C',80,0,0.25,0)}]);
   (bs2.loss(120,0)).should.eql(0);
   (bs2.loss(100,0)).should.eql(0);
   (bs2.loss(80,0)).should.eql(0);
   (bs2.loss(60,0)).should.eql(0);
 });
 it('testTensor', function() {
   var bs1=new OptionsStrategy([{q: 1, o: new BlackScholes('P',80,0,0.25,0.2)}]);
   var x3=bs1.loss([60,80,100,120],[0,0.1,0.2]);
   (Object.keys(x3).length==4).should.eql(true);
   for(var k in x3) {
     (Object.keys(x3[k]).length==3).should.eql(true);
   }
 });
 it('testVector', function() {
   var bs1=new OptionsStrategy([{q: 1, o: new BlackScholes('P',80,0,0.25,0)}]);
   var x=bs1.loss([60,80,100,120],0);
   (Object.keys(x).length==4).should.eql(true);
 });