// Path: src/main/java/org/osgl/util/StringValueResolver.java
// public static Map<Class, StringValueResolver> predefined() {
//     return C.Map(predefined);
// }
// 
// Path: src/test/java/org/osgl/TestBase.java
// public abstract class TestBase extends osgl.ut.TestBase {
// 
//     protected static void run(Class<? extends TestBase> cls) {
//         new JUnitCore().run(cls);
//     }
//     
//     protected static void println(String tmpl, Object... args) {
//         System.out.println(String.format(tmpl, args));
//     }
// 
//     protected static String newRandStr() {
//         return S.random(new Random().nextInt(30) + 15);
//     }
// 
//     protected String loadFileAsString(String path) {
//         return IO.read(getClass().getClassLoader().getResource(path)).toString();
//     }
// }


import org.junit.Test;
import org.osgl.TestBase;
import static org.osgl.util.StringValueResolver.predefined;
        public void testWithTimesOperator() {
            verify(600l, "60 * 10");
        }

        @Test
        public void testInvalidStr() {
            verifyException(NumberFormatException.class, "3dsf");
        }
    }

    public static class FloatResolverTest extends PredefinedTest {
        public FloatResolverTest() {
            super(float.class, Float.class, 0f);
        }

        @Test
        public void testValidStr() {
            verify(342.34f, "342.34");
        }

        @Test
        public void testNegative() {
            verify(-32.120f, "-32.120");
        }

        @Test
        public void testWithTimesOperator() {
            verify(10f, "1.25 * 8");
        }

// Path: src/main/java/org/osgl/util/StringValueResolver.java
// public static Map<Class, StringValueResolver> predefined() {
//     return C.Map(predefined);
// }
// 
// Path: src/test/java/org/osgl/TestBase.java
// public abstract class TestBase extends osgl.ut.TestBase {
// 
//     protected static void run(Class<? extends TestBase> cls) {
//         new JUnitCore().run(cls);
//     }
//     
//     protected static void println(String tmpl, Object... args) {
//         System.out.println(String.format(tmpl, args));
//     }
// 
//     protected static String newRandStr() {
//         return S.random(new Random().nextInt(30) + 15);
//     }
// 
//     protected String loadFileAsString(String path) {
//         return IO.read(getClass().getClassLoader().getResource(path)).toString();
//     }
// }


// Path: src/test/java/org/osgl/util/StringValueResolverTest.java
import org.junit.Test;
import org.osgl.TestBase;
import static org.osgl.util.StringValueResolver.predefined;

        public void testWithTimesOperator() {
            verify(600l, "60 * 10");
        }

        @Test
        public void testInvalidStr() {
            verifyException(NumberFormatException.class, "3dsf");
        }
    }

    public static class FloatResolverTest extends PredefinedTest {
        public FloatResolverTest() {
            super(float.class, Float.class, 0f);
        }

        @Test
        public void testValidStr() {
            verify(342.34f, "342.34");
        }

        @Test
        public void testNegative() {
            verify(-32.120f, "-32.120");
        }

        @Test
        public void testWithTimesOperator() {
            verify(10f, "1.25 * 8");
        }

        @Test