factor/extra/units/reduction/reduction-tests.factor

57 lines
2.6 KiB
Factor

! Copyright (C) 2011 Doug Coleman.
! See http://factorcode.org/license.txt for BSD license.
USING: combinators fry kernel locals math math.functions
math.order math.parser sequences tools.test ;
IN: units.reduction
{ "0Bi" } [ 0 n>storage ] unit-test
{ "0B" } [ 0 n>Storage ] unit-test
{ "0Bi" } [ -0 n>storage ] unit-test
{ "0B" } [ -0 n>Storage ] unit-test
{ "1000Bi" } [ 1,000 n>storage ] unit-test
{ "1K" } [ 1,000 n>Storage ] unit-test
{ "976Ki" } [ 1,000,000 n>storage ] unit-test
{ "1Mi" } [ 2,000,000 n>storage ] unit-test
{ "190Mi" } [ 200,000,000 n>storage ] unit-test
{ "1M" } [ 1,000,000 n>Storage ] unit-test
{ "953Mi" } [ 1,000,000,000 n>storage ] unit-test
{ "1G" } [ 1,000,000,000 n>Storage ] unit-test
{ "931Gi" } [ 1,000,000,000,000 n>storage ] unit-test
{ "1T" } [ 1,000,000,000,000 n>Storage ] unit-test
{ "909Ti" } [ 1,000,000,000,000,000 n>storage ] unit-test
{ "1P" } [ 1,000,000,000,000,000 n>Storage ] unit-test
{ "888Pi" } [ 1,000,000,000,000,000,000 n>storage ] unit-test
{ "1E" } [ 1,000,000,000,000,000,000 n>Storage ] unit-test
{ "-1E" } [ -1,000,000,000,000,000,000 n>Storage ] unit-test
: test-n>storage ( string -- string ) n>storage storage>n n>storage ;
: test-n>Storage ( string -- string ) n>Storage storage>n n>Storage ;
{ "0Bi" } [ 0 test-n>storage ] unit-test
{ "0B" } [ 0 test-n>Storage ] unit-test
{ "0Bi" } [ -0 test-n>storage ] unit-test
{ "0B" } [ -0 test-n>Storage ] unit-test
{ "1000Bi" } [ 1,000 test-n>storage ] unit-test
{ "1K" } [ 1,000 test-n>Storage ] unit-test
{ "976Ki" } [ 1,000,000 test-n>storage ] unit-test
{ "1Mi" } [ 2,000,000 test-n>storage ] unit-test
{ "190Mi" } [ 200,000,000 test-n>storage ] unit-test
{ "1M" } [ 1,000,000 test-n>Storage ] unit-test
{ "953Mi" } [ 1,000,000,000 test-n>storage ] unit-test
{ "1G" } [ 1,000,000,000 test-n>Storage ] unit-test
{ "931Gi" } [ 1,000,000,000,000 test-n>storage ] unit-test
{ "1T" } [ 1,000,000,000,000 test-n>Storage ] unit-test
{ "909Ti" } [ 1,000,000,000,000,000 test-n>storage ] unit-test
{ "1P" } [ 1,000,000,000,000,000 test-n>Storage ] unit-test
{ "888Pi" } [ 1,000,000,000,000,000,000 test-n>storage ] unit-test
{ "1E" } [ 1,000,000,000,000,000,000 test-n>Storage ] unit-test
{ "-1E" } [ -1,000,000,000,000,000,000 test-n>Storage ] unit-test
[ "abc" storage>n ] [ bad-storage-string? ] must-fail-with
[ "-abc" storage>n ] [ bad-storage-string? ] must-fail-with
[ "10" storage>n ] [ bad-storage-string? ] must-fail-with
[ "10b" storage>n ] [ bad-storage-string? ] must-fail-with
[ "10Mib" storage>n ] [ bad-storage-string? ] must-fail-with
[ "asdfBi" storage>n ] [ bad-storage-string? ] must-fail-with
[ "asdfB" storage>n ] [ bad-storage-string? ] must-fail-with