| 1901 | class FTimeDeltaTests(TestCase): |
| 1902 | @classmethod |
| 1903 | def setUpTestData(cls): |
| 1904 | cls.sday = sday = datetime.date(2010, 6, 25) |
| 1905 | cls.stime = stime = datetime.datetime(2010, 6, 25, 12, 15, 30, 747000) |
| 1906 | midnight = datetime.time(0) |
| 1907 | |
| 1908 | delta0 = datetime.timedelta(0) |
| 1909 | delta1 = datetime.timedelta(microseconds=253000) |
| 1910 | delta2 = datetime.timedelta(seconds=44) |
| 1911 | delta3 = datetime.timedelta(hours=21, minutes=8) |
| 1912 | delta4 = datetime.timedelta(days=10) |
| 1913 | delta5 = datetime.timedelta(days=90) |
| 1914 | |
| 1915 | # Test data is set so that deltas and delays will be |
| 1916 | # strictly increasing. |
| 1917 | cls.deltas = [] |
| 1918 | cls.delays = [] |
| 1919 | cls.days_long = [] |
| 1920 | |
| 1921 | # e0: started same day as assigned, zero duration |
| 1922 | end = stime + delta0 |
| 1923 | cls.e0 = Experiment.objects.create( |
| 1924 | name="e0", |
| 1925 | assigned=sday, |
| 1926 | start=stime, |
| 1927 | end=end, |
| 1928 | completed=end.date(), |
| 1929 | estimated_time=delta0, |
| 1930 | ) |
| 1931 | cls.deltas.append(delta0) |
| 1932 | cls.delays.append( |
| 1933 | cls.e0.start - datetime.datetime.combine(cls.e0.assigned, midnight) |
| 1934 | ) |
| 1935 | cls.days_long.append(cls.e0.completed - cls.e0.assigned) |
| 1936 | |
| 1937 | # e1: started one day after assigned, tiny duration, data |
| 1938 | # set so that end time has no fractional seconds, which |
| 1939 | # tests an edge case on sqlite. |
| 1940 | delay = datetime.timedelta(1) |
| 1941 | end = stime + delay + delta1 |
| 1942 | e1 = Experiment.objects.create( |
| 1943 | name="e1", |
| 1944 | assigned=sday, |
| 1945 | start=stime + delay, |
| 1946 | end=end, |
| 1947 | completed=end.date(), |
| 1948 | estimated_time=delta1, |
| 1949 | ) |
| 1950 | cls.deltas.append(delta1) |
| 1951 | cls.delays.append(e1.start - datetime.datetime.combine(e1.assigned, midnight)) |
| 1952 | cls.days_long.append(e1.completed - e1.assigned) |
| 1953 | |
| 1954 | # e2: started three days after assigned, small duration |
| 1955 | end = stime + delta2 |
| 1956 | e2 = Experiment.objects.create( |
| 1957 | name="e2", |
| 1958 | assigned=sday - datetime.timedelta(3), |
| 1959 | start=stime, |
| 1960 | end=end, |