# Path: utility/datafilepath.py
# class DataFilePath:
#     def __init__(self):
#     def getOrderDir_Train(self):  
#     def getOrderDir_Test1(self):  
#     def getTest1Dir(self):
#     def getTest2Dir(self):
#     def getTrainDir(self):
#     def getGapCsv_Train(self):
#     def getGapCsv_Test1(self):
#     def getTestset1Readme(self):
#     def getTestset2Readme(self):
#     def getGapFilename(self):
#     def getGapPredictionFileName(self):
#     def getPrevGapFileName(self):
#     def get_dir_name(self, data_dir):


import pandas as pd
import numpy as np
import math
from datetime import datetime
from datetime import timedelta
from utility.datafilepath import g_singletonDataFilePath
            item = (startDate + deltatime).date()
            res.append(str(item))
        return res
    def generateTestDate_1(self):
        startDate = datetime.strptime('2016-01-22', '%Y-%m-%d')
        
        res = []
        for i in range(5):
            deltatime = timedelta(days = 2*i)
            item = (startDate + deltatime).date()
            res.append(str(item))
        return res
    def generateSlotSet(self, testDates, slots):
        res = []
        for testDate in testDates:
            for slot in slots:
                res.append(testDate + '-'+ str(slot))
        return res
    def generateSlotSet_0(self):
        testDates = self.generateTestDate_0()
        slots = [46,58,70,82,94,106,118,130,142]
        return self.generateSlotSet(testDates, slots)
    def generateSlotSet_1(self):
        testDates = self.generateTestDate_1()
        slots = [46,58,70,82,94,106,118,130,142]
        return self.generateSlotSet(testDates, slots)
    def generateTestDistrict(self):
        return [i+ 1 for i in range(66)]
    def generatePrediction_0(self):
        testSlots = self.generateSlotSet_0()

# Path: utility/datafilepath.py
# class DataFilePath:
#     def __init__(self):
#     def getOrderDir_Train(self):  
#     def getOrderDir_Test1(self):  
#     def getTest1Dir(self):
#     def getTest2Dir(self):
#     def getTrainDir(self):
#     def getGapCsv_Train(self):
#     def getGapCsv_Test1(self):
#     def getTestset1Readme(self):
#     def getTestset2Readme(self):
#     def getGapFilename(self):
#     def getGapPredictionFileName(self):
#     def getPrevGapFileName(self):
#     def get_dir_name(self, data_dir):


# Path: evaluation/evaluate.py
import pandas as pd
import numpy as np
import math
from datetime import datetime
from datetime import timedelta
from utility.datafilepath import g_singletonDataFilePath

            item = (startDate + deltatime).date()
            res.append(str(item))
        return res
    def generateTestDate_1(self):
        startDate = datetime.strptime('2016-01-22', '%Y-%m-%d')
        
        res = []
        for i in range(5):
            deltatime = timedelta(days = 2*i)
            item = (startDate + deltatime).date()
            res.append(str(item))
        return res
    def generateSlotSet(self, testDates, slots):
        res = []
        for testDate in testDates:
            for slot in slots:
                res.append(testDate + '-'+ str(slot))
        return res
    def generateSlotSet_0(self):
        testDates = self.generateTestDate_0()
        slots = [46,58,70,82,94,106,118,130,142]
        return self.generateSlotSet(testDates, slots)
    def generateSlotSet_1(self):
        testDates = self.generateTestDate_1()
        slots = [46,58,70,82,94,106,118,130,142]
        return self.generateSlotSet(testDates, slots)
    def generateTestDistrict(self):
        return [i+ 1 for i in range(66)]
    def generatePrediction_0(self):
        testSlots = self.generateSlotSet_0()

        df = pd.read_csv(g_singletonDataFilePath.getGapCsv_Train())