| 151 | } |
| 152 | |
| 153 | void exports::runner::Run() |
| 154 | { |
| 155 | using namespace ::test::variants::to_test; |
| 156 | |
| 157 | assert(equal(RoundtripOption(1.0), std::optional<uint8_t>(1))); |
| 158 | assert(equal(RoundtripOption(std::optional<float>()), std::optional<uint8_t>())); |
| 159 | assert(equal(RoundtripOption(2.0), std::optional<uint8_t>(2))); |
| 160 | assert(equal(RoundtripResult(2), std::expected<double, uint8_t>(2.0))); |
| 161 | assert(equal(RoundtripResult(4), std::expected<double, uint8_t>(4.0))); |
| 162 | assert(equal(RoundtripResult(std::unexpected(5.3)), std::expected<double, uint8_t>(std::unexpected(5)))); |
| 163 | |
| 164 | assert(equal(RoundtripEnum(E1::kA), E1::kA)); |
| 165 | assert(equal(RoundtripEnum(E1::kB), E1::kB)); |
| 166 | |
| 167 | assert(equal(InvertBool(true), false)); |
| 168 | assert(equal(InvertBool(false), true)); |
| 169 | |
| 170 | assert(equal(VariantCasts(std::tuple<C1, C2, C3, C4, C5, C6>(C1{C1::A{1}}, C2{C2::A{2}}, C3{C3::A{3}}, C4{C4::A{4}}, C5{C5::A{5}}, C6{C6::A{6.0}})), |
| 171 | std::tuple<C1, C2, C3, C4, C5, C6>(C1{C1::A{1}}, C2{C2::A{2}}, C3{C3::A{3}}, C4{C4::A{4}}, C5{C5::A{5}}, C6{C6::A{6.0}}) )); |
| 172 | assert(equal(VariantCasts(std::tuple<C1, C2, C3, C4, C5, C6>(C1{C1::B{1}}, C2{C2::B{2.0}}, C3{C3::B{3.0}}, C4{C4::B{4.0}}, C5{C5::B{5.0}}, C6{C6::B{6.0}})), |
| 173 | std::tuple<C1, C2, C3, C4, C5, C6>(C1{C1::B{1}}, C2{C2::B{2.0}}, C3{C3::B{3.0}}, C4{C4::B{4.0}}, C5{C5::B{5.0}}, C6{C6::B{6.0}}) )); |
| 174 | |
| 175 | assert(equal(VariantZeros(std::tuple<Z1, Z2, Z3, Z4>(Z1{Z1::A{1}}, Z2{Z2::A{2}}, Z3{Z3::A{3.0}}, Z4{Z4::A{4.0}})), std::tuple<Z1, Z2, Z3, Z4>(Z1{Z1::A{1}}, Z2{Z2::A{2}}, Z3{Z3::A{3.0}}, Z4{Z4::A{4.0}}))); |
| 176 | assert(equal(VariantZeros(std::tuple<Z1, Z2, Z3, Z4>(Z1{Z1::B{}}, Z2{Z2::B{}}, Z3{Z3::B{}}, Z4{Z4::B{}})), std::tuple<Z1, Z2, Z3, Z4>(Z1{Z1::B{}}, Z2{Z2::B{}}, Z3{Z3::B{}}, Z4{Z4::B{}}))); |
| 177 | |
| 178 | VariantTypedefs(std::optional<uint32_t>(), false, std::unexpected(wit::Void{})); |
| 179 | |
| 180 | assert(equal(VariantEnums(true, std::expected<void, wit::Void>(), MyErrno::kSuccess) |
| 181 | , std::tuple<bool, std::expected<void, wit::Void>, MyErrno>(true, std::expected<void, wit::Void>(), MyErrno::kSuccess))); |
| 182 | } |
nothing calls this directly
no test coverage detected