예제 #1
0
        public void GetDownloadShares()
        {
            // ARRANGE
            DownloadShareList      expected = FactoryShare.DownloadShareList;
            IInternalDracoonClient c        = FactoryClients.InternalDracoonClientMock(true);
            DracoonSharesImpl      s        = new DracoonSharesImpl(c);

            Mock.Arrange(() => Arg.IsAny <long?>().NullableMustNotNegative(Arg.AnyString)).DoNothing().Occurs(1);
            Mock.Arrange(() => Arg.IsAny <long?>().NullableMustPositive(Arg.AnyString)).DoNothing().Occurs(1);
            Mock.Arrange(() => c.Builder.GetDownloadShares(Arg.IsAny <long?>(), Arg.IsAny <long?>(), Arg.IsAny <GetDownloadSharesFilter>(), Arg.IsAny <SharesSort>()))
            .Returns(FactoryRestSharp.GetDownloadSharesMock()).Occurs(1);
            Mock.Arrange(() => c.Executor.DoSyncApiCall <ApiDownloadShareList>(Arg.IsAny <IRestRequest>(), RequestType.GetDownloadShares, 0))
            .Returns(FactoryShare.ApiDownloadShareList).Occurs(1);
            Mock.Arrange(() => ShareMapper.FromApiDownloadShareList(Arg.IsAny <ApiDownloadShareList>())).Returns(FactoryShare.DownloadShareList).Occurs(1);

            // ACT
            DownloadShareList actual = s.GetDownloadShares();

            // ASSERT
            Assert.NotNull(actual);
            Mock.Assert(() => Arg.IsAny <long?>().NullableMustNotNegative(Arg.AnyString));
            Mock.Assert(() => Arg.IsAny <long?>().NullableMustPositive(Arg.AnyString));
            Mock.Assert(() => ShareMapper.FromApiDownloadShareList(Arg.IsAny <ApiDownloadShareList>()));
            Mock.Assert(c.Builder);
            Mock.Assert(c.Executor);
        }