! 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