public void Add() { var d = new DObject(); d.Add("key", "value"); Should.Throw <ArgumentException>(() => d.Add("key", "value")); }
private static void AddToDObject(DObject obj, string key, DObject.TypeCode type, object value) { switch (type) { case DObject.TypeCode.DObject: obj.Add(key, (DObject)value); break; case DObject.TypeCode.Boolean: obj.Add(key, (bool)value); break; case DObject.TypeCode.Char: obj.Add(key, (char)value); break; case DObject.TypeCode.SByte: obj.Add(key, (sbyte)value); break; case DObject.TypeCode.Byte: obj.Add(key, (byte)value); break; case DObject.TypeCode.Int16: obj.Add(key, (short)value); break; case DObject.TypeCode.UInt16: obj.Add(key, (ushort)value); break; case DObject.TypeCode.Int32: obj.Add(key, (int)value); break; case DObject.TypeCode.UInt32: obj.Add(key, (uint)value); break; case DObject.TypeCode.Int64: obj.Add(key, (long)value); break; case DObject.TypeCode.UInt64: obj.Add(key, (ulong)value); break; case DObject.TypeCode.Single: obj.Add(key, (float)value); break; case DObject.TypeCode.Double: obj.Add(key, (double)value); break; case DObject.TypeCode.Decimal: obj.Add(key, (decimal)value); break; case DObject.TypeCode.DateTime: obj.Add(key, (DateTime)value); break; case DObject.TypeCode.TimeSpan: obj.Add(key, (TimeSpan)value); break; case DObject.TypeCode.String: obj.Add(key, (string)value); break; case DObject.TypeCode.Guid: obj.Add(key, (Guid)value); break; case DObject.TypeCode.DObjectArray: obj.Add(key, (DObject[])value); break; case DObject.TypeCode.BooleanArray: obj.Add(key, (bool[])value); break; case DObject.TypeCode.CharArray: obj.Add(key, (char[])value); break; case DObject.TypeCode.SByteArray: obj.Add(key, (sbyte[])value); break; case DObject.TypeCode.ByteArray: obj.Add(key, (byte[])value); break; case DObject.TypeCode.Int16Array: obj.Add(key, (short[])value); break; case DObject.TypeCode.UInt16Array: obj.Add(key, (ushort[])value); break; case DObject.TypeCode.Int32Array: obj.Add(key, (int[])value); break; case DObject.TypeCode.UInt32Array: obj.Add(key, (uint[])value); break; case DObject.TypeCode.Int64Array: obj.Add(key, (long[])value); break; case DObject.TypeCode.UInt64Array: obj.Add(key, (ulong[])value); break; case DObject.TypeCode.SingleArray: obj.Add(key, (float[])value); break; case DObject.TypeCode.DoubleArray: obj.Add(key, (double[])value); break; case DObject.TypeCode.DecimalArray: obj.Add(key, (decimal[])value); break; case DObject.TypeCode.DateTimeArray: obj.Add(key, (DateTime[])value); break; case DObject.TypeCode.TimeSpanArray: obj.Add(key, (TimeSpan[])value); break; case DObject.TypeCode.StringArray: obj.Add(key, (string[])value); break; case DObject.TypeCode.GuidArray: obj.Add(key, (Guid[])value); break; default: throw new ArgumentOutOfRangeException("type", type, null); } }