public void TestThatForeignKeyAddAddsForeignKey() { var foodItem = new FoodItem(DomainObjectMockBuilder.BuildFoodGroupMock()) { Identifier = Guid.NewGuid() }; Assert.That(foodItem, Is.Not.Null); Assert.That(foodItem.Identifier, Is.Not.Null); Assert.That(foodItem.Identifier.HasValue, Is.True); Assert.That(foodItem.ForeignKeys, Is.Not.Null); Assert.That(foodItem.ForeignKeys, Is.Empty); // ReSharper disable PossibleInvalidOperationException var foreignKeyMock = DomainObjectMockBuilder.BuildForeignKeyMock(foodItem.Identifier.Value, foodItem.GetType()); // ReSharper restore PossibleInvalidOperationException Assert.That(foreignKeyMock, Is.Not.Null); foodItem.ForeignKeyAdd(foreignKeyMock); Assert.That(foodItem.ForeignKeys, Is.Not.Null); Assert.That(foodItem.ForeignKeys, Is.Not.Empty); Assert.That(foodItem.ForeignKeys.Count(), Is.EqualTo(1)); Assert.That(foodItem.ForeignKeys.Contains(foreignKeyMock), Is.True); }