### Question:
Bill implements SecuritizedProduct, Resolvable<ResolvedBill>, ImmutableBean, Serializable { public static Bill.Builder builder() { return new Bill.Builder(); } Bill(
      SecurityId securityId,
      AdjustablePayment notional,
      DayCount dayCount,
      BillYieldConvention yieldConvention,
      LegalEntityId legalEntityId,
      DaysAdjustment settlementDateOffset); @Override Currency getCurrency(); double priceFromYield(double yield, LocalDate settlementDate); double yieldFromPrice(double price, LocalDate settlementDate); @Override ResolvedBill resolve(ReferenceData refData); static Bill.Meta meta(); static Bill.Builder builder(); @Override Bill.Meta metaBean(); @Override SecurityId getSecurityId(); AdjustablePayment getNotional(); DayCount getDayCount(); BillYieldConvention getYieldConvention(); LegalEntityId getLegalEntityId(); DaysAdjustment getSettlementDateOffset(); Builder toBuilder(); @Override boolean equals(Object obj); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void test_positive_notional() { assertThatIllegalArgumentException() .isThrownBy(() -> Bill.builder() .dayCount(DAY_COUNT) .legalEntityId(LEGAL_ENTITY) .notional(AdjustablePayment.of(CurrencyAmount.of(CCY, -10), MATURITY_DATE_ADJ)) .securityId(SECURITY_ID) .settlementDateOffset(SETTLE) .yieldConvention(YIELD_CONVENTION).build()); }
@Test public void test_positive_offset() { assertThatIllegalArgumentException() .isThrownBy(() -> Bill.builder() .dayCount(DAY_COUNT) .legalEntityId(LEGAL_ENTITY) .notional(NOTIONAL) .securityId(SECURITY_ID) .settlementDateOffset(DaysAdjustment.ofBusinessDays(-11, USNY, BUSINESS_ADJUST)) .yieldConvention(YIELD_CONVENTION).build()); }