Initial commit

This commit is contained in:
2026-05-07 03:23:56 +00:00
commit 5e8575f42a
42 changed files with 2330 additions and 0 deletions
+51
View File
@@ -0,0 +1,51 @@
using System;
using System.Linq;
using GameOfLife;
using GameOfLife.Entities;
using GameOfLife.IO;
using NUnit.Framework;
namespace GameOfLifeTests
{
public class ApgcodeDecoderTests
{
[Test]
public void ConvertToUintTest()
{
Assert.AreEqual(0, ApgcodeDecoder.ConvertToUint('0'));
Assert.AreEqual(9, ApgcodeDecoder.ConvertToUint('9'));
Assert.AreEqual(10, ApgcodeDecoder.ConvertToUint('a'));
Assert.AreEqual(11, ApgcodeDecoder.ConvertToUint('b'));
}
[Test]
public void ExpandAbbreviationsTests()
{
Assert.AreEqual("00", ApgcodeDecoder.ExpandAbbreviations("w"));
Assert.AreEqual("000", ApgcodeDecoder.ExpandAbbreviations("x"));
Assert.AreEqual("00000", ApgcodeDecoder.ExpandAbbreviations("wx"));
Assert.AreEqual("0000", ApgcodeDecoder.ExpandAbbreviations("y0"));
Assert.AreEqual("00000", ApgcodeDecoder.ExpandAbbreviations("y1"));
Assert.AreEqual(new string('0', 39), ApgcodeDecoder.ExpandAbbreviations("yz"));
}
[Test]
public void Headerless_DecodeTests()
{
var apgcodeDecoder = new ApgcodeDecoder("0ca178b96z69d1d96");
foreach (var line in apgcodeDecoder.Pattern.ToGrid())
{
Console.WriteLine(line);
}
}
[Test]
public void Xs_DecodeTests()
{
var apgcodeDecoder = new ApgcodeDecoder("xs4_33");
Assert.AreEqual(4, apgcodeDecoder.Pattern.Count);
Assert.AreEqual(PatternType.StillLife, apgcodeDecoder.Metadata.Type);
Assert.AreEqual("4", apgcodeDecoder.Metadata.Comments.First());
}
}
}