public void SkewbOperationsParser_ParseCommand_ExpectedCount(string command, int count) { // 1. Prepare SkewbOperationsParser p = new SkewbOperationsParser(); // 2. Execute var r = p.Parse(command); // 3. Verify Assert.NotNull(r); Assert.Equal(count, r.Count()); }
public void SkewbOperationsParser_ParseInvalidCommand_ThrowOperationParsingException(string command, int badIndex) { // 1. Prepare SkewbOperationsParser p = new SkewbOperationsParser(); // 2. Execute Action a = () => p.Parse(command); // 3. Verify var e = Assert.Throws <OperationParsingException>(a); Assert.Equal(command, e.Command); Assert.Equal(badIndex, e.Index); }
public void SkewbOperationsParser_ParseSingleOperationCheckOrientation_BeExpected(string command) { // 1. Prepare SkewbOperationsParser p = new SkewbOperationsParser(); // 2. Execute var parsed = p.Parse(command); var parsedReverse = p.Parse(command + "'"); // 3. Verify Assert.NotNull(parsed); Assert.NotNull(parsedReverse); Assert.Single(parsed); Assert.Single(parsedReverse); Assert.True(parsed.Cast <SkewbOperation>().FirstOrDefault().IsClockwise); Assert.False(parsedReverse.Cast <SkewbOperation>().FirstOrDefault().IsClockwise); }