public void PassesThroughLabelSourceControl() { //// SETUP IntegrationResult result = new IntegrationResult(); DynamicMock mockSC1 = new DynamicMock(typeof(ISourceControl)); mockSC1.Expect("LabelSourceControl", result); DynamicMock mockSC2 = new DynamicMock(typeof(ISourceControl)); mockSC2.Expect("LabelSourceControl", result); ISourceControl[] sourceControls = new ISourceControl[] { (ISourceControl)mockSC1.MockInstance, (ISourceControl)mockSC2.MockInstance }; MultiSourceControl multiSourceControl = new MultiSourceControl(); multiSourceControl.SourceControls = sourceControls; //// EXECUTE multiSourceControl.LabelSourceControl(result); //// VERIFY mockSC1.Verify(); mockSC2.Verify(); }
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 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 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 PassesThroughLabelSourceControl() { //// SETUP IntegrationResult result = new IntegrationResult(); var mockSC1 = new Mock <ISourceControl>(); mockSC1.Setup(sourceControl => sourceControl.LabelSourceControl(result)).Verifiable(); var mockSC2 = new Mock <ISourceControl>(); mockSC2.Setup(sourceControl => sourceControl.LabelSourceControl(result)).Verifiable(); ISourceControl[] sourceControls = new ISourceControl[] { (ISourceControl)mockSC1.Object, (ISourceControl)mockSC2.Object }; MultiSourceControl multiSourceControl = new MultiSourceControl(); multiSourceControl.SourceControls = sourceControls; //// EXECUTE multiSourceControl.LabelSourceControl(result); //// VERIFY mockSC1.Verify(); mockSC2.Verify(); }
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 ShouldInstructAggregatedSourceControlsToGetSource() { IntegrationResult result = new IntegrationResult(); IMock mockSC1 = new DynamicMock(typeof(ISourceControl)); IMock mockSC2 = new DynamicMock(typeof(ISourceControl)); mockSC1.Expect("GetSource", result); mockSC2.Expect("GetSource", result); MultiSourceControl multiSourceControl = new MultiSourceControl(); multiSourceControl.SourceControls = new ISourceControl[] { (ISourceControl)mockSC1.MockInstance, (ISourceControl)mockSC2.MockInstance }; multiSourceControl.GetSource(result); mockSC1.Verify(); mockSC2.Verify(); }
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)); }
public void ShouldInstructAggregatedSourceControlsToGetSource() { IntegrationResult result = new IntegrationResult(); Mock <ISourceControl> mockSC1 = new Mock <ISourceControl>(); Mock <ISourceControl> mockSC2 = new Mock <ISourceControl>(); mockSC1.Setup(sourceControl => sourceControl.GetSource(result)).Verifiable(); mockSC2.Setup(sourceControl => sourceControl.GetSource(result)).Verifiable(); MultiSourceControl multiSourceControl = new MultiSourceControl(); multiSourceControl.SourceControls = new ISourceControl[] { (ISourceControl)mockSC1.Object, (ISourceControl)mockSC2.Object }; multiSourceControl.GetSource(result); mockSC1.Verify(); mockSC2.Verify(); }
public void ValuePopulation() { //// SETUP MultiSourceControl multiSourceControl = new MultiSourceControl(); //// EXECUTE NetReflector.Read(SourceControlXml, multiSourceControl); //// VERIFY Assert.IsTrue(multiSourceControl.SourceControls.Length == 2); string optionalProp0 = ((SourceControlMock)multiSourceControl.SourceControls[0]).AnOptionalProperty; string optionalProp1 = ((SourceControlMock)multiSourceControl.SourceControls[1]).AnOptionalProperty; bool fooFound = optionalProp0 == "foo" || optionalProp1 == "foo"; bool barFound = optionalProp0 == "bar" || optionalProp1 == "bar"; Assert.IsTrue(fooFound && barFound); }
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); }
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(); } }
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); } }