public void Reverse(DirH dir, DirH expected, bool exception = false) { if (exception) { Assert.Throws <ArgumentOutOfRangeException>(() => { dir.Reverse(); }); } else { Assert.That(dir.Reverse(), Is.EqualTo(expected)); Assert.That(expected.Reverse(), Is.EqualTo(dir)); } }