public ProductAttributeConverter(IProductAttributeService productAttributeService,
                                  IProductAttributeParser productAttributeParser,
                                  IDownloadService downloadService,
                                  IApiTypeConverter apiTypeConverter)
 {
     _productAttributeService = productAttributeService;
     _productAttributeParser  = productAttributeParser;
     _downloadService         = downloadService;
 }
Пример #2
0
 public VendorAttributeConverter(IVendorAttributeService vendorAttributeService,
                                 IVendorAttributeParser vendorAttributeParser,
                                 IDownloadService downloadService,
                                 IApiTypeConverter apiTypeConverter)
 {
     _vendorAttributeService = vendorAttributeService;
     _vendorAttributeParser  = vendorAttributeParser;
     _downloadService        = downloadService;
 }
Пример #3
0
        public void WhenCollectionIsNull_ShouldReturnInstanceOfAnObjectOfTheSpecifiedType()
        {
            //Arange
            IApiTypeConverter apiTypeConverterStub = MockRepository.GenerateStub <IApiTypeConverter>();

            IObjectConverter objectConverter = new Converters.ObjectConverter(apiTypeConverterStub);

            ICollection <KeyValuePair <string, string> > nullCollection = null;

            //Act
            SomeTestingObject someTestingObject = objectConverter.ToObject <SomeTestingObject>(nullCollection);

            //Assert
            Assert.IsNotNull(someTestingObject);
            Assert.IsInstanceOf(typeof(SomeTestingObject), someTestingObject);
        }
Пример #4
0
        public void WhenCollectionIsEmpty_ShouldReturnInstanceOfAnObjectWithUnsetProperties()
        {
            //Arange
            IApiTypeConverter apiTypeConverterStub = MockRepository.GenerateStub <IApiTypeConverter>();

            IObjectConverter objectConverter = new Converters.ObjectConverter(apiTypeConverterStub);

            ICollection <KeyValuePair <string, string> > emptyCollection = new List <KeyValuePair <string, string> >();

            //Act
            SomeTestingObject someTestingObject = objectConverter.ToObject <SomeTestingObject>(emptyCollection);

            //Assert
            Assert.AreEqual(0, someTestingObject.IntProperty);
            Assert.AreEqual(null, someTestingObject.StringProperty);
            Assert.AreEqual(null, someTestingObject.DateTimeNullableProperty);
            Assert.AreEqual(null, someTestingObject.BooleanNullableStatusProperty);
        }
Пример #5
0
        public void WhenCollectionContainsInvalidStringProperty_ShouldReturnTheObjectWithItsStringPropertySetToTheDefaultValue(string invalidStringPropertyName)
        {
            //Arange
            IApiTypeConverter apiTypeConverterStub = MockRepository.GenerateStub <IApiTypeConverter>();

            IObjectConverter objectConverter = new Converters.ObjectConverter(apiTypeConverterStub);

            ICollection <KeyValuePair <string, string> > collection = new List <KeyValuePair <string, string> >()
            {
                new KeyValuePair <string, string>(invalidStringPropertyName, "some value")
            };

            //Act
            SomeTestingObject someTestingObject = objectConverter.ToObject <SomeTestingObject>(collection);

            //Assert
            Assert.IsNull(someTestingObject.StringProperty);
        }
Пример #6
0
        public void WhenCollectionContainsValidStringProperty_ShouldSetTheObjectStringPropertyValueToTheCollectionStringPropertyValue(string stringPropertyName)
        {
            //Arange
            IApiTypeConverter apiTypeConverterStub = MockRepository.GenerateStub <IApiTypeConverter>();

            IObjectConverter objectConverter = new Converters.ObjectConverter(apiTypeConverterStub);

            ICollection <KeyValuePair <string, string> > collection = new List <KeyValuePair <string, string> >()
            {
                new KeyValuePair <string, string>(stringPropertyName, "some value")
            };

            //Act
            SomeTestingObject someTestingObject = objectConverter.ToObject <SomeTestingObject>(collection);

            //Assert
            Assert.AreEqual("some value", someTestingObject.StringProperty);
        }
