def test_path_within_first_stream(self):
        """
        test_json test if the journey starts on a stream
        """
        with open(FLIGHT_PATHS_SMALL_TEST_FILE_JSON) as json_file:
            raw_data = json.load(json_file)
        calculator = StreamJsonCalculator(raw_data)

        self.assertTrue(calculator.start_on_stream())
    def test_path_within_first_stream(self):
        """
        test_json test if the journey starts on a stream
        """
        with open(FLIGHT_PATHS_SMALL_TEST_FILE_JSON) as json_file:
            raw_data = json.load(json_file)
        calculator = StreamJsonCalculator(raw_data)

        self.assertTrue( calculator.start_on_stream())
 def test_start_on_stream(self):
     """
     test_json test if the journey starts on a stream
     """
     # small sample starts on stream
     with open(FLIGHT_PATHS_SMALL_TEST_FILE_JSON) as json_file:
         raw_data = json.load(json_file)
     calculator = StreamJsonCalculator(raw_data)
     self.assertTrue( calculator.start_on_stream())
     # big sample does not
     with open(FLIGHT_PATHS_FILE_JSON) as json_file:
         raw_data = json.load(json_file)
     calculator = StreamJsonCalculator(raw_data)
     self.assertNotEqual(True, calculator.start_on_stream())
    def test_init(self):
        """
        compare reloaded against cached
        """

        with open(FLIGHT_PATHS_FILE_JSON) as json_file:
            raw_data = json.load(json_file)
        calculator = StreamJsonCalculator(raw_data)
        self.assertEquals(10, calculator.consumption)
        self.assertEquals(5000, len(calculator.streams))
        with open(FLIGHT_PATHS_FILE_JSON) as json_file:
            raw_data = json.load(json_file)
Exemplo n.º 5
0
    def test_get_next_stream(self):
        """
        test the routine that finds first stream ahead
        """

        with open(FLIGHT_PATHS_FILE_JSON) as json_file:
            raw_data = json.load(json_file)
        calculator = StreamJsonCalculator(raw_data)
        self.assertEqual(0, calculator.get_next_stream(10))
        self.assertEqual(1, calculator.get_next_stream(400))
        self.assertEqual(9, calculator.get_next_stream(1200))
        self.assertEqual(17, calculator.get_next_stream(3000))
        self.assertEqual(46, calculator.get_next_stream(10000))
        self.assertEqual(152, calculator.get_next_stream(30000))
    def test_average(self):
        """
        test that the average stream distance in small set is 304.6366
        """

        with open(FLIGHT_PATHS_FILE_JSON) as json_file:
            raw_data = json.load(json_file)
        calculator = StreamJsonCalculator(raw_data)
        self.assertAlmostEqual(304.6366,
                               calculator.average,
                               places=7,
                               msg=None,
                               delta=None)
