1 // Copyright 2018 The Chromium Authors. All rights reserved.
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) {
11 // Test default constructor.
12 printing::NupParameters nup_params;
13 EXPECT_FALSE(nup_params.landscape());
14 EXPECT_EQ(1, nup_params.num_pages_on_x_axis());
15 EXPECT_EQ(1, nup_params.num_pages_on_y_axis());
18 // Set N-up parameters for 1-up, and source doc is portrait.
19 nup_params.SetParameters(1, false);
20 EXPECT_FALSE(nup_params.landscape());
21 EXPECT_EQ(1, nup_params.num_pages_on_x_axis());
22 EXPECT_EQ(1, nup_params.num_pages_on_y_axis());
25 // Set N-up parameters for 1-up, and source doc is landscape.
26 nup_params.SetParameters(1, true);
27 EXPECT_FALSE(nup_params.landscape());
28 EXPECT_EQ(1, nup_params.num_pages_on_x_axis());
29 EXPECT_EQ(1, nup_params.num_pages_on_y_axis());
32 // Set N-up parameters for 2-up, and source doc is portrait.
33 nup_params.SetParameters(2, false);
34 EXPECT_TRUE(nup_params.landscape());
35 EXPECT_EQ(2, nup_params.num_pages_on_x_axis());
36 EXPECT_EQ(1, nup_params.num_pages_on_y_axis());
39 // Set N-up parameters for 2-up, and source doc is landscape.
40 nup_params.SetParameters(2, true);
41 EXPECT_FALSE(nup_params.landscape());
42 EXPECT_EQ(1, nup_params.num_pages_on_x_axis());
43 EXPECT_EQ(2, nup_params.num_pages_on_y_axis());
46 // Set N-up parameters for 4-up, and source doc is portrait.
47 nup_params.SetParameters(4, false);
48 EXPECT_FALSE(nup_params.landscape());
49 EXPECT_EQ(2, nup_params.num_pages_on_x_axis());
50 EXPECT_EQ(2, nup_params.num_pages_on_y_axis());
53 // Set N-up parameters for 4-up, and source doc is landscape.
54 nup_params.SetParameters(4, true);
55 EXPECT_TRUE(nup_params.landscape());
56 EXPECT_EQ(2, nup_params.num_pages_on_x_axis());
57 EXPECT_EQ(2, nup_params.num_pages_on_y_axis());
60 // Set N-up parameters for 6-up, and source doc is portrait.
61 nup_params.SetParameters(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());
67 // Set N-up parameters for 6-up, and source doc is landscape.
68 nup_params.SetParameters(6, true);
69 EXPECT_FALSE(nup_params.landscape());
70 EXPECT_EQ(2, nup_params.num_pages_on_x_axis());
71 EXPECT_EQ(3, nup_params.num_pages_on_y_axis());
74 // Set N-up parameters for 9-up, and source doc is portrait.
75 nup_params.SetParameters(9, false);
76 EXPECT_FALSE(nup_params.landscape());
77 EXPECT_EQ(3, nup_params.num_pages_on_x_axis());
78 EXPECT_EQ(3, nup_params.num_pages_on_y_axis());
81 // Set N-up parameters for 9-up, and source doc is landscape.
82 nup_params.SetParameters(9, true);
83 EXPECT_TRUE(nup_params.landscape());
84 EXPECT_EQ(3, nup_params.num_pages_on_x_axis());
85 EXPECT_EQ(3, nup_params.num_pages_on_y_axis());
88 // Set N-up parameters for 16-up, and source doc is portrait.
89 nup_params.SetParameters(16, false);
90 EXPECT_FALSE(nup_params.landscape());
91 EXPECT_EQ(4, nup_params.num_pages_on_x_axis());
92 EXPECT_EQ(4, nup_params.num_pages_on_y_axis());
95 // Set N-up parameters for 16-up, and source doc is landscape.
96 nup_params.SetParameters(16, true);
97 EXPECT_TRUE(nup_params.landscape());
98 EXPECT_EQ(4, nup_params.num_pages_on_x_axis());
99 EXPECT_EQ(4, nup_params.num_pages_on_y_axis());
103 } // namespace printing