PKHeX/Tests/PKHeX.Core.Tests/PKM/PKMTests.cs

174 lines
3.5 KiB
C#
Raw Normal View History

using System;
using FluentAssertions;
using Xunit;
namespace PKHeX.Core.Tests.PKM;
public class MetDateTests
{
[Fact]
public void MetDateNullWhenDateComponentsAreAllZero()
{
var pk = new PK7
{
MetDay = 0,
MetMonth = 0,
MetYear = 0,
};
pk.MetDate.HasValue.Should().BeFalse();
}
[Fact]
public void MetDateReturnsCorrectDate()
{
var pk = new PK7
{
MetDay = 10,
MetMonth = 8,
MetYear = 16,
};
pk.MetDate.GetValueOrDefault().Should().Be(new DateOnly(2016, 8, 10));
}
[Fact]
public void MetDateCalculatesYear0Correctly()
{
var pk = new PK7
{
MetDay = 1,
MetMonth = 1,
MetYear = 0,
};
pk.MetDate.GetValueOrDefault().Year.Should().Be(2000);
}
[Fact]
public void SettingToNullZerosComponents()
{
var pk = new PK7
{
MetDay = 12,
MetMonth = 12,
MetYear = 12,
};
pk.MetDay.Should().Be(12);
pk.MetMonth.Should().Be(12);
pk.MetYear.Should().Be(12);
pk.MetDate = null;
pk.MetDay.Should().Be(0);
pk.MetMonth.Should().Be(0);
pk.MetYear.Should().Be(0);
}
[Fact]
public void SettingMetDateSetsComponents()
{
var pk = new PK7
{
MetDay = 12,
MetMonth = 12,
MetYear = 12,
};
pk.MetDay.Should().Be(12);
pk.MetMonth.Should().Be(12);
pk.MetYear.Should().Be(12);
pk.MetDate = new DateOnly(2005, 5, 5);
pk.MetDay.Should().Be(5);
pk.MetMonth.Should().Be(5);
pk.MetYear.Should().Be(5);
}
}
public class EggMetDateTests
{
[Fact]
public void EggMetDateNullWhenDateComponentsAreAllZero()
{
var pk = new PK7
{
EggDay = 0,
EggMonth = 0,
EggYear = 0,
};
pk.EggMetDate.HasValue.Should().BeFalse();
}
[Fact]
public void EggMetDateReturnsCorrectDate()
{
var pk = new PK7
{
EggDay = 10,
EggMonth = 8,
EggYear = 16,
};
pk.EggMetDate.GetValueOrDefault().Should().Be(new DateOnly(2016, 8, 10));
}
[Fact]
public void EggMetDateCalculatesYear0Correctly()
{
var pk = new PK7
{
EggDay = 1,
EggMonth = 1,
EggYear = 0,
};
pk.EggMetDate.GetValueOrDefault().Year.Should().Be(2000);
}
[Fact]
public void SettingEggMetDateToNullZerosComponents()
{
var pk = new PK7
{
EggDay = 12,
EggMonth = 12,
EggYear = 12,
};
pk.EggDay.Should().Be(12);
pk.EggMonth.Should().Be(12);
pk.EggYear.Should().Be(12);
pk.EggMetDate = null;
pk.EggDay.Should().Be(0);
pk.EggMonth.Should().Be(0);
pk.EggYear.Should().Be(0);
}
[Fact]
public void SettingEggMetDateSetsComponents()
{
var pk = new PK7
{
EggDay = 12,
EggMonth = 12,
EggYear = 12,
};
pk.EggDay.Should().Be(12);
pk.EggMonth.Should().Be(12);
pk.EggYear.Should().Be(12);
pk.EggMetDate = new DateOnly(2005, 5, 5);
pk.EggDay.Should().Be(5);
pk.EggMonth.Should().Be(5);
pk.EggYear.Should().Be(5);
}
}