Tweak.
[libdcp.git] / test / kdm_key_test.cc
1 /*
2     Copyright (C) 2013 Carl Hetherington <cth@carlh.net>
3
4     This program is free software; you can redistribute it and/or modify
5     it under the terms of the GNU General Public License as published by
6     the Free Software Foundation; either version 2 of the License, or
7     (at your option) any later version.
8
9     This program is distributed in the hope that it will be useful,
10     but WITHOUT ANY WARRANTY; without even the implied warranty of
11     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12     GNU General Public License for more details.
13
14     You should have received a copy of the GNU General Public License
15     along with this program; if not, write to the Free Software
16     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
17
18 */
19
20 #include <boost/test/unit_test.hpp>
21 #include "kdm.h"
22
23 BOOST_AUTO_TEST_CASE (kdm_key_test)
24 {
25         uint8_t foo[138];
26         memset (foo, 0, 138);
27         libdcp::KDMKey kkey (foo, 138);
28
29         uint8_t* raw = new uint8_t[16];
30         uint8_t* p = raw;
31         kkey.put_uuid (&p, "5d51e8a1-b2a5-4da6-9b66-4615c3609440");
32         BOOST_CHECK_EQUAL (raw[0], 0x5d);
33         BOOST_CHECK_EQUAL (raw[1], 0x51);
34         BOOST_CHECK_EQUAL (raw[2], 0xe8);
35         BOOST_CHECK_EQUAL (raw[3], 0xa1);
36         BOOST_CHECK_EQUAL (raw[4], 0xb2);
37         BOOST_CHECK_EQUAL (raw[5], 0xa5);
38         BOOST_CHECK_EQUAL (raw[6], 0x4d);
39         BOOST_CHECK_EQUAL (raw[7], 0xa6);
40         BOOST_CHECK_EQUAL (raw[8], 0x9b);
41         BOOST_CHECK_EQUAL (raw[9], 0x66);
42         BOOST_CHECK_EQUAL (raw[10], 0x46);
43         BOOST_CHECK_EQUAL (raw[11], 0x15);
44         BOOST_CHECK_EQUAL (raw[12], 0xc3);
45         BOOST_CHECK_EQUAL (raw[13], 0x60);
46         BOOST_CHECK_EQUAL (raw[14], 0x94);
47         BOOST_CHECK_EQUAL (raw[15], 0x40);
48         delete[] raw;
49 }