⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 kitchentest.cs

📁 《C#版-使用Nunit》的示例代码。详细介绍了Nunit的各种使用场景。
💻 CS
字号:
/**
 * Excerpted from the book, "Pragmatic Unit Testing in C# with NUnit, 2nd Ed."
 * ISBN 0-9776166-7-3
 * Copyrights apply to this code. It may not be used to create training material, 
 * courses, books, articles, and the like. Contact us if you are in doubt.
 * We make no guarantees that this code is fit for any purpose. 
 * Visit http://www.pragmaticprogrammer.com/titles/utc2 for more book information.
 */

using NUnit.Framework;
using NUnit.Framework.SyntaxHelpers;
using System;
using System.Collections.Generic;

[TestFixture]
public class KitchenTest 
{
  public class FoodItem 
  {
    public FoodItem(string name) {}
  }

  public class Dessert : FoodItem 
  { 
    public Dessert(string name) : base(name) {} 
  }
  public class Entree : FoodItem 
  { 
    public Entree(string name) : base(name) {} 
  }
  public class Salad : FoodItem 
  { 
    public Salad(string name) : base(name) {} 
  }

  public class Order
  {
    public void AddFoodItem(FoodItem foodItem) {}
    public IEnumerator<FoodItem> GetEnumerator() { return null; }      
  }


  [Test]
  public void KitchenOrder() 
  {
    Order order = new Order();
    FoodItem dessert = new Dessert("Chocolate Decadence");
    FoodItem entree = new Entree("Beef Oscar");
    FoodItem salad  = new Salad("Parmesan Peppercorn");

    // Add out of order
    order.AddFoodItem(dessert);
    order.AddFoodItem(entree);
    order.AddFoodItem(salad);

    // But should come out in serving order
    IEnumerator<FoodItem> itr = order.GetEnumerator();

    Assert.That(salad, Is.EqualTo(itr.Current));
    itr.MoveNext();
    Assert.That(entree, Is.EqualTo(itr.Current));
    itr.MoveNext();
    Assert.That(dessert, Is.EqualTo(itr.Current));
    itr.MoveNext();

    // No more left
    Assert.That(itr.MoveNext(), Is.False);
  }


}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -