1 /*
2 * Copyright (c) 2021 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 * http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16 #include <gtest/gtest.h>
17 #include "print_preview_attribute.h"
18 #include "printer_capability.h"
19 #include "print_margin.h"
20 #include "print_range.h"
21
22 using namespace testing::ext;
23
24 namespace OHOS {
25 namespace Print {
26 class PrintPreviewAttributeTest : public testing::Test {
27 public:
28 static void SetUpTestCase(void);
29 static void TearDownTestCase(void);
30 void SetUp();
31 void TearDown();
32 };
33
SetUpTestCase(void)34 void PrintPreviewAttributeTest::SetUpTestCase(void) {}
35
TearDownTestCase(void)36 void PrintPreviewAttributeTest::TearDownTestCase(void) {}
37
SetUp(void)38 void PrintPreviewAttributeTest::SetUp(void) {}
39
TearDown(void)40 void PrintPreviewAttributeTest::TearDown(void) {}
41
42 /**
43 * @tc.name: PrintPreviewAttributeTest_0001
44 * @tc.desc: Verify the constructor function.
45 * @tc.type: FUNC
46 * @tc.require:
47 */
48 HWTEST_F(PrintPreviewAttributeTest, PrintPreviewAttributeTest_0001, TestSize.Level1)
49 {
50 OHOS::Print::PrintPreviewAttribute attribute;
51 attribute.Dump();
52 EXPECT_FALSE(attribute.HasResult());
53 const uint32_t PRINT_INVALID_ID = 0xFFFFFFFF;
54 EXPECT_EQ(attribute.GetResult(), PRINT_INVALID_ID);
55 }
56
57 /**
58 * @tc.name: PrintPreviewAttributeTest_0002
59 * @tc.desc: Verify the hasResult function.
60 * @tc.type: FUNC
61 * @tc.require:
62 */
63 HWTEST_F(PrintPreviewAttributeTest, PrintPreviewAttributeTest_0002, TestSize.Level1)
64 {
65 OHOS::Print::PrintPreviewAttribute attribute;
66 attribute.Reset();
67 EXPECT_FALSE(attribute.HasResult());
68 }
69
70 /**
71 * @tc.name: PrintPreviewAttributeTest_0003
72 * @tc.desc: Verify the getResult function.
73 * @tc.type: FUNC
74 * @tc.require:
75 */
76 HWTEST_F(PrintPreviewAttributeTest, PrintPreviewAttributeTest_0003, TestSize.Level1)
77 {
78 OHOS::Print::PrintPreviewAttribute attribute;
79 attribute.SetResult(6);
80 EXPECT_EQ((uint32_t)6, attribute.GetResult());
81 }
82
83 /**
84 * @tc.name: PrintPreviewAttributeTest_0004
85 * @tc.desc: Verify the hasStartPage function.
86 * @tc.type: FUNC
87 * @tc.require:
88 */
89 HWTEST_F(PrintPreviewAttributeTest, PrintPreviewAttributeTest_0004, TestSize.Level1)
90 {
91 OHOS::Print::PrintPreviewAttribute attribute;
92 OHOS::Print::PrintRange printRange;
93 attribute.SetResult(6);
94 attribute.SetPreviewRange(printRange);
95 PrintRange previewRange;
96 attribute.GetPreviewRange(previewRange);
97 EXPECT_FALSE(previewRange.HasStartPage());
98 }
99
100 /**
101 * @tc.name: PrintPreviewAttributeTest_0005
102 * @tc.desc: Verify the marshalling function.
103 * @tc.type: FUNC
104 * @tc.require:
105 */
106 HWTEST_F(PrintPreviewAttributeTest, PrintPreviewAttributeTest_0005, TestSize.Level1)
107 {
108 OHOS::Print::PrintPreviewAttribute attribute;
109 OHOS::Print::PrintRange printRange;
110 attribute.SetPreviewRange(printRange);
111 Parcel parcel;
112 EXPECT_TRUE(attribute.Marshalling(parcel));
113 }
114
115 /**
116 * @tc.name: PrintPreviewAttributeTest_0006
117 * @tc.desc: Verify the marshalling function.
118 * @tc.type: FUNC
119 * @tc.require:
120 */
121 HWTEST_F(PrintPreviewAttributeTest, PrintPreviewAttributeTest_0006, TestSize.Level1)
122 {
123 OHOS::Print::PrintPreviewAttribute attribute;
124 OHOS::Print::PrintRange printRange;
125 attribute.SetPreviewRange(printRange);
126 attribute.SetResult(6);
127 Parcel parcel;
128 EXPECT_TRUE(attribute.Marshalling(parcel));
129 }
130
131 /**
132 * @tc.name: PrintPreviewAttributeTest_0007
133 * @tc.desc: Verify the unmarshalling function.
134 * @tc.type: FUNC
135 * @tc.require:
136 */
137 HWTEST_F(PrintPreviewAttributeTest, PrintPreviewAttributeTest_0007, TestSize.Level1)
138 {
139 OHOS::Print::PrintPreviewAttribute attribute;
140 OHOS::Print::PrintRange printRange;
141 attribute.SetPreviewRange(printRange);
142 Parcel parcel;
143 attribute.Marshalling(parcel);
144 auto result = OHOS::Print::PrintPreviewAttribute::Unmarshalling(parcel);
145 EXPECT_NE(nullptr, result);
146 }
147 } // namespace Print
148 } // namespace OHOS