test_class.file: shared-kernel/src/test/java/net/pkhapps/ddd/shared/domain/financial/MoneyTest.java
test_class.identifier: MoneyTest
test_case.body: @Test
      public void valueOf_nullCurrency_nullReturned() {
          assertThat(Money.valueOf(null, 123)).isNull();
      }
test_case.class_method_signature: MoneyTest.valueOf_nullCurrency_nullReturned()
test_case.full_signature: @Test public void valueOf_nullCurrency_nullReturned()
test_case.identifier: valueOf_nullCurrency_nullReturned
test_case.invocations: isNull assertThat valueOf
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void valueOf_nullCurrency_nullReturned()
focal_class.declarator: currency
focal_class.modifier: @JsonProperty("currency")
      private final
focal_class.original_string: @JsonProperty("currency")
      private final Currency currency;
focal_class.type: Currency
focal_class.var_name: currency
focal_class.declarator: amount
focal_class.modifier: @JsonProperty("amount")
      private final
focal_class.original_string: @JsonProperty("amount")
      private final int amount;
focal_class.type: int
focal_class.var_name: amount
focal_class.file: shared-kernel/src/main/java/net/pkhapps/ddd/shared/domain/financial/Money.java
focal_class.identifier: Money
focal_class.interfaces: implements ValueObject
focal_class.class_method_signature: Money.Money(@NonNull @JsonProperty("currency") Currency currency, @JsonProperty("amount") int amount)
focal_class.full_signature: @JsonCreator public  Money(@NonNull @JsonProperty("currency") Currency currency, @JsonProperty("amount") int amount)
focal_class.identifier: Money
focal_class.modifiers: @JsonCreator public
focal_class.parameters: (@NonNull @JsonProperty("currency") Currency currency, @JsonProperty("amount") int amount)
focal_class.signature:  Money(@NonNull @JsonProperty("currency") Currency currency, @JsonProperty("amount") int amount)
focal_class.class_method_signature: Money.Money(@NonNull Currency currency, double amount)
focal_class.full_signature: public  Money(@NonNull Currency currency, double amount)
focal_class.identifier: Money
focal_class.modifiers: public
focal_class.parameters: (@NonNull Currency currency, double amount)
focal_class.signature:  Money(@NonNull Currency currency, double amount)
focal_class.class_method_signature: Money.valueOf(Currency currency, Integer value)
focal_class.full_signature: public static Money valueOf(Currency currency, Integer value)
focal_class.identifier: valueOf
focal_class.modifiers: public static
focal_class.parameters: (Currency currency, Integer value)
focal_class.return: Money
focal_class.signature: Money valueOf(Currency currency, Integer value)
focal_class.class_method_signature: Money.add(@NonNull Money augend)
focal_class.full_signature: @NonNull public Money add(@NonNull Money augend)
focal_class.identifier: add
focal_class.modifiers: @NonNull public
focal_class.parameters: (@NonNull Money augend)
focal_class.return: Money
focal_class.signature: Money add(@NonNull Money augend)
focal_class.class_method_signature: Money.subtract(@NonNull Money subtrahend)
focal_class.full_signature: @NonNull public Money subtract(@NonNull Money subtrahend)
focal_class.identifier: subtract
focal_class.modifiers: @NonNull public
focal_class.parameters: (@NonNull Money subtrahend)
focal_class.return: Money
focal_class.signature: Money subtract(@NonNull Money subtrahend)
focal_class.class_method_signature: Money.multiply(int multiplicand)
focal_class.full_signature: @NonNull public Money multiply(int multiplicand)
focal_class.identifier: multiply
focal_class.modifiers: @NonNull public
focal_class.parameters: (int multiplicand)
focal_class.return: Money
focal_class.signature: Money multiply(int multiplicand)
focal_class.class_method_signature: Money.currency()
focal_class.full_signature: @NonNull public Currency currency()
focal_class.identifier: currency
focal_class.modifiers: @NonNull public
focal_class.parameters: ()
focal_class.return: Currency
focal_class.signature: Currency currency()
focal_class.class_method_signature: Money.fixedPointAmount()
focal_class.full_signature: public int fixedPointAmount()
focal_class.identifier: fixedPointAmount
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int fixedPointAmount()
focal_class.class_method_signature: Money.doubleAmount()
focal_class.full_signature: public double doubleAmount()
focal_class.identifier: doubleAmount
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: double
focal_class.signature: double doubleAmount()
focal_class.class_method_signature: Money.equals(Object o)
focal_class.full_signature: @Override public boolean equals(Object o)
focal_class.identifier: equals
focal_class.modifiers: @Override public
focal_class.parameters: (Object o)
focal_class.return: boolean
focal_class.signature: boolean equals(Object o)
focal_class.class_method_signature: Money.hashCode()
focal_class.full_signature: @Override public int hashCode()
focal_class.identifier: hashCode
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int hashCode()
focal_class.class_method_signature: Money.toString()
focal_class.full_signature: @Override public String toString()
focal_class.identifier: toString
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String toString()
focal_method.body: public static Money valueOf(Currency currency, Integer value) {
          if (currency == null || value == null) {
              return null;
          } else {
              return new Money(currency, value);
          }
      }
focal_method.class_method_signature: Money.valueOf(Currency currency, Integer value)
focal_method.full_signature: public static Money valueOf(Currency currency, Integer value)
focal_method.identifier: valueOf
focal_method.modifiers: public static
focal_method.parameters: (Currency currency, Integer value)
focal_method.return: Money
focal_method.signature: Money valueOf(Currency currency, Integer value)