本文整理汇总了C#中Ninject.StandardKernel.ReceiveMoney方法的典型用法代码示例。如果您正苦于以下问题:C# StandardKernel.ReceiveMoney方法的具体用法?C# StandardKernel.ReceiveMoney怎么用?C# StandardKernel.ReceiveMoney使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Ninject.StandardKernel
的用法示例。
在下文中一共展示了StandardKernel.ReceiveMoney方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: StandardKernel
public void _連続購入()
{
var ctx = new StandardKernel().BindNoChangeContext().Get<PurchaseContext>();
ctx.ReceiveMoney(Money.Coin100, 6);
ctx.ReceiveMoney(Money.Coin50, 3);
Assert.That(ctx.Racks[2].State, Is.EqualTo(ItemRackState.CanPurchase));
ctx.Purchase(2);
Assert.That(ctx.Racks[2].State, Is.EqualTo(ItemRackState.CanPurchase));
ctx.Purchase(2);
Assert.That(ctx.Racks[2].State, Is.EqualTo(ItemRackState.CanPurchase));
ctx.Purchase(2);
Assert.That(ctx.Racks[2].State, Is.EqualTo(ItemRackState.CanNotPurchase));
}
示例2:
public void _金銭を投入して商品を受け取る_丁度の場合()
{
var ctx = new Ninject.StandardKernel()
.BindPurchaseContext()
.Get<PurchaseContext>()
;
Assert.That(ctx.CanPurchase(0), Is.False);
ctx.ReceiveMoney(Money.Coin100);
ctx.ReceiveMoney(Money.Coin10);
ctx.ReceiveMoney(Money.Coin10);
Assert.That(ctx.CanPurchase(0), Is.True, "should be purchased");
var item = ctx.Purchase(0);
Assert.That(item.Name, Is.EqualTo("Item0"));
Assert.That(ctx.ReceivedTotal, Is.EqualTo(0));
Assert.That(ctx.Eject().Any(), Is.False);
}
示例3: foreach
public void _金銭を投入して商品を受け取る_釣り銭が発生する場合()
{
var ctx = new Ninject.StandardKernel()
.BindPurchaseContext()
.Get<PurchaseContext>()
;
Assert.That(ctx.CanPurchase(0), Is.False);
ctx.ReceiveMoney(Money.Coin100);
ctx.ReceiveMoney(Money.Coin100);
var item = ctx.Purchase(0);
Assert.That(item.Name, Is.EqualTo("Item0"));
Assert.That(ctx.ReceivedTotal, Is.EqualTo(80));
var changes = ctx.Eject()
.GroupBy(m => m)
.ToDictionary(g => g.Key, g => g.Count())
;
var expected = new Dictionary<Money, int> {
{Money.Coin10, 3},
{Money.Coin50, 1},
};
foreach (var m in expected) {
Assert.That(changes.ContainsKey(m.Key), Is.True);
Assert.That(changes[m.Key], Is.EqualTo(m.Value));
}
var notContained = Enum.GetValues(typeof(Money))
.Cast<Money>()
.Where(m => ! expected.ContainsKey(m))
;
foreach (var m in notContained) {
Assert.That(changes.ContainsKey(m), Is.False);
}
}
示例4: foreach
public void _金銭を投入して商品を受け取る_お札を投入する場合()
{
var ctx = new Ninject.StandardKernel()
.BindPurchaseContext()
.Get<PurchaseContext>()
;
Assert.That(ctx.Racks[0].State, Is.EqualTo(ItemRackState.CanNotPurchase));
ctx.ReceiveMoney(Money. Bill1000, 1);
var item = ctx.Purchase(0);
Assert.That(item.Name, Is.EqualTo("Item0"));
Assert.That(ctx.ReceivedTotal, Is.EqualTo(880));
var changes = ctx.Eject()
.Credits
.Where(c => c.Value > 0)
.ToDictionary(g => g.Key, g => g.Value)
;
var expected = new Dictionary<Money, int> {
{Money.Coin10, 3},
{Money.Coin50, 1},
{Money.Coin500, 1},
{Money.Coin100, 3},
};
foreach (var m in expected) {
Assert.That(changes.ContainsKey(m.Key), Is.True);
Assert.That(changes[m.Key], Is.EqualTo(m.Value));
}
var notContained = EnumHeler.Values<Money>()
.Where(m => ! expected.ContainsKey(m))
;
foreach (var m in notContained) {
Assert.That(changes.ContainsKey(m), Is.False);
}
}
示例5:
public void _金銭を投入して商品を受け取る_丁度の場合()
{
var ctx = new Ninject.StandardKernel()
.BindPurchaseContext()
.Get<PurchaseContext>()
;
Assert.That(ctx.Racks[0].State, Is.EqualTo(ItemRackState.CanNotPurchase));
ctx.ReceiveMoney(Money.Coin100, 1);
ctx.ReceiveMoney(Money.Coin10, 1);
ctx.ReceiveMoney(Money.Coin10, 1);
Assert.That(ctx.Racks[0].State, Is.EqualTo(ItemRackState.CanPurchase), "should be purchased");
var item = ctx.Purchase(0);
Assert.That(item.Name, Is.EqualTo("Item0"));
Assert.That(ctx.ReceivedTotal, Is.EqualTo(0));
Assert.That(ctx.Eject().Credits.Where(c => c.Value > 0).Any(), Is.False);
}