### Question:
SecurityPosition implements ResolvableSecurityPosition, ImmutableBean, Serializable { public static SecurityPosition.Builder builder() { return new SecurityPosition.Builder(); } SecurityPosition(
      PositionInfo info,
      SecurityId securityId,
      double longQuantity,
      double shortQuantity); static SecurityPosition ofNet(SecurityId securityId, double netQuantity); static SecurityPosition ofNet(PositionInfo positionInfo, SecurityId securityId, double netQuantity); static SecurityPosition ofLongShort(SecurityId securityId, double longQuantity, double shortQuantity); static SecurityPosition ofLongShort(
      PositionInfo positionInfo,
      SecurityId securityId,
      double longQuantity,
      double shortQuantity); @Override @DerivedProperty double getQuantity(); @Override SecurityPosition withInfo(PortfolioItemInfo info); @Override SecurityPosition withQuantity(double quantity); @Override SecuritizedProductPosition<?> resolveTarget(ReferenceData refData); static SecurityPosition.Meta meta(); static SecurityPosition.Builder builder(); @Override SecurityPosition.Meta metaBean(); @Override PositionInfo getInfo(); @Override SecurityId getSecurityId(); double getLongQuantity(); double getShortQuantity(); Builder toBuilder(); @Override boolean equals(Object obj); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void test_summarize() { SecurityPosition trade = sut(); PortfolioItemSummary expected = PortfolioItemSummary.builder() .id(POSITION_INFO.getId().orElse(null)) .portfolioItemType(PortfolioItemType.POSITION) .productType(ProductType.SECURITY) .description("Id x 100") .build(); assertThat(trade.summarize()).isEqualTo(expected); }