Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
set_var = {1, 2, '3'}
recursive_var = {'a': {'b': 123}, 'c': True}
comp_var = 1+2j
seri_var = pandas.Series([1,2,3,3,3,3])
''')
wait_for_idle(kc)
execute(kc=kc, code='''
%use Julia
%get num_var num_arr_var logic_var logic_arr_var char_var char_arr_var set_var list_var dict_var recursive_var comp_var seri_var
%dict -r
%put num_var num_arr_var logic_var logic_arr_var char_var char_arr_var set_var list_var dict_var recursive_var comp_var seri_var
%use sos
seri_var = list(seri_var)
''')
wait_for_idle(kc)
execute(kc=kc, code='''
%dict num_var num_arr_var logic_var logic_arr_var char_var char_arr_var set_var list_var dict_var recursive_var comp_var seri_var
''')
res = get_result(iopub)
#self.assertEqual(res['null_var'], None)
self.assertEqual(res['num_var'], 123)
self.assertEqual(list(res['num_arr_var']), [1,2,3])
self.assertEqual(res['logic_var'], True)
self.assertEqual(res['logic_arr_var'], [True, False, True])
self.assertEqual(res['char_var'], '1"23')
self.assertEqual(res['char_arr_var'], ['1', '2', '3'])
self.assertEqual(res['set_var'], {1, 2, '3'})
self.assertEqual(res['list_var'], [1,2,'3'])
self.assertEqual(res['dict_var'], {'a': 1, 'b': 2, 'c': '3'})
#self.assertEqual(res['mat_var'].shape, (2,2))
self.assertEqual(res['recursive_var'], {'a': {'b': 123}, 'c': True})
self.assertEqual(res['comp_var'], 1+2j)
def testMagicSessioninfo(self):
with sos_kernel() as kc:
# preview variable
execute(kc=kc, code='''
%use R
%use Python3
%use SoS
%sessioninfo
''')
wait_for_idle(kc)
b = 1
run:
touch a.txt
[B_1]
depends: 'a.txt'
[B_2]
print(b)
'''
with sos_kernel() as kc:
iopub = kc.iopub_channel
execute(kc=kc, code=script)
wait_for_idle(kc)
execute(kc=kc, code="b")
res = get_result(iopub)
self.assertEqual(res, 1)
def testAutoSharedVars(self):
with sos_kernel() as kc:
iopub = kc.iopub_channel
execute(kc=kc, code="sos_null = None")
wait_for_idle(kc)
execute(kc=kc, code="sos_num = 123")
wait_for_idle(kc)
execute(kc=kc, code="%use R")
wait_for_idle(kc)
execute(kc=kc, code="sos_num")
res = get_display_data(iopub)
self.assertEqual(res, '[1] 123')
execute(kc=kc, code="sos_num = sos_num + 10")
wait_for_idle(kc)
execute(kc=kc, code="%use sos")
wait_for_idle(kc)
execute(kc=kc, code="sos_num")
res = get_display_data(iopub)
self.assertEqual(res, '133')