public void SBoolTranslateTest() { var processor = ScriptProcessorFactory.GetNew(); SBool testBool = processor.CreateBool(true); var obj = ScriptOutAdapter.Translate(testBool); Assert.IsTrue(obj.GetType() == typeof(bool)); Assert.IsTrue((bool)obj == testBool.Value); }
private async Task <SData> ConvertToSDataAsync(JToken value, SDataType dataType) { SData result = null; try { switch (dataType) { case SDataType.Bool: result = new SBool(value.Value <bool>()); break; case SDataType.DateTime: result = new SDateTime(value.Value <DateTime>()); break; case SDataType.Duration: result = new SDuration(value.Value <string>()); break; case SDataType.Number: result = new SNumber(value.Value <double>()); break; case SDataType.NumberList: result = new SNumberList(value.Select(i => i.Value <double>()).ToList()); break; case SDataType.String: result = new SString(value.Value <string>()); break; case SDataType.StringDict: result = new SStringDict(value.ToDictionary(i => ((JProperty)i).Name, i => ((JProperty)i).Value.Value <string>())); break; case SDataType.StringList: result = new SStringList(value.Select(i => i.Value <string>()).ToList()); break; } } catch (Exception e) { throw new EvalException($"Cannot convert {value.ToString()} to data type {dataType.ToString()}.", e); } return(await Task.FromResult(result)); }
/// <summary> /// Creates an instance of the bool primitive. /// </summary> internal SBool CreateBool(bool value) { return(SBool.Factory(value)); }