1 // Copyright 2018 The Chromium Authors
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "printing/nup_parameters.h"
6 #include "testing/gtest/include/gtest/gtest.h"
10 TEST(NupParametersTest, SetNupParams) {
12 // Set N-up parameters for 1-up, and source doc is portrait.
13 NupParameters nup_params(1, false);
14 EXPECT_FALSE(nup_params.landscape());
15 EXPECT_EQ(1, nup_params.num_pages_on_x_axis());
16 EXPECT_EQ(1, nup_params.num_pages_on_y_axis());
20 // Set N-up parameters for 1-up, and source doc is landscape.
21 NupParameters nup_params(1, true);
22 EXPECT_FALSE(nup_params.landscape());
23 EXPECT_EQ(1, nup_params.num_pages_on_x_axis());
24 EXPECT_EQ(1, nup_params.num_pages_on_y_axis());
28 // Set N-up parameters for 2-up, and source doc is portrait.
29 NupParameters nup_params(2, false);
30 EXPECT_TRUE(nup_params.landscape());
31 EXPECT_EQ(2, nup_params.num_pages_on_x_axis());
32 EXPECT_EQ(1, nup_params.num_pages_on_y_axis());
36 // Set N-up parameters for 2-up, and source doc is landscape.
37 NupParameters nup_params(2, true);
38 EXPECT_FALSE(nup_params.landscape());
39 EXPECT_EQ(1, nup_params.num_pages_on_x_axis());
40 EXPECT_EQ(2, nup_params.num_pages_on_y_axis());
44 // Set N-up parameters for 4-up, and source doc is portrait.
45 NupParameters nup_params(4, false);
46 EXPECT_FALSE(nup_params.landscape());
47 EXPECT_EQ(2, nup_params.num_pages_on_x_axis());
48 EXPECT_EQ(2, nup_params.num_pages_on_y_axis());
52 // Set N-up parameters for 4-up, and source doc is landscape.
53 NupParameters nup_params(4, true);
54 EXPECT_TRUE(nup_params.landscape());
55 EXPECT_EQ(2, nup_params.num_pages_on_x_axis());
56 EXPECT_EQ(2, nup_params.num_pages_on_y_axis());
60 // Set N-up parameters for 6-up, and source doc is portrait.
61 NupParameters nup_params(6, false);
62 EXPECT_TRUE(nup_params.landscape());
63 EXPECT_EQ(3, nup_params.num_pages_on_x_axis());
64 EXPECT_EQ(2, nup_params.num_pages_on_y_axis());
68 // Set N-up parameters for 6-up, and source doc is landscape.
69 NupParameters nup_params(6, true);
70 EXPECT_FALSE(nup_params.landscape());
71 EXPECT_EQ(2, nup_params.num_pages_on_x_axis());
72 EXPECT_EQ(3, nup_params.num_pages_on_y_axis());
76 // Set N-up parameters for 9-up, and source doc is portrait.
77 NupParameters nup_params(9, false);
78 EXPECT_FALSE(nup_params.landscape());
79 EXPECT_EQ(3, nup_params.num_pages_on_x_axis());
80 EXPECT_EQ(3, nup_params.num_pages_on_y_axis());
84 // Set N-up parameters for 9-up, and source doc is landscape.
85 NupParameters nup_params(9, true);
86 EXPECT_TRUE(nup_params.landscape());
87 EXPECT_EQ(3, nup_params.num_pages_on_x_axis());
88 EXPECT_EQ(3, nup_params.num_pages_on_y_axis());
92 // Set N-up parameters for 16-up, and source doc is portrait.
93 NupParameters nup_params(16, false);
94 EXPECT_FALSE(nup_params.landscape());
95 EXPECT_EQ(4, nup_params.num_pages_on_x_axis());
96 EXPECT_EQ(4, nup_params.num_pages_on_y_axis());
100 // Set N-up parameters for 16-up, and source doc is landscape.
101 NupParameters nup_params(16, true);
102 EXPECT_TRUE(nup_params.landscape());
103 EXPECT_EQ(4, nup_params.num_pages_on_x_axis());
104 EXPECT_EQ(4, nup_params.num_pages_on_y_axis());
108 } // namespace printing