Example #1
0
 /// <summary>
 /// 
 /// </summary>
 public void TestBagSubtract()
 {
     // {[12 CHF][7 USD]} - {[14 CHF][21 USD] == {[-2 CHF][-14 USD]}
     Money[] bag= { new Money(-2, "CHF"), new Money(-14, "USD") };
     MoneyBag expected= new MoneyBag(bag);
     Assertion.AssertEquals(expected, fMB1.Subtract(fMB2));
 }
Example #2
0
 /// <summary>
 /// 
 /// </summary>
 public void TestBagSimpleAdd()
 {
     // {[12 CHF][7 USD]} + [14 CHF] == {[26 CHF][7 USD]}
     Money[] bag= { new Money(26, "CHF"), new Money(7, "USD") };
     MoneyBag expected= new MoneyBag(bag);
     Assertion.AssertEquals(expected, fMB1.Add(f14CHF));
 }
Example #3
0
 /// <summary>
 /// 
 /// </summary>
 public void TestBagSumAdd()
 {
     // {[12 CHF][7 USD]} + {[14 CHF][21 USD]} == {[26 CHF][28 USD]}
     Money[] bag= { new Money(26, "CHF"), new Money(28, "USD") };
     MoneyBag expected= new MoneyBag(bag);
     Assertion.AssertEquals(expected, fMB1.Add(fMB2));
 }
Example #4
0
 public void BagNegate()
 {
   // {[12 CHF][7 USD]} negate == {[-12 CHF][-7 USD]}
   Money[] bag = { new Money(-12, "CHF"), new Money(-7, "USD") };
   MoneyBag expected = new MoneyBag(bag);
   Assert.AreEqual(expected, fMB1.Negate());
 }
Example #5
0
 /// <summary>
 /// 
 /// </summary>
 public void TestBagMultiply()
 {
     // {[12 CHF][7 USD]} *2 == {[24 CHF][14 USD]}
     Money[] bag = { new Money(24, "CHF"), new Money(14, "USD") };
     MoneyBag expected= new MoneyBag(bag);
     Assertion.AssertEquals(expected, fMB1.Multiply(2));
     Assertion.AssertEquals(fMB1, fMB1.Multiply(1));
     Assertion.Assert(fMB1.Multiply(0).IsZero);
 }
Example #6
0
 public void BagMultiply()
 {
   // {[12 CHF][7 USD]} *2 == {[24 CHF][14 USD]}
   Money[] bag = { new Money(24, "CHF"), new Money(14, "USD") };
   MoneyBag expected = new MoneyBag(bag);
   Assert.AreEqual(expected, fMB1.Multiply(2));
   Assert.AreEqual(fMB1, fMB1.Multiply(1));
   Assert.IsTrue(fMB1.Multiply(0).IsZero);
 }
Example #7
0
    protected void SetUp()
    {
      f12CHF = new Money(12, "CHF");
      f14CHF = new Money(14, "CHF");
      f7USD = new Money(7, "USD");
      f21USD = new Money(21, "USD");

      fMB1 = new MoneyBag(f12CHF, f7USD);
      fMB2 = new MoneyBag(f14CHF, f21USD);
    }
Example #8
0
 public void Normalize()
 {
   Money[] bag = { new Money(26, "CHF"), new Money(28, "CHF"), new Money(6, "CHF") };
   MoneyBag moneyBag = new MoneyBag(bag);
   Money[] expected = { new Money(60, "CHF") };
   // note: expected is still a MoneyBag
   MoneyBag expectedBag = new MoneyBag(expected);
   Assert.AreEqual(expectedBag, moneyBag);
 }
Example #9
0
 public void MoneyBagHash()
 {
   MoneyBag equal = new MoneyBag(new Money(12, "CHF"), new Money(7, "USD"));
   Assert.AreEqual(fMB1.GetHashCode(), equal.GetHashCode());
 }
Example #10
0
    public void MoneyBagEquals()
    {
      //NOTE: Normally we use Assert.AreEqual to test whether two
      // objects are equal. But here we are testing the MoneyBag.Equals()
      // method itself, so using AreEqual would not serve the purpose.
      Assert.IsFalse(fMB1.Equals(null));

      Assert.IsTrue(fMB1.Equals(fMB1));
      MoneyBag equal = new MoneyBag(new Money(12, "CHF"), new Money(7, "USD"));
      Assert.IsTrue(fMB1.Equals(equal));
      Assert.IsTrue(!fMB1.Equals(f12CHF));
      Assert.IsTrue(!f12CHF.Equals(fMB1));
      Assert.IsTrue(!fMB1.Equals(fMB2));
    }
Example #11
0
 public MoneyBag(MoneyBag m1, MoneyBag m2)
 {
     AppendBag(m1);
     AppendBag(m2);
 }
Example #12
0
        public void MoneyBagHash()
        {
            MoneyBag equal = new MoneyBag(new Money(12, "CHF"), new Money(7, "USD"));

            Assert.AreEqual(fMB1.GetHashCode(), equal.GetHashCode());
        }
