public void MigratesSourceControlDataToNewFormatSameSourceControlCount()
        {
            IntegrationResult from = IntegrationResultMother.CreateSuccessful(DateTime.Now);
            IntegrationResult to   = IntegrationResultMother.CreateSuccessful(DateTime.Now.AddDays(10));

            ArrayList scList = new ArrayList();

            scList.Add(new MockSourceControl());
            scList.Add(new MockSourceControl());

            from.SourceControlData.Add(new NameValuePair("test", "first"));
            from.SourceControlData.Add(new NameValuePair("commit", "first"));

            MultiSourceControl multiSourceControl = new MultiSourceControl();

            multiSourceControl.SourceControls = (ISourceControl[])scList.ToArray(typeof(ISourceControl));

            //// EXECUTE
            ArrayList returnedMods = new ArrayList(multiSourceControl.GetModifications(from, to));

            //// VERIFY
            Assert.AreEqual(2, to.SourceControlData.Count, "SourceControlData.Count");

            List <NameValuePair> list = new List <NameValuePair>();

            list.Add(new NameValuePair("test", "first"));
            Assert.AreEqual(XmlConversionUtil.ConvertObjectToXml(list), to.SourceControlData[0].Value, "SourceControlData[0].Value");
            list.Clear();
            Assert.AreEqual("sc0", to.SourceControlData[0].Name, "SourceControlData[0].Name");

            list.Add(new NameValuePair("commit", "first"));
            Assert.AreEqual(XmlConversionUtil.ConvertObjectToXml(list), to.SourceControlData[1].Value, "SourceControlData[1].Value");
            list.Clear();
            Assert.AreEqual("sc1", to.SourceControlData[1].Name, "SourceControlData[1].Name");
        }
        public void PassesIndividualSourceDataAndCombinesSingleSourceControl()
        {
            IntegrationResult from = IntegrationResultMother.CreateSuccessful(DateTime.Now);
            IntegrationResult to   = IntegrationResultMother.CreateSuccessful(DateTime.Now.AddDays(10));

            string scValue            = null;
            List <NameValuePair> list = new List <NameValuePair>();

            list.Add(new NameValuePair("name0", "first"));
            scValue = XmlConversionUtil.ConvertObjectToXml(list);
            from.SourceControlData.Add(new NameValuePair("sc0", scValue));
            list.Clear();

            List <ISourceControl> sourceControls = new List <ISourceControl>();

            sourceControls.Add(new MockSourceControl());

            MultiSourceControl multiSourceControl = new MultiSourceControl();

            multiSourceControl.SourceControls = sourceControls.ToArray();

            //// EXECUTE
            ArrayList returnedMods = new ArrayList(multiSourceControl.GetModifications(from, to));

            //// VERIFY
            Assert.AreEqual(from.SourceControlData.Count, to.SourceControlData.Count, "SourceControlData.Count");

            list.Add(new NameValuePair("name0", "first"));
            Assert.AreEqual(XmlConversionUtil.ConvertObjectToXml(list), to.SourceControlData[0].Value, "SourceControlData[0].Value");
            list.Clear();
            Assert.AreEqual("sc0", to.SourceControlData[0].Name, "SourceControlData[0].Name");
        }
        public void HandlesNullSourceControlDataValue()
        {
            var from = IntegrationResultMother.CreateSuccessful(DateTime.Now);
            var to   = IntegrationResultMother.CreateSuccessful(DateTime.Now.AddDays(10));

            from.SourceControlData.Add(new NameValuePair("SVN:LastRevision:svn://myserver/mypath", null));

            var sourceControls = new List <ISourceControl> {
                new MockSourceControl(), new MockSourceControl()
            };
            var multiSourceControl = new MultiSourceControl {
                SourceControls = sourceControls.ToArray()
            };

            //// EXECUTE
            var returnedMods = new ArrayList(multiSourceControl.GetModifications(from, to));

            //// VERIFY
            Assert.AreEqual(0, returnedMods.Count, "SourceControlData.Count");

            Assert.AreEqual(2, to.SourceControlData.Count, "SourceControlData.Count");

            Assert.AreEqual("<ArrayOfNameValuePair />", to.SourceControlData[0].Value, "SourceControlData[0].Value");
            Assert.AreEqual("sc0", to.SourceControlData[0].Name, "SourceControlData[0].Name");

            Assert.AreEqual("<ArrayOfNameValuePair><NameValuePair name=\"SVN:LastRevision:svn://myserver/mypath\" /></ArrayOfNameValuePair>", to.SourceControlData[1].Value, "SourceControlData[1].Value");
            Assert.AreEqual("sc1", to.SourceControlData[1].Name, "SourceControlData[1].Name");
        }
        public void GetModificationsRepeatedlyShouldReturnSameResult()
        {
            IntegrationResult from = IntegrationResultMother.CreateSuccessful(DateTime.Now);
            IntegrationResult to   = IntegrationResultMother.CreateSuccessful(DateTime.Now.AddDays(10));

            string scValue            = null;
            List <NameValuePair> list = new List <NameValuePair>();

            list.Add(new NameValuePair("name0", "first"));
            scValue = XmlConversionUtil.ConvertObjectToXml(list);
            from.SourceControlData.Add(new NameValuePair("sc0", scValue));
            list.Clear();

            list.Add(new NameValuePair("name1", "first"));
            list.Add(new NameValuePair("name2", "first"));
            scValue = XmlConversionUtil.ConvertObjectToXml(list);
            from.SourceControlData.Add(new NameValuePair("sc1", scValue));
            list.Clear();

            List <ISourceControl> sourceControls = new List <ISourceControl>();

            sourceControls.Add(new MockSourceControl());
            sourceControls.Add(new MockSourceControl());

            MultiSourceControl multiSourceControl = new MultiSourceControl();

            multiSourceControl.SourceControls = sourceControls.ToArray();

            //// EXECUTE
            try
            {
                ArrayList firstReturnedMods  = new ArrayList(multiSourceControl.GetModifications(from, to));
                ArrayList secondReturnedMods = new ArrayList(multiSourceControl.GetModifications(from, to));
                ArrayList thirdReturnedMods  = new ArrayList(multiSourceControl.GetModifications(from, to));

                Assert.AreEqual(secondReturnedMods.Count, thirdReturnedMods.Count);
            } catch (Exception e)
            {
                Assert.Fail("GetModifications threw Exception:" + e.Message);
            }
        }
Example #5
0
        public void PassesThroughGetSourceControlAndCombinesResults()
        {
            //// SETUP
            IntegrationResult from = IntegrationResultMother.CreateSuccessful(DateTime.Now);
            IntegrationResult to   = IntegrationResultMother.CreateSuccessful(DateTime.Now.AddDays(10));

            Modification mod1 = new Modification();

            mod1.Comment = "Testing Multi";
            Modification mod2 = new Modification();

            mod2.Comment = "More Multi";
            Modification mod3 = new Modification();

            mod3.Comment = "Yet More Multi";

            ArrayList mocks = new ArrayList();

            mocks.Add(CreateModificationsSourceControlMock(new Modification[] { mod1, mod2 }, from, to));
            mocks.Add(CreateModificationsSourceControlMock(new Modification[] { mod3 }, from, to));
            mocks.Add(CreateModificationsSourceControlMock(new Modification[0], from, to));
            mocks.Add(CreateModificationsSourceControlMock(null, from, to));

            ArrayList scList = new ArrayList();

            foreach (DynamicMock mock in mocks)
            {
                scList.Add(mock.MockInstance);
            }

            MultiSourceControl multiSourceControl = new MultiSourceControl();

            multiSourceControl.SourceControls = (ISourceControl[])scList.ToArray(typeof(ISourceControl));

            //// EXECUTE
            ArrayList returnedMods = new ArrayList(multiSourceControl.GetModifications(from, to));

            //// VERIFY
            foreach (DynamicMock mock in mocks)
            {
                mock.Verify();
            }

            Assert.IsTrue(returnedMods.Contains(mod1));
            Assert.IsTrue(returnedMods.Contains(mod2));
            Assert.IsTrue(returnedMods.Contains(mod3));
        }
        public void IfRequireChangesFromAllTrueAndNoSourceControlHasEmptyChangesThenReturnChanges()
        {
            //// SETUP
            IntegrationResult from = IntegrationResultMother.CreateSuccessful(DateTime.Now);
            IntegrationResult to   = IntegrationResultMother.CreateSuccessful(DateTime.Now.AddDays(10));

            Modification mod1 = new Modification();

            mod1.Comment = "Testing Multi";
            Modification mod2 = new Modification();

            mod2.Comment = "More Multi";
            Modification mod3 = new Modification();

            mod3.Comment = "Yet More Multi";

            ArrayList mocks = new ArrayList();

            mocks.Add(CreateModificationsSourceControlMock(new Modification[] { mod1, mod2 }, from, to));
            mocks.Add(CreateModificationsSourceControlMock(new Modification[] { mod3 }, from, to));

            ArrayList scList = new ArrayList();

            foreach (Mock <ISourceControl> mock in mocks)
            {
                scList.Add(mock.Object);
            }

            MultiSourceControl multiSourceControl = new MultiSourceControl();

            multiSourceControl.RequireChangesFromAll = true;
            multiSourceControl.SourceControls        = (ISourceControl[])scList.ToArray(typeof(ISourceControl));

            //// EXECUTE
            ArrayList returnedMods = new ArrayList(multiSourceControl.GetModifications(from, to));

            //// VERIFY
            foreach (Mock <ISourceControl> mock in mocks)
            {
                mock.Verify();
            }

            Assert.IsTrue(returnedMods.Contains(mod1));
            Assert.IsTrue(returnedMods.Contains(mod2));
            Assert.IsTrue(returnedMods.Contains(mod3));
        }
