Skip to content

Commit 736fa23

Browse files
authored
Merge pull request #113 from K1NGD4VID/unit-tests-for-quote
Unit tests for quote
2 parents a7ec666 + 7ffa154 commit 736fa23

1 file changed

Lines changed: 36 additions & 0 deletions

File tree

creator-keys/src/lib.rs

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -837,6 +837,42 @@ mod tests {
837837
assert_eq!(creator + protocol, total, "total={}", total);
838838
}
839839
}
840+
841+
#[test]
842+
fn test_checked_format_quote_response_buy_success() {
843+
let res = super::checked_format_quote_response(1000, 90, 10, true).unwrap();
844+
assert_eq!(res.price, 1000);
845+
assert_eq!(res.creator_fee, 90);
846+
assert_eq!(res.protocol_fee, 10);
847+
assert_eq!(res.total_amount, 1100);
848+
}
849+
850+
#[test]
851+
fn test_checked_format_quote_response_sell_success() {
852+
let res = super::checked_format_quote_response(1000, 90, 10, false).unwrap();
853+
assert_eq!(res.price, 1000);
854+
assert_eq!(res.creator_fee, 90);
855+
assert_eq!(res.protocol_fee, 10);
856+
assert_eq!(res.total_amount, 900);
857+
}
858+
859+
#[test]
860+
fn test_checked_format_quote_response_buy_overflow_fees() {
861+
let res = super::checked_format_quote_response(1000, i128::MAX, 1, true);
862+
assert_eq!(res, Err(super::ContractError::Overflow));
863+
}
864+
865+
#[test]
866+
fn test_checked_format_quote_response_buy_overflow_total() {
867+
let res = super::checked_format_quote_response(i128::MAX, 1, 0, true);
868+
assert_eq!(res, Err(super::ContractError::Overflow));
869+
}
870+
871+
#[test]
872+
fn test_checked_format_quote_response_sell_underflow_total() {
873+
let res = super::checked_format_quote_response(i128::MIN, 1, 0, false);
874+
assert_eq!(res, Err(super::ContractError::Overflow));
875+
}
840876
}
841877

842878
#[cfg(test)]

0 commit comments

Comments
 (0)