#!/usr/bin/env node

require('./proof')(60, function (parseEqual) {
  parseEqual({ require: true }, "l32f", [ 0xcd, 0xcc, 0x2c, 0x41 ], 4, 10.800000190734863, "positive");
  parseEqual({ require: true, subsequent: true }, "l32f", [ 0x00, 0x00, 0x20, 0xc1 ], 4, -10, "negative, subsequent");
  parseEqual({ require: true }, "l32f", [ 0x00, 0x00, 0x20, 0xc1 ], [ 1, 3 ], -10, "negative, fallback");
  parseEqual({ require: true }, "l32f", [ 0xcd, 0xcc, 0x2c, 0x41 ], [ 1, 3 ], 10.800000190734863, "positive, fallback");
  parseEqual({ require: true }, "b8,l32f", [ 0x01, 0xcd, 0xcc, 0x2c, 0x41 ], 5, 1, 10.800000190734863, "positive, buffers only");
  parseEqual({ require: true, subsequent: true }, "b8,l32f", [ 0x01, 0xcd, 0xcc, 0x2c, 0x41 ], 5, 1, 10.800000190734863, "positive, buffers only, subsequent");
  parseEqual({ require: true }, "b8,l32f", [ 0x01, 0xcd, 0xcc, 0x2c, 0x41 ], [ 0, 5 ], 1, 10.800000190734863, "positive, buffers only, fallback");
  // Same as above, but big-endian.
  parseEqual({ require: true }, "b32f", [ 0xcd, 0xcc, 0x2c, 0x41 ].reverse(), 4, 10.800000190734863, "big positive");
  parseEqual({ require: true, subsequent: true }, "b32f", [ 0x00, 0x00, 0x20, 0xc1 ].reverse(), 4, -10, "negative, subsequent");
  parseEqual({ require: true }, "b32f", [ 0x00, 0x00, 0x20, 0xc1 ].reverse(), [ 1, 3 ], -10, "negative, fallback");
  parseEqual({ require: true }, "b32f", [ 0xcd, 0xcc, 0x2c, 0x41 ].reverse(), [ 1, 3 ], 10.800000190734863, "big positive, fallback");
  parseEqual({ require: true }, "b8,b32f", [ 0xcd, 0xcc, 0x2c, 0x41, 0x01 ].reverse(), 5, 1, 10.800000190734863, "big positive, buffers only");
  parseEqual({ require: true, subsequent: true }, "b8,b32f", [ 0xcd, 0xcc, 0x2c, 0x41, 0x01 ].reverse(), 5, 1, 10.800000190734863, "big positive, buffers only, subsequent");
  parseEqual({ require: true }, "b8,b32f", [ 0xcd, 0xcc, 0x2c, 0x41, 0x01 ].reverse(), [ 0, 5 ], 1, 10.800000190734863, "big positive, buffers only, fallback");
  // Two in a row.
  parseEqual({ require: true }, "l32f,l32f", [ 0x00, 0x00, 0x20, 0xc1, 0xcd, 0xcc, 0x2c, 0x41 ], 8, -10, 10.800000190734863, "two in a row");
  parseEqual({ require: true, subsequent: true }, "l32f,l32f", [ 0x00, 0x00, 0x20, 0xc1, 0xcd, 0xcc, 0x2c, 0x41 ], 8, -10, 10.800000190734863, "two in a row, subsequent");
  parseEqual({ require: true }, "l32f,l32f", [ 0x00, 0x00, 0x20, 0xc1, 0xcd, 0xcc, 0x2c, 0x41 ], [ 1, 7 ], -10, 10.800000190734863, "two in a row, fallback");
});

@@ -1497,32 +1497,51 @@
 Equal(%7B require:
+ true, buffersOnly:
  true %7D, %22b8,b32
@@ -1536,32 +1536,43 @@
 e %7D, %22b8,b32f%22, 
+new Buffer(
 %5B 0xcd, 0xcc, 0x
@@ -1589,32 +1589,33 @@
 0x01 %5D.reverse()
+)
 , 5, 1, 10.80000
@@ -1678,32 +1678,51 @@
 %7B require: true,
+ buffersOnly: true,
  subsequent: tru
@@ -1729,32 +1729,43 @@
 e %7D, %22b8,b32f%22, 
+new Buffer(
 %5B 0xcd, 0xcc, 0x
@@ -1790,16 +1790,17 @@
 everse()
+)
 , 5, 1, 
@@ -1877,32 +1877,51 @@
 Equal(%7B require:
+ true, buffersOnly:
  true %7D, %22b8,b32
@@ -1920,24 +1920,35 @@
  %22b8,b32f%22, 
+new Buffer(
 %5B 0xcd, 0xcc
@@ -1973,24 +1973,25 @@
  %5D.reverse()
+)
 , %5B 0, 5 %5D, 

Fix buffer only tests in `parse/single.t.js`.