public void ShouldBeADate() { var value = new JsValue(new DateInstance(null)); Assert.Equal(false, value.IsBoolean()); Assert.Equal(false, value.IsArray()); Assert.Equal(true, value.IsDate()); Assert.Equal(false, value.IsNull()); Assert.Equal(false, value.IsNumber()); Assert.Equal(true, value.IsObject()); Assert.Equal(false, value.IsPrimitive()); Assert.Equal(false, value.IsRegExp()); Assert.Equal(false, value.IsString()); Assert.Equal(false, value.IsUndefined()); Assert.Equal(true, value.AsDate() != null); }
internal JToken ConvertBack(JTokenType type, JsValue value) { switch (type) { case JTokenType.Array: if (value.IsArray()) { var array = value.AsArray(); return new JArray(array.Properties.Where(k => ArrayInstance.IsArrayIndex(new JsValue(k.Key))).Select(kvp => ConvertBack(kvp.Value.Value ?? JsValue.Null))); } break; case JTokenType.Boolean: if (value.IsBoolean()) return new JValue(value.AsBoolean()); break; case JTokenType.Date: if (value.IsDate()) return new JValue(value.AsDate()); break; case JTokenType.Float: if (value.IsNumber()) return new JValue((float)value.AsNumber()); break; case JTokenType.Integer: if (value.IsNumber()) return new JValue((int)value.AsNumber()); break; case JTokenType.String: if (value.IsString()) return JValue.CreateString(value.AsString()); break; } return ConvertBack(value); }