예제 #1
0
    def test_builtin_functions_exist_in_default_env(self):
        e = env()

        assert Symbol('drop') in e
        assert Symbol('dropna') in e
        assert Symbol('read_file') in e
        assert Symbol('export_csv') in e
예제 #2
0
    def test_attr_call_on_var(self, dataframe):
        e = env()
        e[Symbol('df')] = dataframe

        assert run('df.columns').equals(dataframe.columns)
예제 #3
0
    def test_pipeline_execute_multiple_stmts(self, dataframe):
        e = env()
        e[Symbol('df')] = dataframe

        assert run('pipeline(df): {drop(.name) drop(.floats)}', env=e).equals(
                drop(dataframe, [Col('name'), Col('floats')]))
예제 #4
0
    def test_pipeline_execute_stmts(self, dataframe):
        e = env()
        e[Symbol('df')] = dataframe

        assert run('pipeline(df): {drop(.name)}', env=e).equals(
                drop(dataframe, Col('name')))
예제 #5
0
 def test_assing_variable_using_expr(self):
     e = env()
     run('x = 1 + 2 + 3', e)
     assert e[Symbol('x')] == 6
예제 #6
0
 def test_assign_variable_add_to_env(self):
     e = env()
     run('x = 1', e)
     assert e[Symbol('x')] == 1
예제 #7
0
 def test_env_can_be_create(self):
     assert env() is not None
     assert isinstance(env(), dict)
예제 #8
0
 def test_basic_operators_exists_in_default_env(self):
     assert env() == global_env
     assert set(env({Symbol('x'): 3})).issuperset(global_env)
예제 #9
0
 def test_vars_can_only_be_symbols(self):
     with pytest.raises(TypeError):
         env({'x': 1})
예제 #10
0
 def test_vars_can_be_initialized(self):
     x = Symbol('x')
     assert env({x: 3})[x] == 3