Example #1
0
        public void DistributionDeviationProbability(double expectedProbability, IEnumerable <int> hashes)
        {
            var    store  = new HashStore(hashes);
            double actual = store.Result.UniformDistributionDeviationProbability;

            Assert.AreApproximatelyEqual(expectedProbability, actual, 0.000001);
        }
Example #2
0
        public void CalculateCollisionProbabilityWithHighLoad()
        {
            var    store             = new HashStore(GenerateHashLoad(Enumerable.Range(0, 10000), 5000));
            double actualProbability = store.Result.CollisionProbability;

            Assert.AreApproximatelyEqual(9.998E-5, actualProbability, 1E-5);
        }
Example #3
0
        public void CalculateCollisionProbability(double expectedProbability, IEnumerable <int> hashes)
        {
            var    store             = new HashStore(hashes);
            double actualProbability = store.Result.CollisionProbability;

            Assert.AreApproximatelyEqual(expectedProbability, actualProbability, 0.0001);
        }
        public async Task FinalizeDayTransactionsAsync()
        {
            var    Trans    = _context.Transactions.Where(x => x.TransDay.Date == DateTime.Today);
            string fileName = $"~/wwwroot/Transactions/{Guid.NewGuid().ToString()}";

            using (FileStream fs = System.IO.File.Create(fileName))
            {
                // Add some text to file
                foreach (var item in Trans)
                {
                    Byte[] title = new UTF8Encoding(true).GetBytes($"Transaction Record for {DateTime.Today}");
                    fs.Write(title, 0, title.Length);
                    byte[] content = new UTF8Encoding(true).GetBytes($"{item.AccountId}\t{item.Amount}\t{item.mode}\t{item.ProductCategoryId}\t{item.ProductId}\t{item.ProviderId}");
                    fs.Write(content, 0, content.Length);
                }
                IPFSHelper h = new IPFSHelper();
                string     x = await h.UploadIPFSAsync(fileName);

                var data = new HashStore
                {
                    Date = DateTime.Now,
                    Id   = Guid.NewGuid().ToString(),
                    Hash = x,
                };
                _context.HashStores.Add(data);
                _context.SaveChanges();
            }
        }
Example #5
0
        public void AddHashCodes()
        {
            var store = new HashStore(new[] { 123, 456, 123, 456, 789, 123, 123 });

            Assert.AreEqual(7, store.Result.StatisticalPopulation);
            Assert.AreEqual(4, store[123]);
            Assert.AreEqual(2, store[456]);
            Assert.AreEqual(1, store[789]);
            Assert.AreEqual(0, store[666]);
        }
Example #6
0
        private HashStoreResult GetResult()
        {
            if (result == null)
            {
                var store = new HashStore(GenericCollectionUtils.Select(DistinctInstances, o => o.GetHashCode()));
                result = store.Result;
            }

            return(result);
        }