/usr/share/doc/nunit/examples/csharp/money/Money.cs is in libnunit-doc 2.5.10.11092+dfsg-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 | // ****************************************************************
// This is free software licensed under the NUnit license. You
// may obtain a copy of the license as well as information regarding
// copyright ownership at http://nunit.org/?p=license&r=2.4.
// ****************************************************************
namespace NUnit.Samples.Money
{
using System;
using System.Text;
/// <summary>A simple Money.</summary>
class Money: IMoney
{
private int fAmount;
private String fCurrency;
/// <summary>Constructs a money from the given amount and
/// currency.</summary>
public Money(int amount, String currency)
{
fAmount= amount;
fCurrency= currency;
}
/// <summary>Adds a money to this money. Forwards the request to
/// the AddMoney helper.</summary>
public IMoney Add(IMoney m)
{
return m.AddMoney(this);
}
public IMoney AddMoney(Money m)
{
if (m.Currency.Equals(Currency) )
return new Money(Amount+m.Amount, Currency);
return new MoneyBag(this, m);
}
public IMoney AddMoneyBag(MoneyBag s)
{
return s.AddMoney(this);
}
public int Amount
{
get { return fAmount; }
}
public String Currency
{
get { return fCurrency; }
}
public override bool Equals(Object anObject)
{
if (IsZero)
if (anObject is IMoney)
return ((IMoney)anObject).IsZero;
if (anObject is Money)
{
Money aMoney= (Money)anObject;
return aMoney.Currency.Equals(Currency)
&& Amount == aMoney.Amount;
}
return false;
}
public override int GetHashCode()
{
return fCurrency.GetHashCode()+fAmount;
}
public bool IsZero
{
get { return Amount == 0; }
}
public IMoney Multiply(int factor)
{
return new Money(Amount*factor, Currency);
}
public IMoney Negate()
{
return new Money(-Amount, Currency);
}
public IMoney Subtract(IMoney m)
{
return Add(m.Negate());
}
public override String ToString()
{
StringBuilder buffer = new StringBuilder();
buffer.Append("["+Amount+" "+Currency+"]");
return buffer.ToString();
}
}
}
|