diff --git a/src/BizHawk.Tests/Client.Common/Movie/LogGeneratorTests.cs b/src/BizHawk.Tests/Client.Common/Movie/LogGeneratorTests.cs index be56a09503..98ab1f2856 100644 --- a/src/BizHawk.Tests/Client.Common/Movie/LogGeneratorTests.cs +++ b/src/BizHawk.Tests/Client.Common/Movie/LogGeneratorTests.cs @@ -8,6 +8,36 @@ namespace BizHawk.Common.Tests.Client.Common.Movie [TestClass] public class LogGeneratorTests { + private SimpleController _boolController = null!; + private Bk2LogEntryGenerator _lg = null!; + private SimpleController _floatController = null!; + private Bk2LogEntryGenerator _floatLg = null!; + + [TestInitialize] + public void Initializer() + { + _boolController = new SimpleController + { + Definition = new ControllerDefinition { BoolButtons = { "A" } } + }; + + _floatController = new SimpleController + { + Definition = new ControllerDefinition + { + AxisControls = { "StickX", "StickY" }, + AxisRanges = + { + new ControllerDefinition.AxisRange(0, 100, 200), + new ControllerDefinition.AxisRange(0, 100, 200) + } + } + }; + + _lg = new Bk2LogEntryGenerator("NES", _boolController); + _floatLg = new Bk2LogEntryGenerator("NES", _floatController); + } + [TestMethod] public void GenerateLogEntry_ExclamationForUnknownButtons() { @@ -22,8 +52,53 @@ namespace BizHawk.Common.Tests.Client.Common.Movie var lg = new Bk2LogEntryGenerator("NES", controller); var actual = lg.GenerateLogEntry(); - Assert.IsNotNull(lg); Assert.AreEqual("|!|", actual); } + + [TestMethod] + public void GenerateLogEntry_BoolPressed_GeneratesMnemonic() + { + _boolController["A"] = true; + var actual = _lg.GenerateLogEntry(); + Assert.AreEqual("|A|", actual); + } + + [TestMethod] + public void GenerateLogEntry_BoolUnPressed_GeneratesPeriod() + { + _boolController["A"] = false; + var actual = _lg.GenerateLogEntry(); + Assert.AreEqual("|.|", actual); + } + + [TestMethod] + public void GenerateLogEntry_Floats() + { + var actual = _floatLg.GenerateLogEntry(); + Assert.AreEqual("| 0, 0,|", actual); + } + + [TestMethod] + public void GenerateInputDisplay_BoolPressed_GeneratesMnemonic() + { + _boolController["A"] = true; + var actual = _lg.GenerateInputDisplay(); + Assert.AreEqual("A", actual); + } + + [TestMethod] + public void GenerateInputDisplay_BoolUnPressed_GeneratesSpace() + { + _boolController["A"] = false; + var actual = _lg.GenerateInputDisplay(); + Assert.AreEqual(" ", actual); + } + + [TestMethod] + public void GenerateInputDisplay_Floats() + { + var actual = _floatLg.GenerateInputDisplay(); + Assert.AreEqual(" 0, 0,", actual); + } } } \ No newline at end of file