Exemplo n.º 1
0
        public void TestNoPartitionsIfStreamDoesNotExist()
        {
            var partitioner = new PartitionByKey();
            var partition   = partitioner.Partition("test-stream", "bar", "baz", new Metadata());

            Assert.Equal(0, partition);
        }
Exemplo n.º 2
0
        public void TestPartitionByKey()
        {
            var partitioner = new PartitionByKey();
            var metadata    = new Metadata
            {
                Streams = System.Collections.Immutable.ImmutableDictionary <string, StreamInfo>
                          .Empty
                          .Add("foo", new StreamInfo
                {
                    Partitions = System.Collections.Immutable.ImmutableDictionary <int, PartitionInfo>
                                 .Empty
                                 .Add(0, new PartitionInfo())
                                 .Add(1, new PartitionInfo())
                }),
            };

            long partition;

            partition = partitioner.Partition("foo", "foobarbazqux", "1", metadata);
            Assert.Equal(1, partition);

            partition = partitioner.Partition("foo", "foobarbazqux", "2", metadata);
            Assert.Equal(1, partition);

            partition = partitioner.Partition("foo", "blah", "3", metadata);
            Assert.Equal(0, partition);

            partition = partitioner.Partition("foo", "blah", "4", metadata);
            Assert.Equal(0, partition);
        }