def test_input_value_string_nostringenv(self): self.assertEqual( '"TestString"', wdl.get_input_value_from_potential_selector_or_generator( "TestString", None, string_environment=False ), )
def test_input_value_int_nostringenv(self): self.assertEqual( 42, wdl.get_input_value_from_potential_selector_or_generator( 42, None, string_environment=False ), )
def test_input_value_none_stringenv(self): self.assertEqual( None, wdl.get_input_value_from_potential_selector_or_generator( None, None, string_environment=True ), )
def test_resolve_filename_in_inpselect(self): fn = Filename(extension=".ext") ti = {"ti": ToolInput("ti", fn)} b = StringFormatter("fn: {place}", place=InputSelector("ti")) res = wdl.get_input_value_from_potential_selector_or_generator(b, ti) self.assertEqual( f'fn: ~{{select_first([ti, "{fn.generated_filename()}"])}}', res)
def test_input_value_filename_nostringenv(self): fn = Filename() self.assertEqual( '"%s"' % fn.generated_filename(), wdl.get_input_value_from_potential_selector_or_generator( fn, None, string_environment=False), )
def test_input_value_filename_stringenv(self): import uuid fn = Filename(guid=str(uuid.uuid4())) self.assertEqual( fn.generated_filename(), wdl.get_input_value_from_potential_selector_or_generator( fn, None, string_environment=True ), )
def test_input_value_wdl_callable(self): class CallableWdl: def wdl(self): return "unbelievable" self.assertEqual( "unbelievable", wdl.get_input_value_from_potential_selector_or_generator( CallableWdl(), None), )
def test_input_value_cpuselect_stringenv(self): # CpuSelector relies on their being a runtime_cpu attribute, # this test will assume it's present, and '' will test ensure # that it is actually present ti = {"runtime_cpu": ToolInput("runtime_cpu", Int(), default=1)} inp = CpuSelector() self.assertEqual( "~{select_first([runtime_cpu, 1])}", wdl.get_input_value_from_potential_selector_or_generator( inp, ti, string_environment=True), )
def test_string_formatter_two_param(self): # vardict input format d = { "tumorInputName": ToolInput("tumorInputName", String()), "normalInputName": ToolInput("normalInputName", String()), } b = StringFormatter( "{tumorName}:{normalName}", tumorName=InputSelector("tumorInputName"), normalName=InputSelector("normalInputName"), ) res = wdl.get_input_value_from_potential_selector_or_generator(b, d) self.assertEqual("${tumorInputName}:${normalInputName}", res)
def test_string_formatter_optional_inpselect_with_default(self): ti = {"ti": ToolInput("ti", String(optional=True), default="hi")} b = StringFormatter("{place} michael", place=InputSelector("ti")) res = wdl.get_input_value_from_potential_selector_or_generator(b, ti) self.assertEqual('${if defined(ti) then ti else "hi"} michael', res)
def test_string_formatter_one_input_selector_param(self): d = {"random_input": ToolInput("random_input", String())} b = StringFormatter("an input {arg}", arg=InputSelector("random_input")) res = wdl.get_input_value_from_potential_selector_or_generator(b, d) self.assertEqual("an input ${random_input}", res)
def test_string_formatter_one_string_param(self): b = StringFormatter("there's {one} arg", one="a string") res = wdl.get_input_value_from_potential_selector_or_generator(b, None) self.assertEqual("there's a string arg", res)
def test_string_formatter(self): b = StringFormatter("no format") res = wdl.get_input_value_from_potential_selector_or_generator(b, None) self.assertEqual("no format", res)