<s> from __future__ import unicode_literals <EOL> import datetime <EOL> from django . forms import DateTimeField , ValidationError <EOL> from django . test import SimpleTestCase <EOL> class DateTimeFieldTest ( SimpleTestCase ) : <EOL> def test_datetimefield_1 ( self ) : <EOL> f = DateTimeField ( ) <EOL> self . assertEqual ( datetime . datetime ( <NUM_LIT> , <NUM_LIT:10> , <NUM_LIT> , <NUM_LIT:0> , <NUM_LIT:0> ) , f . clean ( datetime . date ( <NUM_LIT> , <NUM_LIT:10> , <NUM_LIT> ) ) ) <EOL> self . assertEqual ( datetime . datetime ( <NUM_LIT> , <NUM_LIT:10> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT:30> ) , f . clean ( datetime . datetime ( <NUM_LIT> , <NUM_LIT:10> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT:30> ) ) ) <EOL> self . assertEqual ( <EOL> datetime . datetime ( <NUM_LIT> , <NUM_LIT:10> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT:30> , <NUM_LIT> ) , <EOL> f . clean ( datetime . datetime ( <NUM_LIT> , <NUM_LIT:10> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT:30> , <NUM_LIT> ) ) <EOL> ) <EOL> self . assertEqual ( <EOL> datetime . datetime ( <NUM_LIT> , <NUM_LIT:10> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT:30> , <NUM_LIT> , <NUM_LIT:200> ) , <EOL> f . clean ( datetime . datetime ( <NUM_LIT> , <NUM_LIT:10> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT:30> , <NUM_LIT> , <NUM_LIT:200> ) ) <EOL> ) <EOL> self . assertEqual ( datetime . datetime ( <NUM_LIT> , <NUM_LIT:10> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT:30> , <NUM_LIT> , <NUM_LIT:200> ) , f . clean ( '<STR_LIT>' ) ) <EOL> self . assertEqual ( datetime . datetime ( <NUM_LIT> , <NUM_LIT:10> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT:30> , <NUM_LIT> , <NUM_LIT:200> ) , f . clean ( '<STR_LIT>' ) ) <EOL> self . assertEqual ( datetime . datetime ( <NUM_LIT> , <NUM_LIT:10> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT:30> , <NUM_LIT> ) , f . clean ( '<STR_LIT>' ) ) <EOL> self . assertEqual ( datetime . datetime ( <NUM_LIT> , <NUM_LIT:10> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT:30> ) , f . clean ( '<STR_LIT>' ) ) <EOL> self . assertEqual ( datetime . datetime ( <NUM_LIT> , <NUM_LIT:10> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT:30> ) , f . clean ( '<STR_LIT>' ) ) <EOL> self . assertEqual ( datetime . datetime ( <NUM_LIT> , <NUM_LIT:10> , <NUM_LIT> , <NUM_LIT:0> , <NUM_LIT:0> ) , f . clean ( '<STR_LIT>' ) ) <EOL> self . assertEqual ( datetime . datetime ( <NUM_LIT> , <NUM_LIT:10> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT:30> , <NUM_LIT> , <NUM_LIT:200> ) , f . clean ( '<STR_LIT>' ) ) <EOL> self . assertEqual ( datetime . datetime ( <NUM_LIT> , <NUM_LIT:10> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT:30> , <NUM_LIT> ) , f . clean ( '<STR_LIT>' ) ) <EOL> self . assertEqual ( datetime . datetime ( <NUM_LIT> , <NUM_LIT:10> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT:30> ) , f . clean ( '<STR_LIT>' ) ) <EOL> self . assertEqual ( datetime . datetime ( <NUM_LIT> , <NUM_LIT:10> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT:30> ) , f . clean ( '<STR_LIT>' ) ) <EOL> self . assertEqual ( datetime . datetime ( <NUM_LIT> , <NUM_LIT:10> , <NUM_LIT> , <NUM_LIT:0> , <NUM_LIT:0> ) , f . clean ( '<STR_LIT>' ) ) <EOL> self . assertEqual ( datetime . datetime ( <NUM_LIT> , <NUM_LIT:10> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT:30> , <NUM_LIT> , <NUM_LIT:200> ) , f . clean ( '<STR_LIT>' ) ) <EOL> self . assertEqual ( datetime . datetime ( <NUM_LIT> , <NUM_LIT:10> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT:30> , <NUM_LIT> ) , f . clean ( '<STR_LIT>' ) ) <EOL> self . assertEqual ( datetime . datetime ( <NUM_LIT> , <NUM_LIT:10> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT:30> ) , f . clean ( '<STR_LIT>' ) ) <EOL> self . assertEqual ( datetime . datetime ( <NUM_LIT> , <NUM_LIT:10> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT:30> ) , f . clean ( '<STR_LIT>' ) ) <EOL> self . assertEqual ( datetime . datetime ( <NUM_LIT> , <NUM_LIT:10> , <NUM_LIT> , <NUM_LIT:0> , <NUM_LIT:0> ) , f . clean ( '<STR_LIT>' ) ) <EOL> with self . assertRaisesMessage ( ValidationError , "<STR_LIT>" ) : <EOL> f . clean ( '<STR_LIT:hello>' ) <EOL> with self . assertRaisesMessage ( ValidationError , "<STR_LIT>" ) : <EOL> f . clean ( '<STR_LIT>' ) <EOL> def test_datetimefield_2 ( self ) : <EOL> f = DateTimeField ( input_formats = [ '<STR_LIT>' ] ) <EOL> self . assertEqual ( datetime . datetime ( <NUM_LIT> , <NUM_LIT:10> , <NUM_LIT> , <NUM_LIT:0> , <NUM_LIT:0> ) , f . clean ( datetime . date ( <NUM_LIT> , <NUM_LIT:10> , <NUM_LIT> ) ) ) <EOL> self . assertEqual ( datetime . datetime ( <NUM_LIT> , <NUM_LIT:10> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT:30> ) , f . clean ( datetime . datetime ( <NUM_LIT> , <NUM_LIT:10> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT:30> ) ) ) <EOL> self . assertEqual ( <EOL> datetime . datetime ( <NUM_LIT> , <NUM_LIT:10> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT:30> , <NUM_LIT> ) , <EOL> f . clean ( datetime . datetime ( <NUM_LIT> , <NUM_LIT:10> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT:30> , <NUM_LIT> ) ) <EOL> ) <EOL> self . assertEqual ( <EOL> datetime . datetime ( <NUM_LIT> , <NUM_LIT:10> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT:30> , <NUM_LIT> , <NUM_LIT:200> ) , <EOL> f . clean ( datetime . datetime ( <NUM_LIT> , <NUM_LIT:10> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT:30> , <NUM_LIT> , <NUM_LIT:200> ) ) <EOL> ) <EOL> self . assertEqual ( datetime . datetime ( <NUM_LIT> , <NUM_LIT:10> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT:30> ) , f . clean ( '<STR_LIT>' ) ) <EOL> with self . assertRaisesMessage ( ValidationError , "<STR_LIT>" ) : <EOL> f . clean ( '<STR_LIT>' ) <EOL> def test_datetimefield_3 ( self ) : <EOL> f = DateTimeField ( required = False ) <EOL> self . assertIsNone ( f . clean ( None ) ) <EOL> self . assertEqual ( '<STR_LIT:None>' , repr ( f . clean ( None ) ) ) <EOL> self . assertIsNone ( f . clean ( '<STR_LIT>' ) ) <EOL> self . assertEqual ( '<STR_LIT:None>' , repr ( f . clean ( '<STR_LIT>' ) ) ) <EOL> def test_datetimefield_4 ( self ) : <EOL> f = DateTimeField ( ) <EOL> self . assertEqual ( datetime . datetime ( <NUM_LIT> , <NUM_LIT:10> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT:30> , <NUM_LIT> ) , f . clean ( '<STR_LIT>' ) ) <EOL> self . assertEqual ( datetime . datetime ( <NUM_LIT> , <NUM_LIT:10> , <NUM_LIT> , <NUM_LIT:0> , <NUM_LIT:0> ) , f . clean ( '<STR_LIT>' ) ) <EOL> self . assertEqual ( datetime . datetime ( <NUM_LIT> , <NUM_LIT:10> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT:30> , <NUM_LIT> ) , f . clean ( '<STR_LIT>' ) ) <EOL> self . assertEqual ( datetime . datetime ( <NUM_LIT> , <NUM_LIT:10> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT:30> ) , f . clean ( '<STR_LIT>' ) ) <EOL> self . assertEqual ( datetime . datetime ( <NUM_LIT> , <NUM_LIT:10> , <NUM_LIT> , <NUM_LIT:0> , <NUM_LIT:0> ) , f . clean ( '<STR_LIT>' ) ) <EOL> self . assertEqual ( datetime . datetime ( <NUM_LIT> , <NUM_LIT:10> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT:30> , <NUM_LIT> ) , f . clean ( '<STR_LIT>' ) ) <EOL> self . assertEqual ( datetime . datetime ( <NUM_LIT> , <NUM_LIT:10> , <NUM_LIT> , <NUM_LIT:0> , <NUM_LIT:0> ) , f . clean ( '<STR_LIT>' ) ) <EOL> with self . assertRaisesMessage ( ValidationError , "<STR_LIT>" ) : <EOL> f . clean ( '<STR_LIT:U+0020>' ) <EOL> def test_datetimefield_5 ( self ) : <EOL> f = DateTimeField ( input_formats = [ '<STR_LIT>' ] ) <EOL> self . assertEqual ( datetime . datetime ( <NUM_LIT> , <NUM_LIT:10> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT:30> , <NUM_LIT> , <NUM_LIT:200> ) , f . clean ( '<STR_LIT>' ) ) <EOL> def test_datetimefield_changed ( self ) : <EOL> format = '<STR_LIT>' <EOL> f = DateTimeField ( input_formats = [ format ] ) <EOL> d = datetime . datetime ( <NUM_LIT> , <NUM_LIT:9> , <NUM_LIT> , <NUM_LIT> , <NUM_LIT:30> , <NUM_LIT:0> ) <EOL> self . assertFalse ( f . has_changed ( d , '<STR_LIT>' ) ) </s>
