public void DeserializingNoElementAsDefaultValue() { var bsonDoc = new BsonDocument(); StubWithIgnoreIfDefault value = null; Assert.DoesNotThrow(() => value = BsonSerializer.Deserialize <StubWithIgnoreIfDefault>(bsonDoc)); Assert.That(value, Is.Not.Null); Assert.That(value.Money, Is.EqualTo(Money.Zero)); }
public void DontSerializingZeroValueWhenIgnoringDefaultValue() { var value = new StubWithIgnoreIfDefault() { Money = Money.Zero }; var doc = Serialize(value); var hasElement = doc.Elements.Any(el => el.Name == _moneyField); Assert.That(hasElement, Is.False); }
public void SerializingZeroAmountValueWhenIgnoringDefaultValue( [ValueSource(nameof(AllCurrencies))] ICurrency currency) { var value = new StubWithIgnoreIfDefault() { Money = currency.Money(0m) }; var doc = Serialize(value); var hasElement = doc.Elements.Any(el => el.Name == _moneyField); Assert.That(hasElement, Is.True); }