void LogAcrylicRecipeVersion(ResultsLogger logger) { if (PlatformConfiguration.IsOsVersionGreaterThanOrEqual(OSVersion.NineteenH1)) { // Color change expected on 19H1 logger.LogMessage("Using Luminosity-based recipe (19H1)... "); } else { // No color change expected on RS5 and lower logger.LogMessage("Using legacy Acrylic recipe (RS5 and lower)... "); } }
private void AnotherListViewItem_Holding(object sender, Windows.UI.Xaml.Input.HoldingRoutedEventArgs e) { if (!ValidateEffectsPresent()) { return; } using (var logger = new ResultsLogger("BorderLight_TapAndHold", TestResult)) { if (FallbackToLocalLight()) { bool shouldBorderLightBeOn = ShouldBorderLightBeOn(); logger.Verify(shouldBorderLightBeOn == true, "ShouldBorderLightBeOn: " + shouldBorderLightBeOn); } else if (SharedLight() != null) { CompositionLight sharedLight = SharedLight(); logger.Verify(sharedLight != null, "Shared Light Exists: " + sharedLight); } else { logger.LogMessage("Neither shared nor local lights exist."); } } }
private void HoverLightPositionValuesValidationHelper(System.Numerics.Vector3 positionExpected, string testName, string targetName) { if (!ValidateEffectsPresent()) { return; } WaitHandle[] valueValidationEvents = new WaitHandle[1]; Control target = FindName(targetName) as Control; var lights = GetElementForHoverLight(target).Lights; var hoverLight = _revealTestApi.GetAsRevealHoverLight(lights[0]); _hoverSpotlight = _revealTestApi.GetSpotLight(hoverLight as Windows.UI.Xaml.Media.XamlLight); valueValidationEvents[0] = _compositionPropertyLogger.RegisterProperty(_hoverSpotlight, "Offset", CompositionPropertyLogger.LoggableType.Vector3, new System.Numerics.Vector3(0F, 0F, 0F), positionExpected, offsetCoordinateTolerance); // Off-thread validation waits until each registered property hits its expected value Task.Run(() => { bool result = WaitHandle.WaitAll(valueValidationEvents, 10000); RunOnUIThread.Execute(() => { using (var logger = new ResultsLogger(testName, TestResult)) { var positionValues = _compositionPropertyLogger.GetValues(_hoverSpotlight, "Offset"); logger.LogMessage("Offset: " + string.Join(", ", positionValues)); _compositionPropertyLogger.UnregisterProperty(_hoverSpotlight, "Offset", CompositionPropertyLogger.LoggableType.Vector3); Array.Clear(valueValidationEvents, 0, 1); logger.Verify(result, "PositionValidationResult: error occured"); } }); }); }
private void HoverLightStateValuesValidationHelper( float hoverLight_InnerConeIntensityExpected, float hoverLight_outerConeIntensityExpected, float hoverLight_outerConeAngleExpected, float pressLight_InnerConeIntensityExpected, float pressLight_outerConeIntensityExpected, float pressLight_outerConeAngleExpected, string testName, string targetName) { if (!ValidateEffectsPresent()) { return; } WaitHandle[] hoverLight_ValueValidationEvents = new WaitHandle[3]; WaitHandle[] pressLight_ValueValidationEvents = new WaitHandle[3]; Control target = FindName(targetName) as Control; var lights = GetElementForHoverLight(target).Lights; var hoverLight = _revealTestApi.GetAsRevealHoverLight(lights[0]); var pressLight = _revealTestApi.GetAsRevealHoverLight(lights[1]); _hoverSpotlight = _revealTestApi.GetSpotLight(hoverLight as Windows.UI.Xaml.Media.XamlLight); _pressSpotlight = _revealTestApi.GetSpotLight(pressLight as Windows.UI.Xaml.Media.XamlLight); hoverLight_ValueValidationEvents[0] = _compositionPropertyLogger.RegisterProperty(_hoverSpotlight, "InnerConeIntensity", CompositionPropertyLogger.LoggableType.Float, 0.0f, hoverLight_InnerConeIntensityExpected, coneIntensityTolerance); hoverLight_ValueValidationEvents[1] = _compositionPropertyLogger.RegisterProperty(_hoverSpotlight, "OuterConeIntensity", CompositionPropertyLogger.LoggableType.Float, 0.0f, hoverLight_outerConeIntensityExpected, coneIntensityTolerance); hoverLight_ValueValidationEvents[2] = _compositionPropertyLogger.RegisterProperty(_hoverSpotlight, "OuterConeAngle", CompositionPropertyLogger.LoggableType.Float, 0.0f, hoverLight_outerConeAngleExpected, coneAngleTolerance); pressLight_ValueValidationEvents[0] = _compositionPropertyLogger.RegisterProperty(_pressSpotlight, "InnerConeIntensity", CompositionPropertyLogger.LoggableType.Float, 0.0f, pressLight_InnerConeIntensityExpected, coneIntensityTolerance); pressLight_ValueValidationEvents[1] = _compositionPropertyLogger.RegisterProperty(_pressSpotlight, "OuterConeIntensity", CompositionPropertyLogger.LoggableType.Float, 0.0f, pressLight_outerConeIntensityExpected, coneIntensityTolerance); pressLight_ValueValidationEvents[2] = _compositionPropertyLogger.RegisterProperty(_pressSpotlight, "OuterConeAngle", CompositionPropertyLogger.LoggableType.Float, 0.0f, pressLight_outerConeAngleExpected, coneAngleTolerance); // Off-thread validation waits until each registered property hits its expected value Task.Run(() => { var combined = hoverLight_ValueValidationEvents.Concat(pressLight_ValueValidationEvents).ToArray(); bool hoverLight_Result = WaitHandle.WaitAll(hoverLight_ValueValidationEvents, 10000); bool pressLight_Result = WaitHandle.WaitAll(pressLight_ValueValidationEvents, 10000); RunOnUIThread.Execute(() => { using (var logger = new ResultsLogger(testName, TestResult)) { var hoverLight_InnerConeIntensityValues = _compositionPropertyLogger.GetValues(_hoverSpotlight, "InnerConeIntensity"); var hoverLight_OuterConeIntensityValues = _compositionPropertyLogger.GetValues(_hoverSpotlight, "OuterConeIntensity"); var hoverLight_OuterConeAngleValues = _compositionPropertyLogger.GetValues(_hoverSpotlight, "OuterConeAngle"); logger.LogMessage("HoverLight - InnerConeIntensity: " + string.Join(", ", hoverLight_InnerConeIntensityValues)); logger.LogMessage("HoverLight - OuterConeIntensity: " + string.Join(", ", hoverLight_OuterConeIntensityValues)); logger.LogMessage("HoverLight - OuterConeAngle: " + string.Join(", ", hoverLight_OuterConeAngleValues)); var pressLight_InnerConeIntensityValues = _compositionPropertyLogger.GetValues(_pressSpotlight, "InnerConeIntensity"); var pressLight_OuterConeIntensityValues = _compositionPropertyLogger.GetValues(_pressSpotlight, "OuterConeIntensity"); var pressLight_OuterConeAngleValues = _compositionPropertyLogger.GetValues(_pressSpotlight, "OuterConeAngle"); logger.LogMessage("PressLight - InnerConeIntensity: " + string.Join(", ", pressLight_InnerConeIntensityValues)); logger.LogMessage("PressLight - OuterConeIntensity: " + string.Join(", ", pressLight_OuterConeIntensityValues)); logger.LogMessage("PressLight - OuterConeAngle: " + string.Join(", ", pressLight_OuterConeAngleValues)); _compositionPropertyLogger.UnregisterProperty(_hoverSpotlight, "InnerConeIntensity", CompositionPropertyLogger.LoggableType.Float); _compositionPropertyLogger.UnregisterProperty(_hoverSpotlight, "OuterConeIntensity", CompositionPropertyLogger.LoggableType.Float); _compositionPropertyLogger.UnregisterProperty(_hoverSpotlight, "OuterConeAngle", CompositionPropertyLogger.LoggableType.Float); Array.Clear(hoverLight_ValueValidationEvents, 0, 3); _compositionPropertyLogger.UnregisterProperty(_pressSpotlight, "InnerConeIntensity", CompositionPropertyLogger.LoggableType.Float); _compositionPropertyLogger.UnregisterProperty(_pressSpotlight, "OuterConeIntensity", CompositionPropertyLogger.LoggableType.Float); _compositionPropertyLogger.UnregisterProperty(_pressSpotlight, "OuterConeAngle", CompositionPropertyLogger.LoggableType.Float); Array.Clear(pressLight_ValueValidationEvents, 0, 3); logger.Verify(hoverLight_Result && hoverLight_Result, "StateValidationResult: error occured"); } }); }); }