Пример #7
0
        public void WhenCollectionContainsInvalidIntProperty_ShouldNotCallTheToIntMethod(string invalidIntPropertyName)
        {
            //Arange
            IApiTypeConverter apiTypeConverterMock = MockRepository.GenerateMock <IApiTypeConverter>();

            IObjectConverter objectConverter = new Converters.ObjectConverter(apiTypeConverterMock);

            ICollection <KeyValuePair <string, string> > collection = new List <KeyValuePair <string, string> >()
            {
                new KeyValuePair <string, string>(invalidIntPropertyName, "5")
            };

            //Act
            objectConverter.ToObject <SomeTestingObject>(collection);

            //Assert
            apiTypeConverterMock.AssertWasNotCalled(x => x.ToInt(Arg <string> .Is.Anything));
        }
Пример #8
0
        public void WhenCollectionIsEmpty_ShoulNotCallAnyOfTheApiTypeConverterMethods()
        {
            //Arange
            IApiTypeConverter apiTypeConverterMock = MockRepository.GenerateMock <IApiTypeConverter>();

            IObjectConverter objectConverter = new Converters.ObjectConverter(apiTypeConverterMock);

            ICollection <KeyValuePair <string, string> > emptyCollection = new List <KeyValuePair <string, string> >();

            //Act
            objectConverter.ToObject <SomeTestingObject>(emptyCollection);

            //Assert
            apiTypeConverterMock.AssertWasNotCalled(x => x.ToInt(Arg <string> .Is.Anything));
            apiTypeConverterMock.AssertWasNotCalled(x => x.ToIntNullable(Arg <string> .Is.Anything));
            apiTypeConverterMock.AssertWasNotCalled(x => x.ToUtcDateTimeNullable(Arg <string> .Is.Anything));
            apiTypeConverterMock.AssertWasNotCalled(x => x.ToListOfInts(Arg <string> .Is.Anything));
            apiTypeConverterMock.AssertWasNotCalled(x => x.ToStatus(Arg <string> .Is.Anything));
        }
Пример #9
0
        public void WhenCollectionContainsInvalidNullableEnumProperty_ShouldNotCallTheToEnumNullableMethod(string invalidEnumNullableProperty)
        {
            //Arange
            IApiTypeConverter apiTypeConverterMock = MockRepository.GenerateMock <IApiTypeConverter>();

            apiTypeConverterMock.Expect(x => x.ToEnumNullable(Arg <string> .Is.Anything, Arg <Type> .Is.Anything)).IgnoreArguments();

            IObjectConverter objectConverter = new Converters.ObjectConverter(apiTypeConverterMock);

            ICollection <KeyValuePair <string, string> > collection = new List <KeyValuePair <string, string> >()
            {
                new KeyValuePair <string, string>(invalidEnumNullableProperty, "some enum value")
            };

            //Act
            objectConverter.ToObject <SomeTestingObject>(collection);

            //Assert
            apiTypeConverterMock.AssertWasNotCalled(x => x.ToEnumNullable(Arg <string> .Is.Anything, Arg <Type> .Is.Anything));
        }
Пример #10
0
        public void WhenCollectionContainsValidBooleanStatusPropertyAndPublishedValue_ShouldCallTheToStatusMethod(string booleanStatusPropertyName)
        {
            //Arange
            IApiTypeConverter apiTypeConverterMock = MockRepository.GenerateMock <IApiTypeConverter>();

            apiTypeConverterMock.Expect(x => x.ToStatus(Arg <string> .Is.Anything)).IgnoreArguments().Return(true);

            IObjectConverter objectConverter = new Converters.ObjectConverter(apiTypeConverterMock);

            ICollection <KeyValuePair <string, string> > collection = new List <KeyValuePair <string, string> >()
            {
                new KeyValuePair <string, string>(booleanStatusPropertyName, "some published value")
            };

            //Act
            objectConverter.ToObject <SomeTestingObject>(collection);

            //Assert
            apiTypeConverterMock.AssertWasCalled(x => x.ToStatus(Arg <string> .Is.Anything));
        }
