Exemplo n.º 1
0
        public void Count_ValidInput_MandatoryMethodsMustHaveBeenUsed()
        {
            var fraudService = A.Fake <IFraudService>();
            var orderService = A.Fake <IOrderService>();

            //Arrange
            A.CallTo(() => fraudService.IsValidRequest(A <FraudRequest> ._)).Returns(new FraudRequestValidation(true));
            A.CallTo(() => orderService.ReadOrders(A <string> ._)).Returns(new List <Order>
            {
                new Order(orderId: 1, dealId: 1, email: "*****@*****.**", street: "123 Sesame St.", city: "New York", state: "NY", zipCode: "10011", creditCard: "12345689010"),
                new Order(orderId: 2, dealId: 1, email: "*****@*****.**", street: "123 Sesame St.", city: "New York", state: "NY", zipCode: "10011", creditCard: "12345689011"),
                new Order(orderId: 3, dealId: 2, email: "*****@*****.**", street: "1234 Not Sesame St.", city: "Colorado", state: "NY", zipCode: "10012", creditCard: "12345689012"),
                new Order(orderId: 4, dealId: 2, email: "*****@*****.**", street: "1234 Not Sesame St.", city: "Colorado", state: "NY", zipCode: "10012", creditCard: "12345689014")
            });

            var fraudRadar = new FraudRadar(fraudService, orderService, A.Fake <ILoggerService>());

            //Act
            fraudRadar.Check(new FraudRequest
            {
                Directory = Path.Combine(Environment.CurrentDirectory, "Files"),
                FileName  = "FourLines_MoreThanOneFraudulent.txt"
            }).ToList();

            //Assert
            A.CallTo(() => fraudService.IsValidRequest(A <FraudRequest> ._)).MustHaveHappenedOnceExactly();
            A.CallTo(() => orderService.ReadOrders(A <string> ._)).MustHaveHappenedOnceExactly();

            A.CallTo(() => orderService.NormalizeEmailAddress(A <string> ._)).MustHaveHappened(Repeated.Exactly.Times(4));
            A.CallTo(() => orderService.NormalizeStateAddress(A <string> ._)).MustHaveHappened(Repeated.Exactly.Times(4));
            A.CallTo(() => orderService.NormalizeStreetAddress(A <string> ._)).MustHaveHappened(Repeated.Exactly.Times(4));

            A.CallTo(() => fraudService.LookForCreditCardFraudByEmail(A <Order> ._, A <Order> ._)).MustHaveHappened(Repeated.AtLeast.Once);
            A.CallTo(() => fraudService.LookForCreditCardFraudByAddress(A <Order> ._, A <Order> ._)).MustHaveHappened(Repeated.AtLeast.Once);
        }
        private static List <FraudResult> ExecuteTest(string filePath)
        {
            var file = new FraudFileProcessor();

            file.ReadFraudFile(filePath);

            var fraudRadar = new FraudRadar();

            return(fraudRadar.Check(file.FraudLines).ToList());
        }
        private static List <FraudResult> ExecuteTest(string filePath)
        {
            var normalizeHandlers = GetNormalizeService();
            var checkFraudHandler = GetCheckFraudService();
            var ordersReader      = new OrdersReader(normalizeHandlers);
            var fraudRadar        = new FraudRadar(checkFraudHandler);

            var orders = ordersReader.GetOrders(filePath);

            return(fraudRadar.Check(orders).ToList());
        }
Exemplo n.º 4
0
        private static List <IFraudResult> ExecuteTest(IEnumerable <string> testData)
        {
            var mockFileIo   = new Mock <IFileIo>();
            var mockSettings = new Mock <ISettings>();

            mockFileIo.Setup(f => f.ReadAllLines(It.IsAny <string>())).Returns(testData);
            mockSettings.Setup(s => s.FilePath).Returns("TestFilePath");
            var fraudRadar = new FraudRadar(mockFileIo.Object, new CheckFraudService(), new OrderNormalizationService(), mockSettings.Object);

            return(fraudRadar.Check().ToList());
        }
Exemplo n.º 5
0
        private static List <FraudResult> ExecuteTest(string file)
        {
            var fraudRadar = new FraudRadar();

            // YOU CAN EITHER SPECIFY THE FILE NAME, OR THE FILE EXTENSION ONLY
            // I.E. SearchPattern = "*.txt", or SearchPattern = "FourLines_MoreThanOneFraudulent.txt"
            return(fraudRadar.Check(new FraudRequest
            {
                Directory = Path.Combine(Environment.CurrentDirectory, "Files"),
                FileName = file
            }).ToList());
        }
Exemplo n.º 6
0
        private static List <FraudResult> ExecuteTest(string filePath)
        {
            IHelper       helper       = new Helper();
            IOrderService orderService = new OrderService(helper);
            IFraudRadar   fraudRadar   = new FraudRadar(helper, orderService);

            //instead of passing the filePath, we will read it outside of the check method and pass
            //it the set of extracted lines from the file in the filepath
            var orders = orderService.GetOrders(filePath);

            return(fraudRadar.Check(orders).ToList());
        }
Exemplo n.º 7
0
        /// <summary>
        /// Initialize FraudRadar, load txt file and process orders
        /// </summary>
        /// <param name="txt_file"></param>
        private void FraudRadarInitialize(string txt_file)
        {
            // Set file path
            txt_file = Path.Combine(Environment.CurrentDirectory, txt_file);

            // Check if file exists
            if (File.Exists(txt_file))
            {
                // Initialize FraudRadar
                fraudRadar = new FraudRadar();

                // Set data from file
                fraudRadar.SetTXTData(File.ReadAllLines(txt_file));

                // Load orders from data
                fraudRadar.LoadOrders();
            }
            else
            {
                // Throw exception if file not exits
                throw new FileNotFoundException("File not found");
            }
        }
        private static List <FraudResult> ExecuteTest(string filePath)
        {
            var fraudRadar = new FraudRadar();

            return(fraudRadar.Check(filePath).ToList());
        }