Initial commit
This commit is contained in:
@@ -0,0 +1,97 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using NUnit.Framework;
|
||||
using GameOfLife;
|
||||
using GameOfLife.Entities;
|
||||
|
||||
namespace GameOfLifeTests
|
||||
{
|
||||
public class CellTests
|
||||
{
|
||||
private readonly PatternTestData _patternTestData = new PatternTestData();
|
||||
|
||||
[SetUp]
|
||||
public void Setup()
|
||||
{
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Equals_True_Test()
|
||||
{
|
||||
Assert.True(Util.Equals(_patternTestData.CornerPattern, _patternTestData.CornerCopy));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Equals_False_Test()
|
||||
{
|
||||
Assert.False(Util.Equals(_patternTestData.CornerPattern, _patternTestData.SquarePattern));
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Rotate_Test()
|
||||
{
|
||||
var rotate = _patternTestData.CornerPattern.Rotate();
|
||||
Console.WriteLine(_patternTestData.CornerPattern);
|
||||
Console.WriteLine(rotate);
|
||||
Assert.Contains(-_patternTestData.CornerPattern[0].Item2, rotate.Select(r => r.Item1).ToList());
|
||||
Assert.Contains(_patternTestData.CornerPattern[0].Item1, rotate.Select(r => r.Item2).ToList());
|
||||
Assert.Contains(-_patternTestData.CornerPattern[0].Item2, rotate.Select(r => r.Item1).ToList());
|
||||
Assert.Contains(-_patternTestData.CornerPattern[0].Item2, rotate.Select(r => r.Item1).ToList());
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Rotate_Circle_Test()
|
||||
{
|
||||
var rotate = _patternTestData.CornerPattern.Rotate(4);
|
||||
Assert.AreEqual(_patternTestData.CornerPattern, rotate);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void GetFirstPoint_Test()
|
||||
{
|
||||
var fp = _patternTestData.CornerPattern.GetFirstRowFirstCell();
|
||||
Assert.True(fp.Item1 == 2);
|
||||
Assert.True(fp.Item2 == 1);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Subtract_Test()
|
||||
{
|
||||
var fp = _patternTestData.CornerPattern[0] - new Cell(1,2);
|
||||
Assert.True(fp.Item1 == 1);
|
||||
Assert.True(fp.Item2 == -1);
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void Hash_Test()
|
||||
{
|
||||
var h1 = new Cell(1, 2).GetHashCode();
|
||||
var h2 = new Cell(2, 3).GetHashCode();
|
||||
var h3 = new Cell(1, 2).GetHashCode();
|
||||
|
||||
Assert.AreEqual(h1, h3);
|
||||
Assert.AreNotEqual(h1, h2);
|
||||
}
|
||||
}
|
||||
|
||||
public class PatternTests
|
||||
{
|
||||
[Test]
|
||||
public void GetHashCode_Tests()
|
||||
{
|
||||
var p1 = new Pattern(new List<Cell>() { new Cell(1, 2) }).GetHashCode();
|
||||
var p2 = new Pattern(new List<Cell>() { new Cell(2, 3) }).GetHashCode();
|
||||
var p3 = new Pattern(new List<Cell>() { new Cell(1, 2) }).GetHashCode();
|
||||
var p4 = new Pattern(new List<Cell>() { new Cell(1, 2), new Cell(2,3) }).GetHashCode();
|
||||
var p5 = new Pattern(new List<Cell>() { new Cell(1, 2), new Cell(2,3) }).GetHashCode();
|
||||
var p6 = new Pattern(new List<Cell>() { new Cell(2, 3), new Cell(1, 2) }).GetHashCode();
|
||||
|
||||
Assert.AreEqual(p1, p3);
|
||||
Assert.AreNotEqual(p1, p2);
|
||||
Assert.AreNotEqual(p1, p4);
|
||||
Assert.AreEqual(p4, p5);
|
||||
Assert.AreEqual(p5, p6);
|
||||
}//
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user