Example #1
0
        public void Snapshot_CreatesSnapshotWithCurrentPerformanceCount()
        {
            this.performanceCounter.AddRepositoryHitCount(15);
            this.performanceCounter.AddRepositoryMissCount(7);
            this.performanceCounter.AddRepositoryDeleteCount(3);
            this.performanceCounter.AddRepositoryInsertCount(1);

            BlockStoreRepositoryPerformanceSnapshot snapshot1 = this.performanceCounter.Snapshot();

            this.performanceCounter.AddRepositoryHitCount(50);
            this.performanceCounter.AddRepositoryMissCount(9);
            this.performanceCounter.AddRepositoryDeleteCount(6);
            this.performanceCounter.AddRepositoryInsertCount(67);

            BlockStoreRepositoryPerformanceSnapshot snapshot2 = this.performanceCounter.Snapshot();

            Assert.Equal(15, snapshot1.TotalRepositoryHitCount);
            Assert.Equal(7, snapshot1.TotalRepositoryMissCount);
            Assert.Equal(3, snapshot1.TotalRepositoryDeleteCount);
            Assert.Equal(1, snapshot1.TotalRepositoryInsertCount);

            Assert.Equal(65, snapshot2.TotalRepositoryHitCount);
            Assert.Equal(16, snapshot2.TotalRepositoryMissCount);
            Assert.Equal(9, snapshot2.TotalRepositoryDeleteCount);
            Assert.Equal(68, snapshot2.TotalRepositoryInsertCount);
        }
        public void Constructor_InitializesCounters()
        {
            var snapshot = new BlockStoreRepositoryPerformanceSnapshot(1301, 2352, 1244, 6452)
            {
                Start = new DateTime(2017, 1, 1),
                Taken = DateTime.UtcNow
            };

            Assert.Equal(1301, snapshot.TotalRepositoryHitCount);
            Assert.Equal(2352, snapshot.TotalRepositoryMissCount);
            Assert.Equal(1244, snapshot.TotalRepositoryDeleteCount);
            Assert.Equal(6452, snapshot.TotalRepositoryInsertCount);
        }
        public void SubtractOperator_SubtractsValuesFromMultipleSnapshots_CreatesNewSnapshot()
        {
            var snapshot = new BlockStoreRepositoryPerformanceSnapshot(1301, 2352, 1244, 6452)
            {
                Start = new DateTime(2017, 1, 1),
                Taken = new DateTime(2017, 1, 1, 1, 1, 1)
            };

            var snapshot2 = new BlockStoreRepositoryPerformanceSnapshot(4312, 3552, 2216, 9023)
            {
                Start = new DateTime(2017, 1, 1),
                Taken = new DateTime(2017, 1, 1, 3, 1, 1)
            };

            BlockStoreRepositoryPerformanceSnapshot snapshot3 = snapshot2 - snapshot;

            Assert.Equal(3011, snapshot3.TotalRepositoryHitCount);
            Assert.Equal(1200, snapshot3.TotalRepositoryMissCount);
            Assert.Equal(972, snapshot3.TotalRepositoryDeleteCount);
            Assert.Equal(2571, snapshot3.TotalRepositoryInsertCount);
            Assert.Equal(new DateTime(2017, 1, 1, 1, 1, 1), snapshot3.Start);
            Assert.Equal(new DateTime(2017, 1, 1, 3, 1, 1), snapshot3.Taken);
        }