Example #13
0
 public void SimpleBagAdd()
 {
   // [14 CHF] + {[12 CHF][7 USD]} == {[26 CHF][7 USD]}
   Money[] bag = { new Money(26, "CHF"), new Money(7, "USD") };
   MoneyBag expected = new MoneyBag(bag);
   Assert.AreEqual(expected, f14CHF.Add(fMB1));
 }
Example #14
0
        /// <summary>
        /// 
        /// </summary>
        public void TestMoneyBagEquals()
        {
            Assertion.Assert(!fMB1.Equals(null));

            Assertion.AssertEquals(fMB1, fMB1);
            MoneyBag equal= new MoneyBag(new Money(12, "CHF"), new Money(7, "USD"));
            Assertion.Assert(fMB1.Equals(equal));
            Assertion.Assert(!fMB1.Equals(f12CHF));
            Assertion.Assert(!f12CHF.Equals(fMB1));
            Assertion.Assert(!fMB1.Equals(fMB2));
        }
 // Use this for initialization
 void Start()
 {
     weaponReference = GameObject.FindWithTag("Player").GetComponent <Shoot>();
     goldReference   = GameObject.FindWithTag("Player").GetComponent <MoneyBag>();
     gameObject.GetComponentInChildren <TextMesh>().text = price.ToString();
 }
Example #16
0
 public IMoney AddMoneyBag(MoneyBag s)
 {
     return((new MoneyBag(s, this)).Simplify());
 }
Example #17
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));
		}
Example #18
0
 public IMoney AddMoneyBag(MoneyBag s)
 {
   return s.AddMoney(this);
 }
Example #19
0
        /// <summary>
        ///
        /// </summary>
        public void TestMoneyBagHash()
        {
            MoneyBag equal = new MoneyBag(new Money(12, "CHF"), new Money(7, "USD"));

            Assertion.AssertEquals(fMB1.GetHashCode(), equal.GetHashCode());
        }
Example #20
0
 public void Normalize3()
 {
   // {[12 CHF][7 USD]} - {[12 CHF][3 USD]} == [4 USD]
   Money[] s1 = { new Money(12, "CHF"), new Money(3, "USD") };
   MoneyBag ms1 = new MoneyBag(s1);
   Money expected = new Money(4, "USD");
   Assert.AreEqual(expected, fMB1.Subtract(ms1));
 }
Example #21
0
 public void Normalize4()
 {
   // [12 CHF] - {[12 CHF][3 USD]} == [-3 USD]
   Money[] s1 = { new Money(12, "CHF"), new Money(3, "USD") };
   MoneyBag ms1 = new MoneyBag(s1);
   Money expected = new Money(-3, "USD");
   Assert.AreEqual(expected, f12CHF.Subtract(ms1));
 }
Example #22
0
 public IMoney Multiply(int factor)
 {
   MoneyBag result = new MoneyBag();
   if (factor != 0)
   {
     foreach (Money m in fMonies)
     {
       result.AppendMoney((Money)m.Multiply(factor));
     }
   }
   return result;
 }
Example #23
0
 public MoneyBag(Money m, MoneyBag bag)
 {
   AppendMoney(m);
   AppendBag(bag);
 }
Example #24
0
 public IMoney AddMoneyBag(MoneyBag s)
 {
   return (new MoneyBag(s, this)).Simplify();
 }
Example #25
0
 /// <summary>
 /// 
 /// </summary>
 public void TestMoneyBagHash()
 {
     MoneyBag equal= new MoneyBag(new Money(12, "CHF"), new Money(7, "USD"));
     Assertion.AssertEquals(fMB1.GetHashCode(), equal.GetHashCode());
 }
