private static Kv1BinaryNodeType GetNodeType(KvValueType type) { switch (type) { case KvValueType.FloatingPoint: return(Kv1BinaryNodeType.Float32); case KvValueType.Int32: return(Kv1BinaryNodeType.Int32); case KvValueType.Pointer: return(Kv1BinaryNodeType.Pointer); case KvValueType.String: return(Kv1BinaryNodeType.String); case KvValueType.UInt64: return(Kv1BinaryNodeType.UInt64); case KvValueType.Int64: return(Kv1BinaryNodeType.Int64); default: throw new ArgumentOutOfRangeException(nameof(type), type, "Unsupported value type."); } }
public KvObjectValue(TObject value, KvValueType valueType) { if (value == null) { throw new ArgumentNullException(nameof(value)); } _value = value; ValueType = valueType; }
public void HasValueOfType <TExpected>(KvValueType expectedType, TypeCode expectedTypeCode, string key, TExpected expectedValue) { var actualValue = _data[key]; Assert.That(actualValue, Is.Not.Null); Assert.That(actualValue.ValueType, Is.EqualTo(expectedType), nameof(KvValueType)); Assert.That(actualValue.GetTypeCode(), Is.EqualTo(expectedTypeCode), nameof(TypeCode)); var typedActualValue = Convert.ChangeType(actualValue, typeof(TExpected)); Assert.That(typedActualValue, Is.EqualTo(expectedValue)); }