Skip to content
Snippets Groups Projects
Unverified Commit b3a1aca5 authored by qiuhao's avatar qiuhao Committed by GitHub
Browse files

update-fixedu128 (#187)

parent 7b881ef3
No related branches found
No related tags found
No related merge requests found
......@@ -5,7 +5,7 @@
use super::*;
use frame_support::{assert_noop, assert_ok, traits::OnFinalize};
use mock::{ExtBuilder, GraduallyUpdateModule, Origin, Runtime, System, TestEvent};
use orml_utilities::FixedU128;
use orml_utilities::{FixedU128, FixedUnsignedNumber};
use sp_runtime::Permill;
fn storage_set(key: &Vec<u8>, value: &Vec<u8>) {
......@@ -303,8 +303,8 @@ fn fixedu128_should_work() {
ExtBuilder::default().build().execute_with(|| {
let update = GraduallyUpdate {
key: vec![1],
target_value: FixedU128::from_rational(30, 1).encode(),
per_block: FixedU128::from_rational(1, 1).encode(),
target_value: FixedU128::saturating_from_rational(30, 1).encode(),
per_block: FixedU128::saturating_from_rational(1, 1).encode(),
};
assert_ok!(GraduallyUpdateModule::gradually_update(Origin::ROOT, update.clone()));
assert_eq!(storage_get(&update.key), vec![]);
......
......@@ -3,7 +3,7 @@
use frame_support::Parameter;
use orml_traits::{DataProvider, PriceProvider};
use orml_utilities::FixedU128;
use sp_runtime::traits::{MaybeSerializeDeserialize, Member};
use sp_runtime::traits::{CheckedDiv, MaybeSerializeDeserialize, Member};
use sp_std::marker::PhantomData;
pub type Price = FixedU128;
......
......@@ -3,14 +3,15 @@
#![cfg(test)]
use super::*;
use orml_utilities::FixedUnsignedNumber;
pub struct MockDataProvider;
impl DataProvider<u32, Price> for MockDataProvider {
fn get(currency: &u32) -> Option<Price> {
match currency {
0 => Some(Price::from_parts(0)),
1 => Some(Price::from_parts(1)),
2 => Some(Price::from_parts(2)),
0 => Some(Price::from_inner(0)),
1 => Some(Price::from_inner(1)),
2 => Some(Price::from_inner(2)),
_ => None,
}
}
......@@ -20,8 +21,14 @@ type TestPriceProvider = DefaultPriceProvider<u32, MockDataProvider>;
#[test]
fn get_price_should_work() {
assert_eq!(TestPriceProvider::get_price(1, 2), Some(Price::from_rational(1, 2)));
assert_eq!(TestPriceProvider::get_price(2, 1), Some(Price::from_rational(2, 1)));
assert_eq!(
TestPriceProvider::get_price(1, 2),
Some(Price::saturating_from_rational(1, 2))
);
assert_eq!(
TestPriceProvider::get_price(2, 1),
Some(Price::saturating_from_rational(2, 1))
);
}
#[test]
......@@ -35,5 +42,5 @@ fn price_is_none_should_not_panic() {
fn price_is_zero_should_not_panic() {
assert_eq!(TestPriceProvider::get_price(0, 0), None);
assert_eq!(TestPriceProvider::get_price(1, 0), None);
assert_eq!(TestPriceProvider::get_price(0, 1), Some(Price::from_parts(0)));
assert_eq!(TestPriceProvider::get_price(0, 1), Some(Price::from_inner(0)));
}
......@@ -14,6 +14,7 @@ sp-core = { version = "2.0.0-rc1", default-features = false }
sp-runtime = { version = "2.0.0-rc1", default-features = false }
sp-io = { version = "2.0.0-rc1", default-features = false }
sp-std = { version = "2.0.0-rc1", default-features = false }
sp-arithmetic= { version = "2.0.0-rc1", default-features = false }
frame-system = { version = "2.0.0-rc1", default-features = false }
frame-support = { version = "2.0.0-rc1", default-features = false }
......
This diff is collapsed.
......@@ -5,5 +5,6 @@ pub mod linked_item;
pub mod ordered_set;
pub use fixed_u128::FixedU128;
pub use fixed_u128::FixedUnsignedNumber;
pub use linked_item::{LinkedItem, LinkedList};
pub use ordered_set::OrderedSet;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment