示例#1
0
 public void Test_GetsNothing_ForNoWorkItems()
 {
     using (var context = ShimsContext.Create())
     {
         var artifactUris = new List <ArtifactLink>()
         {
             new ArtifactLink()
             {
                 Uri = new Uri("test://changeset/1")
             },
             new ArtifactLink()
             {
                 Uri = new Uri("test://changeset/2")
             },
             new ArtifactLink()
             {
                 Uri = new Uri("test://changeset/3")
             },
         };
         var args = new Dictionary <string, object>()
         {
             { "ArtifactUris", artifactUris.Select(a => a.Uri) },
             { "AsOfDate", DateTime.MinValue },
             { "WorkItemStore", FakeUtils.GetFakeWorkItemStore(artifactUris) },
         };
         var ids = WorkflowInvoker.Invoke(new WitGetWorkItemsForArtifacts(), args);
         Assert.AreEqual(0, ids.Count);
     }
 }
        public void Test_GetsChangeset_When_MergesExist_2Levels()
        {
            using (var context = ShimsContext.Create())
            {
                var targetChangeset = FakeUtils.CreateChangeset(4, new List <int>()
                {
                    3
                });

                var changesets = new List <ChangesetInfo>()
                {
                    FakeUtils.CreateChangeset(1),
                    FakeUtils.CreateChangeset(2),
                    FakeUtils.CreateChangeset(3, new List <int>()
                    {
                        1, 2
                    }),
                    targetChangeset
                };

                var args = new Dictionary <string, object>()
                {
                    { "AssociatedChangesets", new List <Changeset>()
                      {
                          targetChangeset.ToChangeset()
                      } },
                    { "VersionControlServer", FakeUtils.GetFakeVCServer(changesets) }
                };

                var merges = WorkflowInvoker.Invoke(new GetMergedChangesets(), args);
                Assert.AreEqual(3, merges.Count());
            }
        }
示例#3
0
        public void Test_Works_WhenErrors()
        {
            using (var context = ShimsContext.Create())
            {
                var savedIds  = new List <int>();
                var store     = FakeUtils.GetFakeWorkItemStore(savedIds);
                var workItems = new List <WorkItem>()
                {
                    new ShimWorkItem()
                    {
                        IdGet = () => - 1, StoreGet = () => store
                    },
                    new ShimWorkItem()
                    {
                        IdGet = () => 2, StoreGet = () => store
                    }
                };

                var args = new Dictionary <string, object>()
                {
                    { "WorkItems", workItems }
                };
                var errs = WorkflowInvoker.Invoke(new WitBatchSaveWorkItems(), args);
                Assert.AreEqual(1, errs.Count);
                Assert.AreEqual(0, savedIds.Count);
            }
        }
示例#4
0
        public void Test_GetsWorkItemsOnly_WhenNoParentsSpecified()
        {
            using (var context = ShimsContext.Create())
            {
                var workItems = new List <WorkItemInfo>()
                {
                    new WorkItemInfo()
                    {
                        Id = 1
                    },
                    new WorkItemInfo()
                    {
                        Id = 2, ParentId = 1
                    },
                    new WorkItemInfo()
                    {
                        Id = 3, ParentId = 1
                    },
                    new WorkItemInfo()
                    {
                        Id = 4
                    },
                };

                var args = new Dictionary <string, object>()
                {
                    { "Fields", new List <string>()
                      {
                          CoreFieldReferenceNames.History, UpdateWorkItem.IntegrationBuildFieldRef
                      } },
                    { "Ids", new List <int>()
                      {
                          2, 4
                      } },
                    { "IncludeParentWorkItems", false },
                    { "WorkItemStore", FakeUtils.GetFakeWorkItemStore(workItems) },
                };

                IDictionary <string, object> output;
                var workItemResults = WorkflowInvoker.Invoke(new WitQueryWorkItems(), args, out output, TimeSpan.FromMinutes(5));
                Assert.IsTrue(output.ContainsKey("ParentChildLinks"));
                Assert.AreEqual(0, ((IEnumerable <WorkItemLinkInfo>)output["ParentChildLinks"]).Count());
                Assert.AreEqual(2, workItemResults.Count);
                var items = workItemResults.Cast <WorkItem>().ToList();
                Assert.IsTrue(items.Any(i => i.Id == 2));
                Assert.IsTrue(items.Any(i => i.Id == 4));
            }
        }
        public void Regulate(Thermometer thermometer, Heater heater, double minTemp, double maxTemp)
        {
            while (true)
            {
                while (thermometer.Read() > minTemp)
                {
                    FakeUtils.Wait(1);
                }
                heater.Engage();

                while (thermometer.Read() < maxTemp)
                {
                    FakeUtils.Wait(1);
                }
                heater.Disengage();
            }
        }
        public void Discounting_5Cost_3Discont_2Result()
        {
            //arrange
            //var basket = new Basket();
            var product   = RandomData.Create <Candy>();
            var discounts = RandomData.Create <Dictionary <int, Discount> >();
            var basket    = FakeUtils.Resolve <Basket>();

            basket.FakeMethod(nameof(Basket.GetDiscount), 3);
            basket.FakeMethod(nameof(Basket.GetCost), 5);

            //act
            var totalCost = basket.Discounting(product, discounts);

            //assert
            Assert.Equal(2, totalCost);
        }
        public void GetDiscount_NoDiscount_0Result()
        {
            //arrange
            var basket    = new Basket();
            var discounts = new Dictionary <int, Discount>();
            var discount  = FakeUtils.Resolve <Discount>().FakeMethod(nameof(Discount.CountPriceWithDiscount), 1);

            discounts.Add(1, discount);
            var product = RandomData.Create <Candy>();

            product.Id = 2;

            //act
            var totalDiscount = basket.GetDiscount(product, discounts);

            //assert
            Assert.Equal(0, totalDiscount);
        }
        public void GetDiscount_IsPresent_Result(int discountCost, int productCount, int result)
        {
            //arrange
            var basket    = new Basket();
            var discounts = new Dictionary <int, Discount>();
            var discount  = FakeUtils.Resolve <Discount>().FakeMethod(nameof(Discount.CountPriceWithDiscount), discountCost);

            discounts.Add(1, discount);
            var product = RandomData.Create <Candy>();

            product.Id    = 1;
            product.Count = productCount;

            //act
            var totalDiscount = basket.GetDiscount(product, discounts);

            //assert
            Assert.Equal(result, totalDiscount);
        }