Beispiel #1
0
        public void FilterBy_ShouldReturnMotorsFilteredByAllParameters()
        {
            var motorFamilies = new List <MotorFamily>()
            {
                MotorFamily.VOLVO, MotorFamily.Ford
            };
            var features = new List <string>()
            {
                "F", "", "H", "EMD"
            };
            var displacements = new List <uint?>()
            {
                120, 200, 250
            };

            var expectedMotors = new List <Motor>()
            {
                motorsExamples1[0], motorsExamples1[3], motorsExamples1[7]
            };

            var motorService = new MotorService(new DataAccessByMemoryCache());
            var result       = motorService.MotorsFilterBy(motorsExamples1, motorFamilies, GetAllDisplacements(), GetAllFeatures());

            Assert.Equal(expectedMotors.OrderBy(m => m.MotorNumber), result.OrderBy(m => m.MotorNumber));
        }
Beispiel #2
0
        public void FilterBy_ShouldThrowExceptionIfParametersAreNulls()
        {
            IEnumerable <MotorFamily> families      = null;
            IEnumerable <uint?>       displacements = null;
            IEnumerable <string>      features      = null;

            var motorService = new MotorService(new DataAccessByMemoryCache());

            Assert.Throws <ArgumentNullException>(() => motorService.MotorsFilterBy(motorsExamples1, families, displacements, features));
        }
Beispiel #3
0
        public void FilterBy_ShouldReturnEmptyCollectionIfParametersAreEmptyCollections()
        {
            List <MotorFamily> families      = new List <MotorFamily>();
            List <uint?>       displacements = new List <uint?>();
            List <string>      features      = new List <string>();

            var motorService = new MotorService(new DataAccessByMemoryCache());
            var result       = motorService.MotorsFilterBy(motorsExamples1, families, displacements, features);

            Assert.Empty(result);
        }
Beispiel #4
0
        public void FilterBy_ShouldReturnMotorsFilteredByFeatures()
        {
            var features = new List <string>()
            {
                "F", ""
            };
            var expectedMotors = new List <Motor>()
            {
                motorsExamples1[1], motorsExamples1[2]
            };

            var motorService = new MotorService(new DataAccessByMemoryCache());
            var result       = motorService.MotorsFilterBy(motorsExamples1, GetAllFamilies(), GetAllDisplacements(), features);

            Assert.Equal(expectedMotors.OrderBy(m => m.MotorNumber), result.OrderBy(m => m.MotorNumber));
        }
Beispiel #5
0
        public void FilterBy_ShouldReturnMotorsFilteredByDisplacements()
        {
            var displacements = new List <uint?>()
            {
                200, 250
            };
            var expectedMotors = new List <Motor>()
            {
                motorsExamples1[0], motorsExamples1[1], motorsExamples1[4], motorsExamples1[6], motorsExamples1[7]
            };

            var motorService = new MotorService(new DataAccessByMemoryCache());
            var result       = motorService.MotorsFilterBy(motorsExamples1, GetAllFamilies(), displacements, GetAllFeatures());

            Assert.Equal(expectedMotors.OrderBy(m => m.MotorNumber), result.OrderBy(m => m.MotorNumber));
        }
Beispiel #6
0
        public void FilterBy_ShouldReturnMotorsFilteredByFamilies()
        {
            var motorFamilies = new List <MotorFamily>()
            {
                MotorFamily.Toyota
            };
            var expectedMotors = new List <Motor>()
            {
                motorsExamples1[4]
            };

            var motorService = new MotorService(new DataAccessByMemoryCache());
            var result       = motorService.MotorsFilterBy(motorsExamples1, motorFamilies, GetAllDisplacements(), GetAllFeatures());

            Assert.Equal(expectedMotors.OrderBy(m => m.MotorNumber), result.OrderBy(m => m.MotorNumber));
        }
Beispiel #7
0
        public void FilterBy_ShouldReturnEmptyCollectionIfNothingFound()
        {
            var features = new List <string>()
            {
                "Not existing feature"
            };
            var displacements = new List <uint?>()
            {
                404
            };
            var families = new List <MotorFamily>()
            {
                MotorFamily.VOLVO
            };

            var motorService = new MotorService(new DataAccessByMemoryCache());
            var result       = motorService.MotorsFilterBy(motorsExamples1, families, displacements, features);

            Assert.Empty(result);
            Assert.NotNull(result);
        }