예제 #1
0
        public void GivenASetOfPriceDataWithHighValueAsFirstRecord_ReturnTheExpectedBuyAndSellOutput()
        {
            var data   = DataHelper.GetTestDataWithLowValueAsLastRecord();
            var sut    = new FindBestTradeOperation();
            var result = sut.Run(data);

            Assert.IsTrue(result == "2(0.98),5(8.68)");
        }
예제 #2
0
        public void GivenASetOfPriceData_ReturnTheExpectedBuyAndSellOutput()
        {
            var data   = DataHelper.GetVanillaTestData();
            var sut    = new FindBestTradeOperation();
            var result = sut.Run(data);

            Assert.IsTrue(result == "2(0.98),5(8.68)");
        }
예제 #3
0
        public void GivenASpecificDataSet_ControllerShouldPrintOutCorrectResult()
        {
            var operation  = new FindBestTradeOperation();
            var printer    = new FakeObjects.FakePrinter();
            var dataReader = new FakeObjects.DataReader();

            var controller = new Controller(dataReader, printer, operation);

            controller.ProcessOperation();

            Assert.IsTrue(printer.PrinterOutput == "2(0.98),5(8.68)");
        }
예제 #4
0
        static void Main(string[] args)
        {
            var sampleFile = "ChallengeSampleDataSet1.txt";

            Console.WriteLine("About to run Trade Processing...");

            var dataReader = new TextFileReader(sampleFile, new Validator());
            var printer    = new ConsoleWriter();
            var operation  = new FindBestTradeOperation();

            var controller = new Controller(dataReader, printer, operation);

            controller.ProcessOperation();

            Console.WriteLine("Done.");
            Console.ReadLine();
        }