anchor.diff:  //-------------
   |Create a subscription for the `sports-monthly` plan on `2021-09-29` (current date)  |Invoice generated for `$500` for `2021-09-29` to `2021-10-29` 
   |Change subscription (Default Policy) to use the `premium-monthly` plan | Plan change takes effect immediately (Invoice generated for `$1500` for `2021-09-29` to `2021-10-29` for the balance amount)
  -|Trigger invoice dry run with target date `2021-10-29`    |Invoice generated for  `$2000` for `2021-10-29` to `2021-11-29`  
  -|===
  -
  +|Trigger invoice dry run with target date `2021-10-29`    |Invoice generated for  `$2000` for `2021-10-29` to `2021-11-29` corresponding to the `premium-monthly` plan
  +|===
   
   ==== Rule 4: If fromProduct=Premium and toProduct=Standard, change policy=ILLEGAL
   
  
positive.code: 
  It specifies the following plan cancellation rules:
  
  . If `phaseType=TRIAL`, change policy=`IMMEDIATE`
  . If `fromProduct=Sports` and `toProduct=Super`, change policy=`IMMEDIATE`
  . If `toProduct=Premium`, change policy=`IMMEDIATE` (any `fromProduct` value)
  . If `fromProduct=Premium` and `toProduct=Standard`, change policy=`ILLEGAL`
  . For anything else, change policy=`END_OF_TERM`
  
  ==== Rule 1: If phaseType=TRIAL, change policy=IMMEDIATE
  
  
negative.code: //-------------
  |Create a subscription for the `sports-monthly` plan on `2021-09-29` (current date)  |Invoice generated for `$500` for `2021-09-29` to `2021-10-29` 
  |Change subscription (Default Policy) to use the `super-monthly` plan | Plan change takes effect immediately (Invoice generated for `$500` for `2021-09-29` to `2021-10-29` for the balance amount)
  |Trigger invoice dry run with target date `2021-10-29`    |Invoice generated for  `$1000` for `2021-10-29` to `2021-11-29` corresponding to the `super-monthly` plan
  |===
  
  ==== Rule 3: If toProduct=Premium, change policy=IMMEDIATE (any fromProduct value)
  