Example #26
0
        public override void End()
        {
            CalloutRunning = false;
            Rage.Native.NativeFunction.Natives.CLEAR_PED_NON_CREATION_AREA();
            NativeFunction.Natives.SET_STORE_ENABLED(true);
            if (Game.LocalPlayer.Character.Exists())
            {
                if (Game.LocalPlayer.Character.IsDead)
                {
                    GameFiber.Wait(1500);
                    Functions.PlayScannerAudio("OFFICER HAS_BEEN_FATALLY_SHOT NOISE_SHORT OFFICER_NEEDS_IMMEDIATE_ASSISTANCE");
                    GameFiber.Wait(3000);
                    if (ComputerPlusRunning)
                    {
                        API.ComputerPlusFuncs.AddUpdateToCallout(CalloutID, "Officer down. Urgent assistance required.");
                    }
                }
            }
            else
            {
                GameFiber.Wait(1500);
                Functions.PlayScannerAudio("OFFICER HAS_BEEN_FATALLY_SHOT NOISE_SHORT OFFICER_NEEDS_IMMEDIATE_ASSISTANCE");
                GameFiber.Wait(3000);
                if (ComputerPlusRunning)
                {
                    API.ComputerPlusFuncs.AddUpdateToCallout(CalloutID, "Officer down. Urgent assistance required.");
                }
            }
            base.End();
            if (SearchArea.Exists())
            {
                SearchArea.Delete();
            }

            if (CalloutFinished)
            {
                foreach (Ped ShopKeeper in ShopKeepers)
                {
                    if (ShopKeeper.Exists())
                    {
                        ShopKeeper.Tasks.Clear(); ShopKeeper.IsPersistent = false;
                    }
                }
                foreach (Ped suspect in Suspects)
                {
                    if (suspect.Exists())
                    {
                        Suspect.IsPersistent = false;
                    }
                }
                foreach (Rage.Object MoneyBag in MoneyBags)
                {
                    if (MoneyBag.Exists())
                    {
                        MoneyBag.Detach();
                        MoneyBag.Dismiss();
                    }
                }
                if (EscapeVanDriver.Exists())
                {
                    EscapeVanDriver.IsPersistent = false;
                }
                if (EscapeVan.Exists())
                {
                    EscapeVan.Dismiss();
                }
            }
            else
            {
                foreach (Ped ShopKeeper in ShopKeepers)
                {
                    if (ShopKeeper.Exists())
                    {
                        ShopKeeper.Delete();
                    }
                }
                foreach (Rage.Object MoneyBag in MoneyBags)
                {
                    if (MoneyBag.Exists())
                    {
                        MoneyBag.Delete();
                    }
                }
                foreach (Ped suspect in Suspects)
                {
                    if (suspect.Exists())
                    {
                        suspect.Delete();
                    }
                }
                if (EscapeVan.Exists())
                {
                    EscapeVan.Delete();
                }
                if (EscapeVanDriver.Exists())
                {
                    EscapeVanDriver.Delete();
                }
            }
        }
Example #27
0
 public IMoney Negate()
 {
   MoneyBag result = new MoneyBag();
   foreach (Money m in fMonies)
   {
     result.AppendMoney((Money)m.Negate());
   }
   return result;
 }
Example #28
0
		public void MoneyBagOperations()
		{
			var msft = new AssetId("8f316d9a09");
			var goog = new AssetId("097f175bc8");
			var usd = new AssetId("6d2e8c766a");

			// 10 MSFT + 3 GOOG
			var mb = new MoneyBag(new AssetMoney(msft, 10), new AssetMoney(goog, 3));

			// (10 MSFT + 3 GOOG) + 1000 satoshis
			Assert.Equal(
				new MoneyBag(new AssetMoney(msft, 10), new AssetMoney(goog, 3), new Money(1000)),
				mb + Money.Satoshis(1000));

			// (10 MSFT + 3 GOOG) + 30 GOOG == (10 MSFT + 33 GOOG)
			Assert.Equal(
				new MoneyBag(new AssetMoney(msft, 10), new AssetMoney(goog, 33)),
				mb + new AssetMoney(goog, 30));

			// (10 MSFT + 3 GOOG) + (10 MSFT + 3 GOOG) == (20 MSFT + 6 GOOG)
			Assert.Equal(
				new MoneyBag(new AssetMoney(msft, 20), new AssetMoney(goog, 6)),
				mb + mb);

			//-----
			// (10 MSFT + 3 GOOG) - 1000 satoshis
			Assert.Equal(
				new MoneyBag(new AssetMoney(msft, 10), new AssetMoney(goog, 3), new Money(-1000)),
				mb - (Money.Satoshis(1000)));

			// (10 MSFT + 3 GOOG) - 30 GOOG == (10 MSFT - 27 GOOG)
			Assert.Equal(
				new MoneyBag(new AssetMoney(msft, 10), new AssetMoney(goog, -27)),
				mb - (new AssetMoney(goog, 30)));

			// (10 MSFT + 3 GOOG) - (10 MSFT + 3 GOOG) == ()
			Assert.Equal(
				new MoneyBag(),
				mb - (mb));

			// (10 MSFT + 3 GOOG) - (1 MSFT - 5 GOOG) +  10000 Satoshi == (9 MSFT + 8 GOOG + 10000 Satoshi)
			var b1 = new MoneyBag(new AssetMoney(msft, 10), new AssetMoney(goog, 3));
			var b2 = new MoneyBag(new AssetMoney(msft, 1), new AssetMoney(goog, -5));

			var b1_2 = b1 - (b2) + (new Money(10000));
			Assert.True(
				b1_2.SequenceEqual(new IMoney[] { new AssetMoney(msft, 9), new AssetMoney(goog, 8), new Money(10000) }));
		}
Example #29
0
 public MoneyBag(MoneyBag m1, MoneyBag m2)
 {
   AppendBag(m1);
   AppendBag(m2);
 }
Example #30
0
 public void MixedSimpleAdd()
 {
   // [12 CHF] + [7 USD] == {[12 CHF][7 USD]}
   Money[] bag = { f12CHF, f7USD };
   MoneyBag expected = new MoneyBag(bag);
   Assert.AreEqual(expected, f12CHF.Add(f7USD));
 }
Example #31
0
 private void AppendBag(MoneyBag aBag)
 {
   foreach (Money m in aBag.fMonies)
     AppendMoney(m);
 }
Example #32
0
 public MoneyBag(Money m, MoneyBag bag)
 {
     AppendMoney(m);
     AppendBag(bag);
 }