public void Test_HideOpponentCards() { TransformGameRecords tr = new TransformGameRecords { HideOpponentCards = true, HeroName = "Agent" }; GameRecord gr = new GameRecord("13; Agent{10 0.5 3} Opp{15 1 -3}; 0d{Ac Ad} 1d{Kc 2d} 0c 1r1 d{2h 3h 4h} 1c 0c d{Jh} 1c 0c d{Qd} 1c 0c."); Assert.IsTrue(tr.Transform(gr)); Assert.AreEqual("13; Agent{10 0.5 3} Opp{15 1 -3}; 0d{Ac Ad} 1d{? ?} 0c 1r1 d{2h 3h 4h} 1c 0c d{Jh} 1c 0c d{Qd} 1c 0c.", gr.ToGameString()); }
public void Test_ResetResults() { TransformGameRecords tr = new TransformGameRecords { ResetResults = true }; GameRecord gr = new GameRecord("13; Agent{10 0.5 3} Opp{15 1 -3}; 0d{Ac Ad} 1d{Kc 2d} 0c 1r1 d{2h 3h 4h} 1c 0c d{Jh} 1c 0c d{Qd} 1c 0c."); Assert.IsTrue(tr.Transform(gr)); Assert.AreEqual("13; Agent{10 0.5 0} Opp{15 1 0}; 0d{Ac Ad} 1d{Kc 2d} 0c 1r1 d{2h 3h 4h} 1c 0c d{Jh} 1c 0c d{Qd} 1c 0c.", gr.ToGameString()); }
public void Test_FinalizeGames() { TransformGameRecords tr = new TransformGameRecords { FinalizeGames = true }; GameRecord gr = new GameRecord("13; Agent{10 0.5 3} Opp{15 1 -3}; 0d{Ac Ad} 1d{Kc 2d} 0c 1r1;"); Assert.IsTrue(tr.Transform(gr)); Assert.AreEqual("13; Agent{10 0.5 3} Opp{15 1 -3}; 0d{Ac Ad} 1d{Kc 2d} 0c 1r1.", gr.ToGameString()); }
public void Test_RenameNeq() { TransformGameRecords tr = new TransformGameRecords { RenameNeqName = "Agent", RenameNeqNewName = "Enemy" }; GameRecord gr = new GameRecord("13; Agent{10 0.5 3} Opp{15 1 -3}; 0d{Ac Ad} 1d{Kc 2d} 0c 1r1 d{2h 3h 4h} 1c 0c d{Jh} 1c 0c d{Qd} 1c 0c."); Assert.IsTrue(tr.Transform(gr)); Assert.AreEqual("13; Agent{10 0.5 3} Enemy{15 1 -3}; 0d{Ac Ad} 1d{Kc 2d} 0c 1r1 d{2h 3h 4h} 1c 0c d{Jh} 1c 0c d{Qd} 1c 0c.", gr.ToGameString()); }
public void Test_RemoveNoShowdown() { TransformGameRecords tr = new TransformGameRecords { RemoveNoShowdown = true }; GameRecord gr = new GameRecord("13; Agent{10 0.5 3} Opp{15 1 -3}; 0d{Ac Ad} 1d{Kc 2d} 0c 1r1 d{2h 3h 4h} 1c 0c d{Jh} 1c 0c d{Qd} 1c 0c."); Assert.IsTrue(tr.Transform(gr)); gr = new GameRecord("16; Opp{10 0.5 3} Agent{15 1 -3}; 0d{Ac Ad} 1d{Kc 2d} 0r1 1r1 0f."); Assert.IsFalse(tr.Transform(gr)); }
public void Test_RemoveNoHeroMoves() { TransformGameRecords tr = new TransformGameRecords { RemoveNoHeroMoves = true, HeroName = "Agent" }; GameRecord gr = new GameRecord("13; Agent{10 0.5 3} Opp{15 1 -3}; 0d{Ac Ad} 1d{Kc 2d} 0c 1r1 d{2h 3h 4h} 1c 0c d{Jh} 1c 0c d{Qd} 1c 0c."); Assert.IsTrue(tr.Transform(gr)); gr = new GameRecord("16; Opp{10 0.5 3} Agent{15 1 -3}; 0d{Ac Ad} 1d{Kc 2d} 0f."); Assert.IsFalse(tr.Transform(gr)); }
public void Test_RenumerateGames() { TransformGameRecords tr = new TransformGameRecords { RenumerateGames = true, GameCount = 5, RemoveNoShowdown = true }; GameRecord gr = new GameRecord("13; Agent{10 0.5 3} Opp{15 1 -3}; 0d{Ac Ad} 1d{Kc 2d} 0c 1r1 d{2h 3h 4h} 1c 0c d{Jh} 1c 0c d{Qd} 1c 0c."); Assert.IsTrue(tr.Transform(gr)); Assert.AreEqual("5; Agent{10 0.5 3} Opp{15 1 -3}; 0d{Ac Ad} 1d{Kc 2d} 0c 1r1 d{2h 3h 4h} 1c 0c d{Jh} 1c 0c d{Qd} 1c 0c.", gr.ToGameString()); gr = new GameRecord("16; Agent{10 0.5 3} Opp{15 1 -3}; 0d{Ac Ad} 1d{Kc 2d} 0r1 1f."); Assert.IsFalse(tr.Transform(gr)); gr = new GameRecord("18; Agent{10 0.5 3} Opp{15 1 -3}; 0d{Ac 3s} 1d{Kc 2d} 0c 1r1 d{2h 3h 4h} 1c 0c d{Jh} 1c 0c d{Qd} 1c 0c."); Assert.IsTrue(tr.Transform(gr)); Assert.AreEqual("6; Agent{10 0.5 3} Opp{15 1 -3}; 0d{Ac 3s} 1d{Kc 2d} 0c 1r1 d{2h 3h 4h} 1c 0c d{Jh} 1c 0c d{Qd} 1c 0c.", gr.ToGameString()); }
public void Test_NormalizeStakes() { TransformGameRecords tr = new TransformGameRecords { NormalizeStakes = 5 }; GameRecord gr = new GameRecord("13; Agent{100 5 30} Opp{150 10 -30}; 0d{Ac Ad} 1d{Kc 2d} 0c 1r10 d{2h 3h 4h} 1c 0c d{Jh} 1c 0c d{Qd} 1c 0c."); Assert.IsTrue(tr.Transform(gr)); Assert.AreEqual("13; Agent{20 1 6} Opp{30 2 -6}; 0d{Ac Ad} 1d{Kc 2d} 0c 1r2 d{2h 3h 4h} 1c 0c d{Jh} 1c 0c d{Qd} 1c 0c.", gr.ToGameString()); tr = new TransformGameRecords { NormalizeStakes = 0 }; gr = new GameRecord("13; Agent{100 5 30} Opp{150 10 -30}; 0d{Ac Ad} 1d{Kc 2d} 0c 1r10 d{2h 3h 4h} 1c 0c d{Jh} 1c 0c d{Qd} 1c 0c."); Assert.IsTrue(tr.Transform(gr)); Assert.AreEqual("13; Agent{10 0.5 3} Opp{15 1 -3}; 0d{Ac Ad} 1d{Kc 2d} 0c 1r1 d{2h 3h 4h} 1c 0c d{Jh} 1c 0c d{Qd} 1c 0c.", gr.ToGameString()); }
static int Main(string[] args) { if (!Parser.ParseArgumentsWithUsage(args, _cmdLine)) { return(1); } _transformer = new TransformGameRecords(); _outputName = _cmdLine.Output; if (String.IsNullOrEmpty(_outputName)) { _outputName = Path.Combine(Path.GetDirectoryName(_cmdLine.InputFile), Path.GetFileNameWithoutExtension(_cmdLine.InputFile)); _outputName += "-tr" + Path.GetExtension(_cmdLine.InputFile); } _output = new StreamWriter(_outputName); if (!string.IsNullOrEmpty(_cmdLine.RenameEq)) { string [] parts = _cmdLine.RenameEq.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); _transformer.RenameEqName = parts[0]; _transformer.RenameEqNewName = parts[1]; } if (!string.IsNullOrEmpty(_cmdLine.RenameNeq)) { string[] parts = _cmdLine.RenameNeq.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); _transformer.RenameNeqName = parts[0]; _transformer.RenameNeqNewName = parts[1]; } _transformer.FinalizeGames = _cmdLine.FinalizeGames; if (_cmdLine.RenumerateGames) { _transformer.RenumerateGames = true; _transformer.GameCount = 0; } _transformer.HideOpponentCards = _cmdLine.HideOpponentCards; _transformer.NormalizeCards = _cmdLine.NormalizeCards; _transformer.ResetStacks = _cmdLine.ResetStacks; _transformer.ResetResults = _cmdLine.ResetResults; if (string.IsNullOrEmpty(_cmdLine.NormalizeStakes)) { _transformer.NormalizeStakes = -1.0; } else { _transformer.NormalizeStakes = double.Parse(_cmdLine.NormalizeStakes, CultureInfo.InvariantCulture); } _transformer.HeroName = _cmdLine.HeroName; _transformer.RemoveNoHeroMoves = _cmdLine.RemoveNoHeroMoves; _transformer.RemoveNoShowdown = _cmdLine.RemoveNoShowdown; GameLogParser logParser = new GameLogParser { Verbose = _cmdLine.Verbose }; logParser.OnGameRecord += new GameLogParser.OnGameRecordHandler(logParser_OnGameRecord); logParser.OnMetaData += new GameLogParser.OnMetaDataHandler(logParser_OnMetaData); try { logParser.ParseFile(_cmdLine.InputFile); } catch (GameLimitException) { } _output.Flush(); _output.Close(); return(0); }