void TouchAndVerify(NetCorePropertyBookShelf data, int nExpectedBooks, int optionalPayloadDataSize) { if (!VerifyAndTouch) { return; } string tmpTitle = null; int tmpId = 0; if (nExpectedBooks != data.Books.Count) { throw new InvalidOperationException($"Number of deserialized Books was {data.Books.Count} but expected {nExpectedBooks}. This Serializer seem to have lost data."); } for (int i = 0; i < data.Books.Count; i++) { var book = data.Books[i]; tmpTitle = book.Title; tmpId = book.Id; if (book.Id != i + 1) { throw new InvalidOperationException($"Book Id was {book.Id} but exepcted {i + 1}"); } if (optionalPayloadDataSize > 0 && book.BookData.Length != optionalPayloadDataSize) { throw new InvalidOperationException($"BookData length was {book.BookData.Length} but expected {optionalPayloadDataSize}"); } } }
NetCorePropertyBookShelf DataNetCore(int nToCreate) { var lret = new NetCorePropertyBookShelf("private member value") { Books = Enumerable.Range(1, nToCreate).Select(i => new NetCoreBook { Id = i, Title = $"Book {i}" }).ToList() }; return(lret); }
void Touch(NetCorePropertyBookShelf data) { if (IsTouch) { return; } string tmpTitle = null; int tmpId = 0; for (int i = 0; i < data.Books.Count; i++) { var book = data.Books[i]; tmpTitle = book.Title; tmpId = book.Id; } }