예제 #1
0
        private void CanSplitAssetMoneyCore(AssetId asset, long amount, int parts)
        {
            AssetMoney money    = new AssetMoney(asset, amount);
            var        splitted = money.Split(parts).ToArray();

            Assert.True(splitted.Length == parts);
            Assert.True(splitted.Sum(asset) == money);
            var groups          = splitted.Select(s => s.Quantity).GroupBy(o => o);
            var differentValues = groups.Count();

            Assert.True(differentValues == 1 || differentValues == 2);
        }
예제 #2
0
        public void CanSplitMoneyBag()
        {
            var gold = new AssetId(new Key());
            var bag  = new MoneyBag();

            bag += Money.Coins(12);
            bag += new AssetMoney(gold, 10);
            MoneyBag[] splitted = bag.Split(12).ToArray();
            Assert.Equal(Money.Coins(1.0m), splitted[0].GetAmount(null));
            Assert.Equal(new AssetMoney(gold, 1), splitted[0].GetAmount(gold));
            Assert.Equal(new AssetMoney(gold, 0), splitted[11].GetAmount(gold));
        }
예제 #3
0
		private void CanSplitAssetMoneyCore(AssetId asset, long amount, int parts)
		{
			AssetMoney money = new AssetMoney(asset, amount);
			var splitted = money.Split(parts).ToArray();
			Assert.True(splitted.Length == parts);
			Assert.True(splitted.Sum(asset) == money);
			var groups = splitted.Select(s => s.Quantity).GroupBy(o => o);
			var differentValues = groups.Count();
			Assert.True(differentValues == 1 || differentValues == 2);
		}		
예제 #4
0
		public void CanSplitMoneyBag()
		{
			var gold = new AssetId(new Key());
			MoneyBag bag = new MoneyBag();
			bag += Money.Coins(12);
			bag += new AssetMoney(gold, 10);
			var splitted = bag.Split(12).ToArray();
			Assert.Equal(Money.Coins(1.0m), splitted[0].GetAmount(null));
			Assert.Equal(new AssetMoney(gold, 1), splitted[0].GetAmount(gold));
			Assert.Equal(new AssetMoney(gold, 0), splitted[11].GetAmount(gold));
		}