public void TestThatGetNumberOfEqualKeyValuesThrowsArgumentNullExceptionIfExtraCriteriasIsNull() { var fixture = new Fixture(); fixture.Customize <IKey>(e => e.FromFactory(() => MockRepository.GenerateMock <IKey>())); using (var oracleClient = new OracleClient()) { Assert.Throws <ArgumentNullException>(() => oracleClient.GetNumberOfEqualKeyValues(fixture.CreateAnonymous <IKey>(), null, fixture.CreateAnonymous <string>())); oracleClient.Dispose(); } }
public void TestThatGetNumberOfEqualKeyValuesThrowsArgumentNullExceptionIfKeyIsNull() { var fixture = new Fixture(); fixture.Customize <KeyValuePair <string, object> >(e => e.FromFactory(() => new KeyValuePair <string, object>(fixture.CreateAnonymous <string>(), fixture.CreateAnonymous <object>()))); using (var oracleClient = new OracleClient()) { Assert.Throws <ArgumentNullException>(() => oracleClient.GetNumberOfEqualKeyValues(null, fixture.CreateMany <KeyValuePair <string, object> >(5).ToList(), fixture.CreateAnonymous <string>())); oracleClient.Dispose(); } }
public void TestThatGetNumberOfEqualKeyValuesThrowsArgumentNullExceptionIfMatchingKeyValueIsEmpty() { var fixture = new Fixture(); fixture.Customize <IKey>(e => e.FromFactory(() => MockRepository.GenerateMock <IKey>())); fixture.Customize <KeyValuePair <string, object> >(e => e.FromFactory(() => new KeyValuePair <string, object>(fixture.CreateAnonymous <string>(), fixture.CreateAnonymous <object>()))); using (var oracleClient = new OracleClient()) { Assert.Throws <ArgumentNullException>(() => oracleClient.GetNumberOfEqualKeyValues(fixture.CreateAnonymous <IKey>(), fixture.CreateMany <KeyValuePair <string, object> >(5).ToList(), string.Empty)); oracleClient.Dispose(); } }
public void TestThatGetNumberOfEqualKeyValuesThrowsDeliveryEngineMetadataExceptionIfTableIsNullOnKey() { var fixture = new Fixture(); fixture.Customize <KeyValuePair <string, object> >(e => e.FromFactory(() => new KeyValuePair <string, object>(fixture.CreateAnonymous <string>(), fixture.CreateAnonymous <object>()))); var keyMock = MockRepository.GenerateMock <IKey>(); keyMock.Expect(m => m.Table) .Return(null) .Repeat.Any(); using (var oracleClient = new OracleClient()) { Assert.Throws <DeliveryEngineMetadataException>(() => oracleClient.GetNumberOfEqualKeyValues(keyMock, fixture.CreateMany <KeyValuePair <string, object> >(5).ToList(), fixture.CreateAnonymous <string>())); oracleClient.Dispose(); } keyMock.AssertWasCalled(m => m.Table); }
public void TestThatGetNumberOfEqualKeyValuesGetsNumberOfEqualKeyValuesForKeyWhereThereMultipleRecords() { var fieldCollection = new List <IField> { MockRepository.GenerateMock <IField>(), MockRepository.GenerateMock <IField>(), MockRepository.GenerateMock <IField>(), MockRepository.GenerateMock <IField>() }; fieldCollection.ElementAt(0).Expect(m => m.NameSource) .Return("SYSTEM_NR") .Repeat.Any(); fieldCollection.ElementAt(0).Expect(m => m.DatatypeOfSource) .Return(typeof(int?)) .Repeat.Any(); fieldCollection.ElementAt(0).Expect(m => m.DatatypeOfTarget) .Return(typeof(int?)) .Repeat.Any(); fieldCollection.ElementAt(1).Expect(m => m.NameSource) .Return("TABEL") .Repeat.Any(); fieldCollection.ElementAt(1).Expect(m => m.DatatypeOfSource) .Return(typeof(int?)) .Repeat.Any(); fieldCollection.ElementAt(1).Expect(m => m.DatatypeOfTarget) .Return(typeof(int?)) .Repeat.Any(); fieldCollection.ElementAt(2).Expect(m => m.NameSource) .Return("NR") .Repeat.Any(); fieldCollection.ElementAt(2).Expect(m => m.DatatypeOfSource) .Return(typeof(string)) .Repeat.Any(); fieldCollection.ElementAt(2).Expect(m => m.DatatypeOfTarget) .Return(typeof(string)) .Repeat.Any(); fieldCollection.ElementAt(3).Expect(m => m.NameSource) .Return("TEKST") .Repeat.Any(); fieldCollection.ElementAt(3).Expect(m => m.DatatypeOfSource) .Return(typeof(string)) .Repeat.Any(); fieldCollection.ElementAt(3).Expect(m => m.DatatypeOfTarget) .Return(typeof(string)) .Repeat.Any(); var filterCollection = new List <IFilter>(); var tableMock = MockRepository.GenerateMock <ITable>(); var keyMock = MockRepository.GenerateMock <ICandidateKey>(); keyMock.Expect(m => m.Table) .Return(tableMock) .Repeat.Any(); keyMock.Expect(m => m.Fields) .Return(new ReadOnlyObservableCollection <KeyValuePair <IField, IMap> >(new ObservableCollection <KeyValuePair <IField, IMap> >(new List <KeyValuePair <IField, IMap> >(fieldCollection.GetRange(0, 3).Select(field => new KeyValuePair <IField, IMap>(field, null)))))) .Repeat.Any(); tableMock.Expect(m => m.NameSource) .Return("TABEL") .Repeat.Any(); tableMock.Expect(m => m.Fields) .Return(new ReadOnlyObservableCollection <IField>(new ObservableCollection <IField>(fieldCollection))) .Repeat.Any(); tableMock.Expect(m => m.PrimaryKey) .Return(keyMock) .Repeat.Any(); tableMock.Expect(m => m.RecordFilters) .WhenCalled(e => e.ReturnValue = new ReadOnlyObservableCollection <IFilter>(new ObservableCollection <IFilter>(filterCollection))) .Return(new ReadOnlyObservableCollection <IFilter>(new ObservableCollection <IFilter>(filterCollection))) .Repeat.Any(); tableMock.Expect(m => m.AddRecordFilter(Arg <IFilter> .Is.NotNull)) .WhenCalled(e => filterCollection.Add((IFilter)e.Arguments.ElementAt(0))) .Repeat.Any(); tableMock.Expect(m => m.Clone()) .Return(tableMock) .Repeat.Any(); var mocker = new MockRepository(); var dataManipulatorsMock = mocker.DynamicMultiMock <IDataManipulators>(new[] { typeof(IEnumerable <IDataManipulator>) }); Expect.Call(dataManipulatorsMock.GetEnumerator()) .Return(new List <IDataManipulator>(0).GetEnumerator()) .Repeat.Any(); mocker.ReplayAll(); using (var oracleClient = new OracleClient(dataManipulatorsMock)) { var extraCriterias = new List <KeyValuePair <string, object> > { new KeyValuePair <string, object>("SYSTEM_NR", 0), new KeyValuePair <string, object>("TABEL", 0) }; var numberOfEqualKeys = oracleClient.GetNumberOfEqualKeyValues(keyMock, extraCriterias, "0|0|00"); Assert.That(numberOfEqualKeys, Is.EqualTo(1)); oracleClient.Dispose(); } keyMock.AssertWasCalled(m => m.Table); tableMock.AssertWasCalled(m => m.Clone()); tableMock.AssertWasCalled(m => m.RecordFilters, opt => opt.Repeat.Times(6)); tableMock.AssertWasCalled(m => m.AddRecordFilter(Arg <IFilter> .Is.NotNull)); dataManipulatorsMock.AssertWasCalled(m => m.GetEnumerator()); }
public void TestThatGetNumberOfEqualKeyValuesGetsNumberOfEqualKeyValuesForKeyWhereThereOnlyAreOnRecord() { var fixture = new Fixture(); var fieldCollection = new List <IField> { MockRepository.GenerateMock <IField>(), MockRepository.GenerateMock <IField>(), MockRepository.GenerateMock <IField>(), MockRepository.GenerateMock <IField>() }; fieldCollection.ElementAt(0).Expect(m => m.NameSource) .Return("SYSTEM_NR") .Repeat.Any(); fieldCollection.ElementAt(0).Expect(m => m.DatatypeOfSource) .Return(typeof(int?)) .Repeat.Any(); fieldCollection.ElementAt(1).Expect(m => m.NameSource) .Return("TABEL") .Repeat.Any(); fieldCollection.ElementAt(1).Expect(m => m.DatatypeOfSource) .Return(typeof(int?)) .Repeat.Any(); fieldCollection.ElementAt(2).Expect(m => m.NameSource) .Return("NR") .Repeat.Any(); fieldCollection.ElementAt(2).Expect(m => m.DatatypeOfSource) .Return(typeof(string)) .Repeat.Any(); fieldCollection.ElementAt(3).Expect(m => m.NameSource) .Return("TEKST") .Repeat.Any(); fieldCollection.ElementAt(3).Expect(m => m.DatatypeOfSource) .Return(typeof(string)) .Repeat.Any(); var filterCollection = new List <IFilter>(); var tableMock = MockRepository.GenerateMock <ITable>(); var keyMock = MockRepository.GenerateMock <ICandidateKey>(); keyMock.Expect(m => m.Table) .Return(tableMock) .Repeat.Any(); keyMock.Expect(m => m.Fields) .Return(new ReadOnlyObservableCollection <KeyValuePair <IField, IMap> >(new ObservableCollection <KeyValuePair <IField, IMap> >(fieldCollection.GetRange(0, 3).Select(field => new KeyValuePair <IField, IMap>(field, null))))) .Repeat.Any(); tableMock.Expect(m => m.NameSource) .Return("TABEL") .Repeat.Any(); tableMock.Expect(m => m.Fields) .Return(new ReadOnlyObservableCollection <IField>(new ObservableCollection <IField>(fieldCollection))) .Repeat.Any(); tableMock.Expect(m => m.PrimaryKey) .Return(keyMock) .Repeat.Any(); tableMock.Expect(m => m.RecordFilters) .WhenCalled(e => e.ReturnValue = new ReadOnlyObservableCollection <IFilter>(new ObservableCollection <IFilter>(filterCollection))) .Return(new ReadOnlyObservableCollection <IFilter>(new ObservableCollection <IFilter>(filterCollection))) .Repeat.Any(); tableMock.Expect(m => m.AddRecordFilter(Arg <IFilter> .Is.NotNull)) .WhenCalled(e => filterCollection.Add((IFilter)e.Arguments.ElementAt(0))) .Repeat.Any(); tableMock.Expect(m => m.Clone()) .Return(tableMock) .Repeat.Any(); using (var oracleClient = new OracleClient()) { var extraCriterias = new List <KeyValuePair <string, object> > { new KeyValuePair <string, object>("SYSTEM_NR", 0), new KeyValuePair <string, object>("TABEL", 0), new KeyValuePair <string, object>("NR", "00") }; var numberOfEqualKeys = oracleClient.GetNumberOfEqualKeyValues(keyMock, extraCriterias, fixture.CreateAnonymous <string>()); Assert.That(numberOfEqualKeys, Is.EqualTo(1)); oracleClient.Dispose(); } keyMock.AssertWasCalled(m => m.Table); tableMock.AssertWasCalled(m => m.Clone()); tableMock.AssertWasCalled(m => m.RecordFilters, opt => opt.Repeat.Times(7)); tableMock.AssertWasCalled(m => m.AddRecordFilter(Arg <IFilter> .Is.NotNull)); }