从exercism C#运行测试文件

时间:2014-10-09 01:41:29

标签: c#

我无法运行测试文件。我看不出我需要做什么不同的事情。这是C#的第一个练习项目。我想我已经解决了问题,但我无法让Test文件在Microsoft Visual Studio中成功运行。目标是制定一个功能来测试这一年是否是闰年。

我想在下面这个文件中使用类Year,在我的项目中它名为Class1.cs

带有课程年份的文件:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Exercism
{
    public class Year
    {   public bool IsLeap(int year)
        {
            if (year % 4 == 0)
                if (year % 100 == 0)
                    if (year % 400 == 0)
                        return true;
                    else
                        return false;
                else
                    return true;
            else
                return false;
        }
    }
}

测试文件如下。当我尝试运行它时,我得到以下每个测试函数的信息'当前上下文中不存在名称'年'。

using NUnit.Framework;
using Exercism;




[TestFixture]
public class LeapTest
{
    [Test]
    public void Valid_leap_year()
    {
        Assert.That(Year.IsLeap(1996), Is.True);
    }
    [Ignore]
    [Test]
    public void Invalid_leap_year()
    {
        Assert.That(Year.IsLeap(1997), Is.False);
    }

    [Ignore]
    [Test]
    public void Turn_of_the_20th_century_is_not_a_leap_year()
    {
        Assert.That(Year.IsLeap(1900), Is.False);
    }

    [Ignore]
    [Test]
    public void Turn_of_the_25th_century_is_a_leap_year()
    {
        Assert.That(Year.IsLeap(2400), Is.True);
    }
}

我知道这是一个基本问题,但任何帮助都会受到赞赏

2 个答案:

答案 0 :(得分:2)

您正在使用IsLeap,就好像它是一个静态方法,但将其声明为实例方法。

您可以使用new Year().IsLeap(..)或将IsLeap设置为public static bool IsLeap(...)。我很确定你想要后者。

了解两者之间的区别非常重要,我建议您阅读这个主题。

答案 1 :(得分:1)

公共静态 bool IsLeap(int year)