Please use string delimiters around date literals, and do whatever you can to avoid ambiguous, regional formats like DD/MM/YYYY. How about:
insert into dbo.testtable ([product_name], [price], [expire_date], [expire_time])
values ('Teapot', 10.00, '2012-12-23', '12:35:00');
Luckily, with DATE, YYYY-MM-DD can't be misinterpreted. With DATETIME, it could:
SET LANGUAGE FRENCH;
DECLARE @d DATETIME = '2012-12-23';
Result:
Msg 242, Level 16, State 3
La conversion d'un type de données varchar en type de données datetime a créé une valeur hors limites.
Your original format could also cause problems even with date:
SET DATEFORMAT MDY;
DECLARE @d DATE = '23/12/2012';
Result:
Msg 241, Level 16, State 1
Conversion failed when converting date and/or time from character string.
Not to sound preachy, but please see this blog post:
Bad Habits to Kick : mis-handling date / range queries
And Tibor's excellent article:
The ultimate guide to the datetime datatypes