public void TableStorageRepository_FindByPartition()
        {
            string    tablePrefix      = "TEST" + Guid.NewGuid().ToString("N");
            var       data             = new TableStorageRepository(ConnectionString, tablePrefix);
            string    tableName        = data.GetTable <EsoSale>().Name;
            var       salesByPartition = new Dictionary <int, List <EsoSale> >();
            const int saleCount        = 100;

            try
            {
                for (int i = 0; i < saleCount; i++)
                {
                    // Arrange
                    var sale = CreateRandomSale();
                    data.InsertOrReplace(sale);
                    List <EsoSale> partition;
                    if (!salesByPartition.TryGetValue(sale.TimestampId, out partition))
                    {
                        partition = new List <EsoSale>();
                        salesByPartition.Add(sale.TimestampId, partition);
                    }

                    // Act
                    partition.Add(sale);
                }

                foreach (int timestampId in salesByPartition.Keys)
                {
                    // Arrange
                    List <EsoSale> expectedSales = salesByPartition[timestampId];

                    // Act
                    EsoSale[] partitionSales =
                        data.Find <EsoSale>(timestampId.ToString(CultureInfo.InvariantCulture)).ToArray();

                    // Assert
                    EsoSale missingSale = partitionSales.FirstOrDefault(x => expectedSales.All(y => y.RowKey != x.RowKey));
                    if (missingSale != null)
                    {
                        Assert.Fail("Table {0} Partition {1} missing expected entity with row key {2}", tableName,
                                    missingSale.PartitionKey,
                                    missingSale.RowKey);
                    }
                    EsoSale extraSale = expectedSales.FirstOrDefault(x => partitionSales.All(y => y.RowKey != x.RowKey));
                    if (extraSale != null)
                    {
                        Assert.Fail("Table {0} Partition {1} contains unexpected entity with row key {2}", tableName,
                                    extraSale.PartitionKey,
                                    extraSale.RowKey);
                    }
                }
            }
            finally
            {
                // Clean up
                data.RemoveTable <EsoSale>();
            }
        }