public void RealmValue_WhenCastingIsWrong_ThrowsException() { RealmValue rv = 10; Assert.That(() => rv.AsString(), Throws.Exception.TypeOf <InvalidCastException>()); Assert.That(() => rv.AsFloat(), Throws.Exception.TypeOf <InvalidCastException>()); rv = Guid.NewGuid().ToString(); Assert.That(() => rv.AsInt16(), Throws.Exception.TypeOf <InvalidCastException>()); Assert.That(() => rv.AsGuid(), Throws.Exception.TypeOf <InvalidCastException>()); rv = true; Assert.That(() => rv.AsInt16(), Throws.Exception.TypeOf <InvalidCastException>()); }
public void RunNumericTests(RealmValue rv, long value, bool isManaged) { if (isManaged) { var retrievedObject = PersistAndFind(rv); rv = retrievedObject.RealmValueProperty; } Assert.That(rv == value); Assert.That(rv.Type, Is.EqualTo(RealmValueType.Int)); Assert.That(rv != RealmValue.Null); // 8 - byte var byteValue = (byte)value; Assert.That((byte)rv == byteValue); Assert.That(rv.As <byte>() == byteValue); Assert.That((byte?)rv == byteValue); Assert.That(rv.As <byte?>() == byteValue); Assert.That(rv.AsByte() == byteValue); Assert.That(rv.AsNullableByte() == byteValue); Assert.That(rv.AsByteRealmInteger() == byteValue); Assert.That(rv.AsNullableByteRealmInteger() == byteValue); // 16 - short var shortValue = (short)value; Assert.That((short)rv == shortValue); Assert.That(rv.As <short>() == shortValue); Assert.That((short?)rv == shortValue); Assert.That(rv.As <short?>() == shortValue); Assert.That(rv.AsInt16() == shortValue); Assert.That(rv.AsNullableInt16() == shortValue); Assert.That(rv.AsInt16RealmInteger() == shortValue); Assert.That(rv.AsNullableInt16RealmInteger() == shortValue); // 32 - int var intValue = (int)value; Assert.That((int)rv == intValue); Assert.That(rv.As <int>() == intValue); Assert.That((int?)rv == intValue); Assert.That(rv.As <int?>() == intValue); Assert.That(rv.AsInt32() == intValue); Assert.That(rv.AsNullableInt32() == intValue); Assert.That(rv.AsInt32RealmInteger() == intValue); Assert.That(rv.AsNullableInt32RealmInteger() == intValue); // 64 - long Assert.That((long)rv == value); Assert.That(rv.As <long>() == value); Assert.That((long?)rv == value); Assert.That(rv.As <long?>() == value); Assert.That(rv.AsInt64() == value); Assert.That(rv.AsNullableInt64() == value); Assert.That(rv.AsInt64RealmInteger() == value); Assert.That(rv.AsNullableInt64RealmInteger() == value); }