Пример #11
0
        public void WhenCollectionContainsValidDateTimeProperty_ShouldCallTheToDateTimeNullableMethod(string dateTimePropertyName)
        {
            //Arange
            IApiTypeConverter apiTypeConverterMock = MockRepository.GenerateMock <IApiTypeConverter>();

            apiTypeConverterMock.Expect(x => x.ToUtcDateTimeNullable(Arg <string> .Is.Anything)).IgnoreArguments().Return(DateTime.Now);

            IObjectConverter objectConverter = new Converters.ObjectConverter(apiTypeConverterMock);

            ICollection <KeyValuePair <string, string> > collection = new List <KeyValuePair <string, string> >()
            {
                new KeyValuePair <string, string>(dateTimePropertyName, "2016-12-12")
            };

            //Act
            objectConverter.ToObject <SomeTestingObject>(collection);

            //Assert
            apiTypeConverterMock.AssertWasCalled(x => x.ToUtcDateTimeNullable(Arg <string> .Is.Anything));
        }
Пример #12
0
        public void WhenCollectionContainsValidIntProperty_ShouldCallTheToIntMethod(string intPropertyName)
        {
            //Arange
            int expectedInt = 5;
            IApiTypeConverter apiTypeConverterMock = MockRepository.GenerateMock <IApiTypeConverter>();

            apiTypeConverterMock.Expect(x => x.ToInt(Arg <string> .Is.Anything)).IgnoreArguments().Return(expectedInt);

            IObjectConverter objectConverter = new Converters.ObjectConverter(apiTypeConverterMock);

            ICollection <KeyValuePair <string, string> > collection = new List <KeyValuePair <string, string> >()
            {
                new KeyValuePair <string, string>(intPropertyName, expectedInt.ToString())
            };

            //Act
            objectConverter.ToObject <SomeTestingObject>(collection);

            //Assert
            apiTypeConverterMock.VerifyAllExpectations();
        }
Пример #13
0
        public void WhenCollectionContainsValidOrInvalidStringProperty_ShouldNotCallAnyOfTheApiTypeConverterMethods(string stringProperty)
        {
            //Arange
            IApiTypeConverter apiTypeConverterMock = MockRepository.GenerateMock <IApiTypeConverter>();

            IObjectConverter objectConverter = new Converters.ObjectConverter(apiTypeConverterMock);

            ICollection <KeyValuePair <string, string> > collection = new List <KeyValuePair <string, string> >()
            {
                new KeyValuePair <string, string>(stringProperty, "some value")
            };

            //Act
            objectConverter.ToObject <SomeTestingObject>(collection);

            //Assert
            apiTypeConverterMock.AssertWasNotCalled(x => x.ToInt(Arg <string> .Is.Anything));
            apiTypeConverterMock.AssertWasNotCalled(x => x.ToIntNullable(Arg <string> .Is.Anything));
            apiTypeConverterMock.AssertWasNotCalled(x => x.ToUtcDateTimeNullable(Arg <string> .Is.Anything));
            apiTypeConverterMock.AssertWasNotCalled(x => x.ToListOfInts(Arg <string> .Is.Anything));
            apiTypeConverterMock.AssertWasNotCalled(x => x.ToStatus(Arg <string> .Is.Anything));
        }
Пример #14
0
 public ObjectConverter(IApiTypeConverter apiTypeConverter)
 {
     _apiTypeConverter = apiTypeConverter;
 }
Пример #15
0
 public void SetUp()
 {
     _apiTypeConverter = new ApiTypeConverter();
 }