def test_determine_function_type_scalar(self): type = determine_function_type(1.0) assert type == 'scalar' type = determine_function_type(1) assert type == 'scalar'
def test_determine_function_type_scalar(self): type = determine_function_type(1.0) assert type == 'scalar' type = determine_function_type(1) assert type == 'scalar'
def set_value(self,value): """Set value Can change value while running Can be a scalar, or a function of t or x,y or x,y,t or a quantity """ # Test if rate is a quantity if isinstance(value, Quantity): self.value_type = 'quantity' else: # Possible types are 'scalar', 't', 'x,y' and 'x,y,t' from anuga.utilities.function_utils import determine_function_type self.value_type = determine_function_type(value) self.value = value if self.value_type == 'scalar': self.value_callable = False self.value_spatial = False elif self.value_type == 'quantity': self.value_callable = False self.valuespatial = False elif self.value_type == 't': self.value_callable = True self.value_spatial = False else: self.value_callable = True self.value_spatial = True
def set_rate(self, rate): """Set rate Can change rate while running Can be a scalar, or a function of t or x,y or x,y,t or a quantity """ # Test if rate is a quantity if isinstance(rate, Quantity): self.rate_type = 'quantity' else: # Possible types are 'scalar', 't', 'x,y' and 'x,y,t' from anuga.utilities.function_utils import determine_function_type self.rate_type = determine_function_type(rate) self.rate = rate if self.rate_type == 'scalar': self.rate_callable = False self.rate_spatial = False elif self.rate_type == 'quantity': self.rate_callable = False self.rate_spatial = False elif self.rate_type == 't': self.rate_callable = True self.rate_spatial = False else: self.rate_callable = True self.rate_spatial = True
def test_determine_function_type_spatial_only(self): def myfunc(x, y, t): return x + y + t type = determine_function_type(myfunc) assert type == 'x,y,t'
def test_determine_function_type_time_only(self): def myfunc(t): return t * 2 type = determine_function_type(myfunc) assert type == 't'
def set_w_uh_vh(self, w_uh_vh = None): self.w_uh_vh = w_uh_vh self.w_uh_vh_type = determine_function_type(w_uh_vh) if self.w_uh_vh_type == 'array': self.w_uh_vh = ensure_numeric(self.w_uh_vh) elif self.w_uh_vh_type == 'scalar': self.w_uh_vh = float(self.w_uh_vh)
def test_determine_function_type_spatial_only(self): def myfunc(x,y,t): return x+y+t type = determine_function_type(myfunc) assert type == 'x,y,t'
def test_determine_function_type_time_only(self): def myfunc(t): return t*2 type = determine_function_type(myfunc) assert type == 't'
def set_value(self, value=None): self.value = value self.value_type = determine_function_type(value)
def test_determine_function_type_exception(self): type = determine_function_type([]) assert type == 'array'
def set_value(self, value = None): self.value = value self.value_type = determine_function_type(value)
def test_determine_function_type_exception(self): type = determine_function_type([]) assert type == 'array'