diff options
Diffstat (limited to 'tools/NUnit/samples/csharp/money/IMoney.cs')
-rw-r--r-- | tools/NUnit/samples/csharp/money/IMoney.cs | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/tools/NUnit/samples/csharp/money/IMoney.cs b/tools/NUnit/samples/csharp/money/IMoney.cs new file mode 100644 index 0000000..9b3fd35 --- /dev/null +++ b/tools/NUnit/samples/csharp/money/IMoney.cs @@ -0,0 +1,37 @@ +// **************************************************************** +// 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 +{ + + /// <summary>The common interface for simple Monies and MoneyBags.</summary> + interface IMoney + { + + /// <summary>Adds a money to this money.</summary> + IMoney Add(IMoney m); + + /// <summary>Adds a simple Money to this money. This is a helper method for + /// implementing double dispatch.</summary> + IMoney AddMoney(Money m); + + /// <summary>Adds a MoneyBag to this money. This is a helper method for + /// implementing double dispatch.</summary> + IMoney AddMoneyBag(MoneyBag s); + + /// <value>True if this money is zero.</value> + bool IsZero { get; } + + /// <summary>Multiplies a money by the given factor.</summary> + IMoney Multiply(int factor); + + /// <summary>Negates this money.</summary> + IMoney Negate(); + + /// <summary>Subtracts a money from this money.</summary> + IMoney Subtract(IMoney m); + } +} |