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;
        }
Example #3
0
        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));
        }