public void GenerateShardedUUID()
        {
            string Id;
            var generator = new ShardedUUIDGenerator();

            ShardedSessionImpl.CurrentSubgraphShardId = new ShardId(13);
            Id = (string) generator.Generate(null, null);
            Assert.AreEqual(true, Id.StartsWith("000d"));

            ShardedSessionImpl.CurrentSubgraphShardId = new ShardId(32767); //short MaxValue
            Id = (string) generator.Generate(null, null);
            Assert.AreEqual(true, Id.StartsWith("7fff"));
        }
        public void GetEncodedShardId()
        {
            string Id;
            ShardedUUIDGenerator generator = new ShardedUUIDGenerator();

            ShardedSessionImpl.CurrentSubgraphShardId = new ShardId(25);
            Id = (string)generator.Generate(null, null);
            Assert.AreEqual(new ShardId(25), generator.ExtractShardId(Id));

            ShardedSessionImpl.CurrentSubgraphShardId = new ShardId(599);;
            Id = (string)generator.Generate(null, null);
            Assert.AreEqual(new ShardId(599), generator.ExtractShardId(Id));

            ShardedSessionImpl.CurrentSubgraphShardId = new ShardId(short.MaxValue); ;
            Id = (string)generator.Generate(null, null);
            Assert.AreEqual(new ShardId(short.MaxValue), generator.ExtractShardId(Id));
        }