Example #7
0
        public void IfRequireChangesFromAllTrueAndFirstSourceControlHasEmptyChangesThenReturnEmpty()
        {
            //// SETUP
            IntegrationResult from = IntegrationResultMother.CreateSuccessful(DateTime.Now);
            IntegrationResult to   = IntegrationResultMother.CreateSuccessful(DateTime.Now.AddDays(10));

            Modification mod1 = new Modification();

            mod1.Comment = "Testing Multi";

            ArrayList mocks = new ArrayList();

            mocks.Add(CreateModificationsSourceControlMock(new Modification[0], from, to));
            DynamicMock nonCalledMock = new DynamicMock(typeof(ISourceControl));

            nonCalledMock.ExpectNoCall("GetModifications", typeof(IIntegrationResult), typeof(IIntegrationResult));
            mocks.Add(nonCalledMock);

            ArrayList scList = new ArrayList();

            foreach (DynamicMock mock in mocks)
            {
                scList.Add(mock.MockInstance);
            }

            MultiSourceControl multiSourceControl = new MultiSourceControl();

            multiSourceControl.SourceControls        = (ISourceControl[])scList.ToArray(typeof(ISourceControl));
            multiSourceControl.RequireChangesFromAll = true;

            //// EXECUTE
            ArrayList returnedMods = new ArrayList(multiSourceControl.GetModifications(from, to));

            //// VERIFY
            foreach (DynamicMock mock in mocks)
            {
                mock.Verify();
            }

            Assert.AreEqual(0, returnedMods.Count);
        }
Example #8
0
        public void IfRequireChangesFromAllTrueAndAllSourceControlHasModificationsThenReturnMods()
        {
            //// SETUP
            IntegrationResult from = IntegrationResultMother.CreateSuccessful(DateTime.Now);
            IntegrationResult to   = IntegrationResultMother.CreateSuccessful(DateTime.Now.AddDays(10));

            Modification mod1 = new Modification();

            mod1.Comment = "Testing Multi";
            Modification mod2 = new Modification();

            mod2.Comment = "Testing Multi";

            ArrayList mocks = new ArrayList();

            mocks.Add(CreateModificationsSourceControlMock(new Modification[] { mod1 }, from, to));
            mocks.Add(CreateModificationsSourceControlMock(new Modification[] { mod2 }, from, to));

            ArrayList scList = new ArrayList();

            foreach (DynamicMock mock in mocks)
            {
                scList.Add(mock.MockInstance);
            }

            MultiSourceControl multiSourceControl = new MultiSourceControl();

            multiSourceControl.SourceControls        = (ISourceControl[])scList.ToArray(typeof(ISourceControl));
            multiSourceControl.RequireChangesFromAll = true;

            //// EXECUTE
            ArrayList returnedMods = new ArrayList(multiSourceControl.GetModifications(from, to));

            Assert.AreEqual(1, returnedMods.Count);

            //// VERIFY
            foreach (DynamicMock mock in mocks)
            {
                mock.Verify();
            }
        }