Exemplo n.º 7
0
    def test_next_streams_in_range(self):
        """
        test the routine that collects next streams within range
        """

        with open(FLIGHT_PATHS_FILE_JSON) as json_file:
            raw_data = json.load(json_file)
        calculator = StreamJsonCalculator(raw_data)

        self.assertEquals([0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
                          calculator.get_next_streams_in_range(0))
        self.assertEquals([0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
                          calculator.get_next_streams_in_range(3))
        self.assertEquals([0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
                          calculator.get_next_streams_in_range(7))
        self.assertEquals([0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
                          calculator.get_next_streams_in_range(9))
        self.assertEquals([0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
                          calculator.get_next_streams_in_range(22))
        self.assertEquals([0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
                          calculator.get_next_streams_in_range(30))
        self.assertEquals([4, 5, 6, 7, 8, 9],
                          calculator.get_next_streams_in_range(500))
        self.assertEquals(None, calculator.get_next_streams_in_range(1000000))
    def test_get_next_stream(self):
        """
        test the routine that finds first stream ahead
        """

        with open(FLIGHT_PATHS_FILE_JSON) as json_file:
            raw_data = json.load(json_file)
        calculator = StreamJsonCalculator(raw_data)
        self.assertEqual(0, calculator.get_next_stream(10))
        self.assertEqual(1, calculator.get_next_stream(400))
        self.assertEqual(9, calculator.get_next_stream(1200))
        self.assertEqual(17, calculator.get_next_stream(3000))
        self.assertEqual(46, calculator.get_next_stream(10000))
        self.assertEqual(152, calculator.get_next_stream(30000))
 def test_start_on_stream(self):
     """
     test_json test if the journey starts on a stream
     """
     # small sample starts on stream
     with open(FLIGHT_PATHS_SMALL_TEST_FILE_JSON) as json_file:
         raw_data = json.load(json_file)
     calculator = StreamJsonCalculator(raw_data)
     self.assertTrue(calculator.start_on_stream())
     # big sample does not
     with open(FLIGHT_PATHS_FILE_JSON) as json_file:
         raw_data = json.load(json_file)
     calculator = StreamJsonCalculator(raw_data)
     self.assertNotEqual(True, calculator.start_on_stream())
    def test_next_streams_in_range(self):
        """
        test the routine that collects next streams within range
        """

        with open(FLIGHT_PATHS_FILE_JSON) as json_file:
            raw_data = json.load(json_file)
        calculator = StreamJsonCalculator(raw_data)

        self.assertEquals([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], calculator.get_next_streams_in_range(0))
        self.assertEquals([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], calculator.get_next_streams_in_range(3))
        self.assertEquals([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], calculator.get_next_streams_in_range(7))
        self.assertEquals([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], calculator.get_next_streams_in_range(9))
        self.assertEquals([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], calculator.get_next_streams_in_range(22))
        self.assertEquals([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], calculator.get_next_streams_in_range(30))
        self.assertEquals([4,5,6,7,8,9], calculator.get_next_streams_in_range(500))
        self.assertEquals(None, calculator.get_next_streams_in_range(1000000))
    def setUp(self):

        with open(FLIGHT_PATHS_FILE_JSON) as json_file:
            raw_data = json.load(json_file)
        self.calculator = StreamJsonCalculator(raw_data)
Exemplo n.º 12
0
    def setUp(self):

        with open(FLIGHT_PATHS_SMALL_TEST_FILE_JSON) as json_file:
            raw_data = json.load(json_file)
        self.calculator = StreamJsonCalculator(raw_data)
Exemplo n.º 13
0
class CocoStreamCalculatorSmallTest(unittest.TestCase):

    def setUp(self):

        with open(FLIGHT_PATHS_SMALL_TEST_FILE_JSON) as json_file:
            raw_data = json.load(json_file)
        self.calculator = StreamJsonCalculator(raw_data)



    def test_small_set(self):

        with open(FLIGHT_PATHS_SMALL_TEST_FILE_JSON) as json_file:
            raw_data = json.load(json_file)
        calculator = StreamJsonCalculator(raw_data)

    def test_small_set_average(self):
        """
        test that the average stream distance in small set is 3.57142857143
        """

        self.assertAlmostEqual(3.57142857143, self.calculator.average, places=7, msg=None, delta=None)

    def test_small_set_get_next_stream(self):
        """
        test the routine that finds first stream ahead
        """
        self.assertEqual(0, self.calculator.get_next_stream(0))
        self.assertEqual(4, self.calculator.get_next_stream(12))

    def test_small_set_next_streams_in_range(self):
        """
        test the routine that collects next streams within range
        """
        self.assertEquals([0,1,2,3,4], self.calculator.get_next_streams_in_range(0))
        self.assertEquals([2,3, 4, 5], self.calculator.get_next_streams_in_range(3))
        self.assertEquals([4,5], self.calculator.get_next_streams_in_range(7))
        self.assertEquals([4, 5], self.calculator.get_next_streams_in_range(9))
        self.assertEquals(None, self.calculator.get_next_streams_in_range(22))
        self.assertEquals(None, self.calculator.get_next_streams_in_range(30))

    def test_small_set_clean_next_streams_in_range(self):
        """
        test the routine that removes bad next streams
        """


        self.assertEquals([1,2,3,4], self.calculator.clean_next_streams(0, self.calculator.get_next_streams_in_range(0)))
    def test_small_set_sort_on_cost_clean_next_streams_in_range(self):
        """
        test the routine that removes bad next streams
        """


        self.assertEquals([1,2,3,4], self.calculator.sort_cleaned_streams_on_cost(0, self.calculator.clean_next_streams(0, self.calculator.get_next_streams_in_range(0))))
    def test_small_set_path(self):
        """
        test the paths routine
        """


        self.assertEquals([0,3,4,5], self.calculator.path(22))
    def test_small_set_consumption(self):
        """
        test the consumption calculation routine 22 miles consumes  352
        """


        self.assertEquals(352, self.calculator.fuel_consumption(self.calculator.path(22), 22))
Exemplo n.º 14
0
class CocoStreamCalculatorNextTest(unittest.TestCase):
    def setUp(self):

        with open(FLIGHT_PATHS_FILE_JSON) as json_file:
            raw_data = json.load(json_file)
        self.calculator = StreamJsonCalculator(raw_data)

    def test_start_point_streams_list(self):
        """
        start_point_streams_list - tests list of streams just outside of end point
        within 2 average distances sorted on efficiency
        """
        stream = Stream(3478, 4060, 2910, 17)
        base_line = [19, 18, 20, 22, 21, 24, 23, 25]
        """
        next_list = self.calculator.start_point_streams_list(stream.start_point, stream)

        self.assertEquals(8, len(next_list))
        self.assertEquals(base_line, next_list)
                """

    def test_get_next_stream(self):
        """
        test the routine that finds first stream ahead
        """

        with open(FLIGHT_PATHS_FILE_JSON) as json_file:
            raw_data = json.load(json_file)
        calculator = StreamJsonCalculator(raw_data)
        self.assertEqual(0, calculator.get_next_stream(10))
        self.assertEqual(1, calculator.get_next_stream(400))
        self.assertEqual(9, calculator.get_next_stream(1200))
        self.assertEqual(17, calculator.get_next_stream(3000))
        self.assertEqual(46, calculator.get_next_stream(10000))
        self.assertEqual(152, calculator.get_next_stream(30000))

    def test_next_streams_in_range(self):
        """
        test the routine that collects next streams within range
        """

        with open(FLIGHT_PATHS_FILE_JSON) as json_file:
            raw_data = json.load(json_file)
        calculator = StreamJsonCalculator(raw_data)

        self.assertEquals([0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
                          calculator.get_next_streams_in_range(0))
        self.assertEquals([0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
                          calculator.get_next_streams_in_range(3))
        self.assertEquals([0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
                          calculator.get_next_streams_in_range(7))
        self.assertEquals([0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
                          calculator.get_next_streams_in_range(9))
        self.assertEquals([0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
                          calculator.get_next_streams_in_range(22))
        self.assertEquals([0, 1, 2, 3, 4, 5, 6, 7, 8, 9],
                          calculator.get_next_streams_in_range(30))
        self.assertEquals([4, 5, 6, 7, 8, 9],
                          calculator.get_next_streams_in_range(500))
        self.assertEquals(None, calculator.get_next_streams_in_range(1000000))

    def test_path(self):
        """
        test the paths routine
        """

        self.assertEquals([
            0, 6, 8, 9, 10, 14, 17, 22, 25, 26, 28, 29, 31, 32, 37, 39, 41, 43,
            44, 45, 50, 51, 53, 54, 55, 61, 66, 69, 72, 73, 79, 80, 85, 86, 88,
            89, 91, 97, 99, 101
        ], self.calculator.path(20000))
        self.assertEquals([], self.calculator.path(88))
        self.assertEquals([0, 6], self.calculator.path(1000))

    def test_small_set_consumption(self):
        """
        test the consumption calculation routine 22 miles consumes  352
        """

        self.assertEquals(
            220, self.calculator.fuel_consumption(self.calculator.path(22),
                                                  22))
class CocoStreamCalculatorNextTest(unittest.TestCase):

    def setUp(self):

        with open(FLIGHT_PATHS_FILE_JSON) as json_file:
            raw_data = json.load(json_file)
        self.calculator = StreamJsonCalculator(raw_data)

    def test_start_point_streams_list(self):
        """
        start_point_streams_list - tests list of streams just outside of end point
        within 2 average distances sorted on efficiency
        """
        stream = Stream(3478, 4060, 2910, 17)
        base_line = [19, 18, 20, 22, 21, 24, 23, 25]
        """
        next_list = self.calculator.start_point_streams_list(stream.start_point, stream)

        self.assertEquals(8, len(next_list))
        self.assertEquals(base_line, next_list)
                """


    def test_get_next_stream(self):
        """
        test the routine that finds first stream ahead
        """

        with open(FLIGHT_PATHS_FILE_JSON) as json_file:
            raw_data = json.load(json_file)
        calculator = StreamJsonCalculator(raw_data)
        self.assertEqual(0, calculator.get_next_stream(10))
        self.assertEqual(1, calculator.get_next_stream(400))
        self.assertEqual(9, calculator.get_next_stream(1200))
        self.assertEqual(17, calculator.get_next_stream(3000))
        self.assertEqual(46, calculator.get_next_stream(10000))
        self.assertEqual(152, calculator.get_next_stream(30000))


    def test_next_streams_in_range(self):
        """
        test the routine that collects next streams within range
        """

        with open(FLIGHT_PATHS_FILE_JSON) as json_file:
            raw_data = json.load(json_file)
        calculator = StreamJsonCalculator(raw_data)

        self.assertEquals([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], calculator.get_next_streams_in_range(0))
        self.assertEquals([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], calculator.get_next_streams_in_range(3))
        self.assertEquals([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], calculator.get_next_streams_in_range(7))
        self.assertEquals([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], calculator.get_next_streams_in_range(9))
        self.assertEquals([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], calculator.get_next_streams_in_range(22))
        self.assertEquals([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], calculator.get_next_streams_in_range(30))
        self.assertEquals([4,5,6,7,8,9], calculator.get_next_streams_in_range(500))
        self.assertEquals(None, calculator.get_next_streams_in_range(1000000))


    def test_path(self):
        """
        test the paths routine
        """

        self.assertEquals([0, 6, 8, 9, 10, 14, 17, 22, 25, 26, 28, 29, 31, 32, 37, 39, 41, 43, 44, 45, 50, 51, 53, 54, 55, 61, 66, 69, 72, 73, 79, 80, 85, 86, 88, 89, 91, 97, 99, 101]
,self.calculator.path(20000))
        self.assertEquals([], self.calculator.path(88))
        self.assertEquals([0,6], self.calculator.path(1000))

    def test_small_set_consumption(self):
        """
        test the consumption calculation routine 22 miles consumes  352
        """


        self.assertEquals(220, self.calculator.fuel_consumption(self.calculator.path(22), 22))