Esempio n. 1
0
        public void ShardsAsExpected()
        {
            var shardedList = ShardedList <int> .From(1, 2, 3, 4, 5, 6);

            Assert.AreEqual(1, shardedList.RegionCount);

            var subRegion1 = shardedList.Shard(0, 2);

            Assert.AreEqual(1, subRegion1.RegionCount);
            var subRegion2 = shardedList.Shard(2, 2);

            Assert.AreEqual(1, subRegion2.RegionCount);
            var subRegion3 = shardedList.Shard(4, 2);

            Assert.AreEqual(1, subRegion3.RegionCount);

            Assert.AreEqual(3, shardedList.RegionCount);

            var subRegion1a = subRegion1.Shard(0, 1);
            var subRegion1b = subRegion1.Shard(1, 1);

            Assert.AreEqual(2, subRegion1.RegionCount);

            Assert.AreEqual(3, shardedList.RegionCount);
        }
Esempio n. 2
0
        public void ResizingSingleShardUp()
        {
            var shardedList = ShardedList <int> .From(1, 2, 3, 4, 5, 6);

            shardedList.Resize(7);
            Assert.AreEqual(new[] { 1, 2, 3, 4, 5, 6, 0 }, shardedList.ToArray());
        }
Esempio n. 3
0
        public void DoubleShardingThrows()
        {
            var shardedList = ShardedList <int> .From(1, 2, 3, 4, 5, 6);

            shardedList.Shard(2, 4);

            Assert.Throws <AssertException>(() => shardedList.Shard(2, 4));
        }
Esempio n. 4
0
        public void ShardingFullListReturnsSelf()
        {
            var shardedList = ShardedList <int> .From(1, 2, 3, 4, 5, 6);

            var subRegion = shardedList.Shard(0, 6);

            Assert.AreSame(shardedList, subRegion);
        }
Esempio n. 5
0
        public void ShardingOverRegionThrows()
        {
            var shardedList = ShardedList <int> .From(1, 2, 3, 4, 5, 6);

            shardedList.Shard(0, 2);
            shardedList.Shard(4, 2);

            Assert.Throws <AssertException>(() => shardedList.Shard(2, 3));
        }
Esempio n. 6
0
        public void IteratingOverSubRegion()
        {
            var shardedList = ShardedList <int> .From(1, 2, 3, 4, 5, 6);

            var subRegion = shardedList.Shard(1, 4);

            Assert.AreEqual(new[] { 1, 2, 3, 4, 5, 6 }, shardedList.ToArray());
            Assert.AreEqual(new[] { 2, 3, 4, 5 }, subRegion.ToArray());
        }
Esempio n. 7
0
        public void ResizingSubRegionUp()
        {
            var shardedList = ShardedList <int> .From(1, 2, 3, 4, 5, 6);

            var subRegion = shardedList.Shard(1, 4);

            subRegion.Resize(5);

            Assert.AreEqual(new[] { 1, 2, 3, 4, 5, 0, 6 }, shardedList.ToArray());
            Assert.AreEqual(new[] { 2, 3, 4, 5, 0 }, subRegion.ToArray());
        }
Esempio n. 8
0
        public void IteratingOverNeighboringRegions()
        {
            var shardedList = ShardedList <int> .From(1, 2, 3, 4, 5, 6);

            var subRegion1 = shardedList.Shard(0, 2);
            var subRegion2 = shardedList.Shard(2, 2);
            var subRegion3 = shardedList.Shard(4, 2);

            Assert.AreEqual(new[] { 1, 2, 3, 4, 5, 6 }, shardedList.ToArray());
            Assert.AreEqual(new[] { 1, 2 }, subRegion1.ToArray());
            Assert.AreEqual(new[] { 3, 4 }, subRegion2.ToArray());
            Assert.AreEqual(new[] { 5, 6 }, subRegion3.ToArray());
        }
Esempio n. 9
0
        public void ShardingNegativeThrows()
        {
            var shardedList = ShardedList <int> .From(1, 2, 3, 4, 5, 6);

            Assert.Throws <AssertException>(() => shardedList.Shard(-1, 1));
        }
Esempio n. 10
0
        public void IteratingOverSingleShard()
        {
            var shardedList = ShardedList <int> .From(1, 2, 3, 4, 5, 6);

            Assert.AreEqual(new[] { 1, 2, 3, 4, 5, 6 }, shardedList.ToArray());
        }
Esempio n. 11
0
        public void ShardingLargeThrows()
        {
            var shardedList = ShardedList <int> .From(1, 2, 3, 4, 5, 6);

            Assert.Throws <AssertException>(() => shardedList.Shard(0, 7));
        }