public void VerifyFields(IList<Field> boardFields, string expectedFieldsData) { IList<Field> expectedFields = this.GetFields(expectedFieldsData); foreach (var expectedField in expectedFields) { var actualBoardField = boardFields.SelectByPosition(expectedField.Row, expectedField.Column); if (expectedField.Token == null) { actualBoardField.ShouldHave().AllProperties().But(d => d.Token).EqualTo(expectedField); actualBoardField.Token.Should().BeNull(); } else { actualBoardField.ShouldHave().AllProperties().EqualTo(expectedField); } } }