Exemple #1
0
        public async Task CreateEmptyBiggerThan(ISyncableBucket smallerBucket)
        {
            var newBucket = await _bucketcreator.CreateEmptyAsync();

            if (smallerBucket == null)
            {
                SmallestBucket = newBucket;
            }
            else
            {
                if (!_buckets.Contains(smallerBucket))
                {
                    throw new InvalidOperationException("Supplied smaller bucket must exist");
                }

                newBucket.NextBiggerBucket     = smallerBucket.NextBiggerBucket;
                smallerBucket.NextBiggerBucket = newBucket;
            }
            _buckets.Add(newBucket);
        }
        public async Task Clicking_AddBucket_sends_contained_bucket_to_CreateBiggerBucket_event_handler()
        {
            //Arrange
            var             component         = new BucketWrapper();
            var             bucket            = new Mock <ISyncableBucket>().Object;
            ISyncableBucket bucketSentToEvent = null;
            var             eventhandler      = new Mock <IHandleEvent>();

            eventhandler
            .Setup(mock => mock.HandleEventAsync(It.IsAny <EventCallbackWorkItem>(), It.IsAny <ISyncableBucket>()))
            .Callback((EventCallbackWorkItem _, object b) => bucketSentToEvent = b as ISyncableBucket);

#pragma warning disable BL0005 // Component parameter should not be set outside of its component.
            component.Bucket = bucket;
            component.OnCreateBiggerBucket = new EventCallback <ISyncableBucket>(eventhandler.Object, null);
#pragma warning restore BL0005 // Component parameter should not be set outside of its component.

            //Act
            await component.OnClickCreateBiggerBucket();

            //Assert
            Assert.AreEqual(bucket, bucketSentToEvent);
        }