Remove asset restrictions and make asset groups smarter
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
from django.test import TestCase
|
||||
|
||||
from core.models import AssetGroup, User
|
||||
from core.trading.assetfilter import get_allowed
|
||||
from core.trading import assetfilter
|
||||
|
||||
|
||||
class AssetfilterTestCase(TestCase):
|
||||
@@ -21,8 +21,75 @@ class AssetfilterTestCase(TestCase):
|
||||
Test that the asset filter works.
|
||||
"""
|
||||
self.group.allowed = {"EUR_USD": True, "EUR_GBP": False}
|
||||
self.assertTrue(get_allowed(self.group, "EUR_USD", "buy"))
|
||||
self.assertFalse(get_allowed(self.group, "EUR_GBP", "sell"))
|
||||
self.assertTrue(assetfilter.get_allowed(self.group, "EUR_USD", "buy"))
|
||||
self.assertFalse(assetfilter.get_allowed(self.group, "EUR_GBP", "sell"))
|
||||
|
||||
# Default true
|
||||
self.assertTrue(get_allowed(self.group, "nonexistent", "sell"))
|
||||
self.assertTrue(assetfilter.get_allowed(self.group, "nonexistent", "sell"))
|
||||
|
||||
def test_check_asset_aggregation(self):
|
||||
"""
|
||||
Test that the asset aggregation works.
|
||||
"""
|
||||
# Test within lower bound
|
||||
self.assertTrue(
|
||||
assetfilter.check_asset_aggregation(
|
||||
1.0, trigger_above=None, trigger_below=2.0
|
||||
)
|
||||
)
|
||||
|
||||
# Test within upper bound
|
||||
self.assertTrue(
|
||||
assetfilter.check_asset_aggregation(
|
||||
1.0, trigger_above=0.0, trigger_below=None
|
||||
)
|
||||
)
|
||||
|
||||
# Test within bounds
|
||||
self.assertTrue(
|
||||
assetfilter.check_asset_aggregation(
|
||||
1.0, trigger_above=0.0, trigger_below=2.0
|
||||
)
|
||||
)
|
||||
|
||||
# Test outside bounds
|
||||
self.assertFalse(
|
||||
assetfilter.check_asset_aggregation(
|
||||
1.0, trigger_above=2.0, trigger_below=3.0
|
||||
)
|
||||
)
|
||||
|
||||
# Test outside lower bound
|
||||
self.assertFalse(
|
||||
assetfilter.check_asset_aggregation(
|
||||
1.0, trigger_above=None, trigger_below=0.0
|
||||
)
|
||||
)
|
||||
|
||||
# Test outside upper bound
|
||||
self.assertFalse(
|
||||
assetfilter.check_asset_aggregation(
|
||||
1.0, trigger_above=2.0, trigger_below=None
|
||||
)
|
||||
)
|
||||
|
||||
# Test no bounds, just to be sure
|
||||
self.assertFalse(
|
||||
assetfilter.check_asset_aggregation(
|
||||
1.0, trigger_above=None, trigger_below=None
|
||||
)
|
||||
)
|
||||
|
||||
# Test both bounds, but inverted
|
||||
self.assertFalse(
|
||||
assetfilter.check_asset_aggregation(
|
||||
1.0, trigger_above=2.0, trigger_below=0.0
|
||||
)
|
||||
)
|
||||
|
||||
# Test within negative and positive bounds
|
||||
self.assertTrue(
|
||||
assetfilter.check_asset_aggregation(
|
||||
-1.0, trigger_above=-2.0, trigger_below=0.0
|
||||
)
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user