microsoft/qdk

Public

mirrored fromhttps://github.com/microsoft/qdkAvailable

CodeCommitsIssuesPull requestsActionsInsightsSecurity
copilot/add-link-to-qsharp-application

Branches

Tags

  • No tags available.
0Branches0Tags
Go to file
Add file
Code

Clone

HTTPS

Download ZIP

library/qtest/src/Util.qs

26lines · modecode

1// Copyright (c) Microsoft Corporation. All rights reserved.
2// Licensed under the MIT License.
3
4import Std.Arrays.Filtered;
5import Std.Diagnostics.Fact;
6
7struct TestCaseResult {
8 did_pass : Bool,
9 message : String,
10}
11
12
13function OutputMessage(test_results : TestCaseResult[]) : Unit {
14 let num_tests = Length(test_results);
15 let failed_tests = Filtered((item -> not item.did_pass), test_results);
16 let num_passed = Std.Arrays.Count((item -> item.did_pass), test_results);
17 let num_failed = Length(failed_tests);
18
19 Fact((num_passed + num_failed) == num_tests, "invariant failed in test harness: passed plus failed should equal total");
20
21 let test_word = if num_tests == 1 or num_tests == 0 { "test" } else { "tests" };
22 Message($"{num_passed} of {num_tests} {test_word} passed. ({num_failed} failed)");
23 for failed_test in failed_tests {
24 Message($"{failed_test.message}");
25 }
26}