Esempio n. 1
0
        public override View GetView(PropertyInfo property, object o, out BindableProperty targetProperty, out IValueConverter converter)
        {
            targetProperty = Label.TextProperty;
            converter = new ValueConverter();

            return new Label();
        }
 public DynamicXmlElement(XElement element, ValueConverter valueConverter,
     NamespaceRegistry namespaceRegistry)
 {
     _element = element;
     _valueConverter = valueConverter;
     _namespaceRegistry = namespaceRegistry;
 }
Esempio n. 3
0
 public void ChoseValueConverter(PropertyInfo property, ValueConverter converter)
 {
     _report
         .AddBindingDetail(new ValueConverterSelection{
             ConverterType = converter.GetType(),
             PropertyName = property.Name,
             PropertyType = property.PropertyType
         });
 }
Esempio n. 4
0
        public override View GetView(PropertyInfo property, object o, out BindableProperty targetProperty, out IValueConverter converter)
        {
            targetProperty = Editor.TextProperty;
            converter = new ValueConverter();

            return new Editor
            {
                HorizontalOptions = LayoutOptions.FillAndExpand
            };
        }
Esempio n. 5
0
        public override View GetView(PropertyInfo property, object o, out BindableProperty targetProperty, out IValueConverter converter)
        {
            targetProperty = Entry.TextProperty;
            converter = new ValueConverter();

            return new Entry
            {
                Keyboard = Keyboard.Numeric,
                HorizontalOptions = LayoutOptions.FillAndExpand
            };
        }
Esempio n. 6
0
        public void TestBasicConversion()
        {
            var converter = new ValueConverter();

              Assert.That(converter.Get<int>("3"), Is.EqualTo(3));
              Assert.That(converter.Get<string>(3), Is.EqualTo("3"));
              Assert.That(converter.Get<string>(true), Is.EqualTo("True"));
              Assert.That(converter.Get<int>(true), Is.EqualTo(1));
              Assert.That(converter.Get<int>(false), Is.EqualTo(0));
              Assert.That(converter.Get<bool>("false"), Is.EqualTo(false));
        }
 public ConvertibleStringValue(string value, ValueConverter valueConverter)
 {
     _value = value;
     _valueConverter = valueConverter;
 }
Esempio n. 8
0
        void ITestModule.Run()
        {
            Mouse.DefaultMoveTime        = 300;
            Keyboard.DefaultKeyPressTime = 100;
            Delay.SpeedFactor            = 1.00;

            Init();

            // Step##  Pre-Condition - Initial setup and Access code setup is done. Customer created with audiogram configured and Custom molds is enabled.
            //Report.Log(ReportLevel.Info, "Section", "Step##  Pre-Condition - Initial setup and Access code setup is done. Customer created with audiogram configured and Custom molds is enabled.", new RecordItemIndex(0));

            TapOnRightButton("Tap on 'Settings'");
            Delay.Milliseconds(0);

            SwitchSettingUseMold(ValueConverter.ArgumentFromString <bool>("YesNo", "True"));
            Delay.Milliseconds(0);

            TapOnLeftButton("Press  Back key");
            Delay.Milliseconds(0);

            CreatePatient(LastName, FirstName);
            Delay.Milliseconds(0);

            SelectCustomerContinue();
            Delay.Milliseconds(0);

            CloseApp();
            Delay.Milliseconds(0);

            // Step## Open the app, goto List. Select the existing customer
            Report.Log(ReportLevel.Info, "Section", "Step## Open the app, goto List. Select the existing customer", new RecordItemIndex(7));

            StartApp();
            Delay.Milliseconds(0);

            SearchCustomer(FirstName);
            Delay.Milliseconds(0);

            SelectCustomer(LastName, FirstName);
            Delay.Milliseconds(0);

            // Step## Enter (Right), @500Hz, @1kHz, @2kHz, @4kHz.Press Done
            Report.Log(ReportLevel.Info, "Section", "Step## Enter (Right), @500Hz, @1kHz, @2kHz, @4kHz.Press Done", new RecordItemIndex(11));

            TapEnterAudiogram();
            Delay.Milliseconds(0);

            DrawAudiogramPoints("Right", AUPoints);
            Delay.Milliseconds(0);

            TapOnRightButton("Click on 'Done'");
            Delay.Milliseconds(0);

            ValidateALertMessage("Do you want to enter values for the \"left\" ear side too?");
            Delay.Milliseconds(0);

            ClickOnAlertMessage("No");
            Delay.Milliseconds(0);

            CloseApp();
            Delay.Milliseconds(0);

            StartApp();
            Delay.Milliseconds(0);

            SearchCustomer(FirstName);
            Delay.Milliseconds(0);

            SelectCustomer(LastName, FirstName);
            Delay.Milliseconds(0);

            // Validation## Audiogram is saved - Recommendation should be @HI , @coupling type & @Cluster
            Report.Log(ReportLevel.Info, "Section", "Validation## Audiogram is saved - Recommendation should be @HI , @coupling type & @Cluster", new RecordItemIndex(21));

            TapOnMonauralHI("Tap on MonauralHI");
            Delay.Milliseconds(0);

            TapOn("Fit right ear with hearing aid");
            Delay.Milliseconds(0);

            TapOnWithContentDesc(HIName);
            Delay.Milliseconds(0);

            SelectCouplingIfAvailable(ValueConverter.ArgumentFromString <bool>("isCouplingAvailable", isCouplingAvailable), Coupling);
            Delay.Milliseconds(0);

            ValidateMonauralHISelected(HIName, "Right");
            Delay.Milliseconds(0);

            ValidateMonauralCouplingSelected(Coupling, "Right");
            Delay.Milliseconds(0);

            ValidateMonauralClusterSelected(Cluster, "Right");
            Delay.Milliseconds(0);

            // Step## Press Send data to HI and Connect to HI
            //Report.Log(ReportLevel.Info, "Section", "Step## Press Send data to HI and Connect to HI", new RecordItemIndex(29));

            // Validation## Attention message is displayed as Selected sound profile has high amplification output.
            //Report.Log(ReportLevel.Info, "Section", "Validation## Attention message is displayed as Selected sound profile has high amplification output.", new RecordItemIndex(30));

            TapOn("Send Data to Hearing Aid");
            Delay.Milliseconds(0);

            ValidateALertMessage("Selected Sound Profile has high amplification output.", ValueConverter.ArgumentFromString <bool>("isAlert", isAlert));
            Delay.Milliseconds(0);

            ClickOnAlertMessage("OK");
            Delay.Milliseconds(0);

            try {
                ConnectHI();
                Delay.Milliseconds(0);
            } catch (Exception ex) { Report.Log(ReportLevel.Warn, "Module", "(Optional Action) " + ex.Message, new RecordItemIndex(34)); }

            ConfirmationToneYes();
            Delay.Milliseconds(0);

            // Step## Press Sound Comfort and Press OK
            //Report.Log(ReportLevel.Info, "Section", "Step## Press Sound Comfort and Press OK", new RecordItemIndex(36));

            TapOn("Check Sound Comfort");
            Delay.Milliseconds(0);

            SoundComfortOk();
            Delay.Milliseconds(0);

            // Step## Close session.
            //Report.Log(ReportLevel.Info, "Section", "Step## Close session.", new RecordItemIndex(39));

            CloseSession();
            Delay.Milliseconds(0);

            SearchCustomer(FirstName);
            Delay.Milliseconds(0);

            SelectCustomer(LastName, FirstName);
            Delay.Milliseconds(0);

            // Step## Press audiogram tab and open the edit screen
            //Report.Log(ReportLevel.Info, "Section", "Step## Press audiogram tab and open the edit screen", new RecordItemIndex(43));

            EditAudiogram();
            Delay.Milliseconds(0);

            // Step## Enter (Left), @500Hz, @1kHz, @2kHz, @4kHz.Press Done.
            Report.Log(ReportLevel.Info, "Section", "Step## Enter (Left), @500Hz, @1kHz, @2kHz, @4kHz.Press Done.", new RecordItemIndex(45));

            DrawAudiogramPoints("Left", AUPoints);
            Delay.Milliseconds(0);

            TapOnRightButton("Click on 'Done'");
            Delay.Milliseconds(0);

            ContinueWithLeftEar();
            Delay.Milliseconds(0);

            ValidateBinauralHISelected(HIName, "Right");
            Delay.Milliseconds(0);

            ValidateBinauralCouplingSelected(Coupling, "Right");
            Delay.Milliseconds(0);

            ValidateBinauralClusterSelected(Cluster, "Right");
            Delay.Milliseconds(0);

            TapOnBinauralHI("Tap On BinauralHI", "Left");
            Delay.Milliseconds(0);

            TapOnWithContentDesc(HIName);
            Delay.Milliseconds(0);

            SelectCouplingIfAvailable(ValueConverter.ArgumentFromString <bool>("isCouplingAvailable", isCouplingAvailable), Coupling);
            Delay.Milliseconds(0);

            ValidateBinauralHISelected(HIName, "Left");
            Delay.Milliseconds(0);

            ValidateBinauralCouplingSelected(Coupling, "Left");
            Delay.Milliseconds(0);

            ValidateBinauralClusterSelected(Cluster, "Left");
            Delay.Milliseconds(0);

            // Step## Press Send data to HI and Connect to HI for Left side
            //Report.Log(ReportLevel.Info, "Section", "Step## Press Send data to HI and Connect to HI for Left side", new RecordItemIndex(58));

            // Validation## warning message is displayed as Selected sound profile has high amplification output.
            //Report.Log(ReportLevel.Info, "Section", "Validation## warning message is displayed as Selected sound profile has high amplification output.", new RecordItemIndex(59));

            SendDataToHearingAid("Left");
            Delay.Milliseconds(0);

            ValidateALertMessage("Selected Sound Profile has high amplification output.", ValueConverter.ArgumentFromString <bool>("isAlert", isAlert));
            Delay.Milliseconds(0);

            ClickOnAlertMessage("OK");
            Delay.Milliseconds(0);

            ConnectHI();
            Delay.Milliseconds(0);

            ConfirmationToneYes();
            Delay.Milliseconds(0);

            // Step## Press Sound Comfort and Press OK
            //Report.Log(ReportLevel.Info, "Section", "Step## Press Sound Comfort and Press OK", new RecordItemIndex(65));

            SelectPage("Check Sound Comfort");
            Delay.Milliseconds(0);

            ClickOnAlertMessage("OK");
            Delay.Milliseconds(0);

            SoundComfortOk();
            Delay.Milliseconds(0);

            // Step## Press Close session
            //Report.Log(ReportLevel.Info, "Section", "Step## Press Close session", new RecordItemIndex(69));

            CloseSession();
            Delay.Milliseconds(0);

            // Validation## Returns to Customer list screen
            //Report.Log(ReportLevel.Info, "Section", "Validation## Returns to Customer list screen", new RecordItemIndex(71));

            VerifyActionBarTitle("Client");
            Delay.Milliseconds(0);
        }
        void ITestModule.Run()
        {
            Mouse.DefaultMoveTime        = 300;
            Keyboard.DefaultKeyPressTime = 100;
            Delay.SpeedFactor            = 1.00;

            Init();

            // Step##  Pre-Condition - Initial setup and Access code setup is done. Customer created with audiogram configured
            Report.Log(ReportLevel.Info, "Section", "Step##  Pre-Condition - Initial setup and Access code setup is done. Customer created with audiogram configured", new RecordItemIndex(0));

            TapOnRightButton("Tap on 'Settings'");
            Delay.Milliseconds(0);

            SwitchSettingUseMold(ValueConverter.ArgumentFromString <bool>("YesNo", "True"));
            Delay.Milliseconds(0);

            BackAction();
            Delay.Milliseconds(0);

            CreatePatient(LastName, FirstName);
            Delay.Milliseconds(0);

            SelectCustomerContinue();
            Delay.Milliseconds(0);

            CloseApp();
            Delay.Milliseconds(0);

            // Step## Open the app, goto List. Select the existing customer
            Report.Log(ReportLevel.Info, "Section", "Step## Open the app, goto List. Select the existing customer", new RecordItemIndex(7));

            StartApp();
            Delay.Milliseconds(0);

            SearchCustomer(FirstName);
            Delay.Milliseconds(0);

            SelectCustomer(LastName, FirstName);
            Delay.Milliseconds(0);

            // Step## Enter (Right), @500Hz, @1kHz, @2kHz, @4kHz.Press Done
            Report.Log(ReportLevel.Info, "Section", "Step## Enter (Right), @500Hz, @1kHz, @2kHz, @4kHz.Press Done", new RecordItemIndex(11));

            TapEnterAudiogram();
            Delay.Milliseconds(0);

            DrawAudiogramPoints("Right", AUPoints);
            Delay.Milliseconds(0);

            TapOnRightButton("Click on 'Done'");
            Delay.Milliseconds(0);

            ValidateALertMessage("Do you want to enter values for the \"right\" ear side too?");
            Delay.Milliseconds(0);

            ClickOnAlertMessage("No");
            Delay.Milliseconds(0);

            // Validation## Audiogram is saved - Recommendation should be @HI , @coupling type & @Cluster
            Report.Log(ReportLevel.Info, "Section", "Validation## Audiogram is saved - Recommendation should be @HI , @coupling type & @Cluster", new RecordItemIndex(17));

            ValidateMonauralHISelected(HIName, "Right");
            Delay.Milliseconds(0);

            ValidateMonauralCouplingSelected(Coupling, "Right");
            Delay.Milliseconds(0);

            ValidateMonauralClusterSelected(Cluster, "Right");
            Delay.Milliseconds(0);

            // Step## Press Send data to HI and Connect to HI
            Report.Log(ReportLevel.Info, "Section", "Step## Press Send data to HI and Connect to HI", new RecordItemIndex(21));

            // Validation## warning message is displayed as Selected sound profile has high amplification output.
            Report.Log(ReportLevel.Info, "Section", "Validation## warning message is displayed as Selected sound profile has high amplification output.", new RecordItemIndex(22));

            TapOn("Send Data to Hearing Aid");
            Delay.Milliseconds(0);

            ValidateALertMessage("Selected Sound Profile has high amplification output.");
            Delay.Milliseconds(0);

            ClickOnAlertMessage("OK");
            Delay.Milliseconds(0);

            ConnectHI();
            Delay.Milliseconds(0);

            // Step## Press Sound Comfort and Press OK
            Report.Log(ReportLevel.Info, "Section", "Step## Press Sound Comfort and Press OK", new RecordItemIndex(27));

            TapOn("Check Sound Comfort");
            Delay.Milliseconds(0);

            SoundComfortOk();
            Delay.Milliseconds(0);

            // Step## Close session.
            Report.Log(ReportLevel.Info, "Section", "Step## Close session.", new RecordItemIndex(30));

            CloseSession();
            Delay.Milliseconds(0);

            // Step## Reselect same customer
            Report.Log(ReportLevel.Info, "Section", "Step## Reselect same customer", new RecordItemIndex(32));

            SearchCustomer(FirstName);
            Delay.Milliseconds(0);

            SelectCustomer(LastName, FirstName);
            Delay.Milliseconds(0);

            // Step## Press audiogram tab and open the edit screen
            Report.Log(ReportLevel.Info, "Section", "Step## Press audiogram tab and open the edit screen", new RecordItemIndex(35));

            EditAudiogram();
            Delay.Milliseconds(0);

            // Step## Enter (Left), @500Hz, @1kHz, @2kHz, @4kHz.Press Done.
            Report.Log(ReportLevel.Info, "Section", "Step## Enter (Left), @500Hz, @1kHz, @2kHz, @4kHz.Press Done.", new RecordItemIndex(37));

            DrawAudiogramPoints("Left", AUPoints);
            Delay.Milliseconds(0);

            TapOnRightButton("Click on 'Done'");
            Delay.Milliseconds(0);

            // Validation## Audiogram is saved and Recommendation is given  @HI, @Coupling type & @Cluster
            Report.Log(ReportLevel.Info, "Section", "Validation## Audiogram is saved and Recommendation is given  @HI, @Coupling type & @Cluster", new RecordItemIndex(40));

            ValidateMonauralHISelected(HIName, "Right");
            Delay.Milliseconds(0);

            ValidateMonauralCouplingSelected(Coupling, "Right");
            Delay.Milliseconds(0);

            ValidateMonauralClusterSelected(Cluster, "Right");
            Delay.Milliseconds(0);

            // Step## Check the cluster recommended in the overview screen and the cluster Highlighted in the sound profile screen
            Report.Log(ReportLevel.Info, "Section", "Step## Check the cluster recommended in the overview screen and the cluster Highlighted in the sound profile screen", new RecordItemIndex(44));

            // Validation## Should be the same bearing-"Suitable" tag and marked as the current selection
            Report.Log(ReportLevel.Info, "Section", "Validation## Should be the same bearing-\"Suitable\" tag and marked as the current selection", new RecordItemIndex(45));

            TapOn(HIName);
            Delay.Milliseconds(0);

            TapOn("Fit right ear with hearing aid");
            Delay.Milliseconds(0);

            ValidateSuitableHISelected(HIName, "Right");
            Delay.Milliseconds(0);

            BackAction();
            Delay.Milliseconds(0);

            BackAction();
            Delay.Milliseconds(0);

            ContinueWithLeftEar();
            Delay.Milliseconds(0);

            // Step## Press Send data to HI and Connect to HI for Left side
            Report.Log(ReportLevel.Info, "Section", "Step## Press Send data to HI and Connect to HI for Left side", new RecordItemIndex(52));

            // Validation## warning message is displayed as Selected sound profile has high amplification output.
            Report.Log(ReportLevel.Info, "Section", "Validation## warning message is displayed as Selected sound profile has high amplification output.", new RecordItemIndex(53));

            SendDataToHearingAid("Left");
            Delay.Milliseconds(0);

            ValidateALertMessage("Selected Sound Profile has high amplification output.");
            Delay.Milliseconds(0);

            ClickOnAlertMessage("OK");
            Delay.Milliseconds(0);

            ConnectHI();
            Delay.Milliseconds(0);

            SelectPage("Check Sound Comfort");
            Delay.Milliseconds(0);

            // Step## Press Sound Comfort and Press OK
            Report.Log(ReportLevel.Info, "Section", "Step## Press Sound Comfort and Press OK", new RecordItemIndex(59));

            SoundComfortOk();
            Delay.Milliseconds(0);

            // Step## Press Close session
            Report.Log(ReportLevel.Info, "Section", "Step## Press Close session", new RecordItemIndex(61));

            CloseSession();
            Delay.Milliseconds(0);

            // Validation## Returns to Customer list screen
            Report.Log(ReportLevel.Info, "Section", "Validation## Returns to Customer list screen", new RecordItemIndex(63));

            VerifyActionBarTitle("Client");
            Delay.Milliseconds(0);
        }
 /// <summary>
 ///     This is an internal API that supports the Entity Framework Core infrastructure and not subject to
 ///     the same compatibility standards as public APIs. It may be changed or removed without notice in
 ///     any release. You should only use it directly in your code with extreme caution and knowing that
 ///     doing so can result in application failures when updating to a new Entity Framework Core release.
 /// </summary>
 public override CoreTypeMapping Clone(ValueConverter converter)
 => new CosmosTypeMapping(Parameters.WithComposedConverter(converter));
        void ITestModule.Run()
        {
            Mouse.DefaultMoveTime        = 300;
            Keyboard.DefaultKeyPressTime = 100;
            Delay.SpeedFactor            = 1.00;

            Init();

            TapOnHome();
            Delay.Milliseconds(0);

            TapOn("My Hearing Care Professional");
            Delay.Milliseconds(0);

            SwipePageVerticle(ValueConverter.ArgumentFromString <int>("count", "3"), ValueConverter.ArgumentFromString <double>("startY", "0.6"), ValueConverter.ArgumentFromString <double>("endY", "0.2"), ValueConverter.ArgumentFromString <bool>("takeScreenshot", "True"));
            Delay.Milliseconds(0);

            ValidateContents("Opening Hours;PM - ;Mo;Tu;We;Th;Fr");
            Delay.Milliseconds(0);
        }
 public override CoreTypeMapping Clone(ValueConverter converter)
 => new OracleDoubleTypeMapping(StoreType, ComposeConverter(converter), DbType);
Esempio n. 13
0
        /// <summary>
        /// Loading <see cref="IEnumerable{T}"/> from specified excel file.
        /// /// </summary>
        /// <typeparam name="T">The type of the model.</typeparam>
        /// <param name="excelFile">The excel file.</param>
        /// <param name="startRow">The row to start read.</param>
        /// <param name="sheetIndex">Which sheet to read.</param>
        /// <param name="valueConverter">The cell value convert.</param>
        /// <returns>The <see cref="IEnumerable{T}"/> loading from excel.</returns>
        public static IEnumerable <T> Load <T>(string excelFile, int startRow = 1, int sheetIndex = 0, ValueConverter valueConverter = null) where T : class, new()
        {
            if (!File.Exists(excelFile))
            {
                throw new FileNotFoundException();
            }

            var workbook = InitializeWorkbook(excelFile);

            // currently, only handle sheet one (or call side using foreach to support multiple sheet)
            var sheet = workbook.GetSheetAt(sheetIndex);

            // get the writable properties
            var properties = typeof(T).GetProperties(BindingFlags.Public | BindingFlags.Instance | BindingFlags.SetProperty);

            bool fluentConfigEnabled = false;

            // get the fluent config
            if (Excel.Setting.FluentConfigs.TryGetValue(typeof(T), out var fluentConfig))
            {
                fluentConfigEnabled = true;
            }

            var cellConfigs = new CellConfig[properties.Length];

            for (var j = 0; j < properties.Length; j++)
            {
                var property = properties[j];
                if (fluentConfigEnabled && fluentConfig.PropertyConfigs.TryGetValue(property, out var pc))
                {
                    // fluent configure first(Hight Priority)
                    cellConfigs[j] = pc.CellConfig;
                }
                else
                {
                    var attrs = property.GetCustomAttributes(typeof(ColumnAttribute), true) as ColumnAttribute[];
                    if (attrs != null && attrs.Length > 0)
                    {
                        cellConfigs[j] = attrs[0].CellConfig;
                    }
                    else
                    {
                        cellConfigs[j] = null;
                    }
                }
            }

            var statistics = new List <StatisticsConfig>();

            if (fluentConfigEnabled)
            {
                statistics.AddRange(fluentConfig.StatisticsConfigs);
            }
            else
            {
                var attributes = typeof(T).GetCustomAttributes(typeof(StatisticsAttribute), true) as StatisticsAttribute[];
                if (attributes != null && attributes.Length > 0)
                {
                    foreach (var item in attributes)
                    {
                        statistics.Add(item.StatisticsConfig);
                    }
                }
            }

            var list = new List <T>();
            int idx  = 0;

            IRow headerRow = null;

            // get the physical rows
            var rows = sheet.GetRowEnumerator();

            while (rows.MoveNext())
            {
                var row = rows.Current as IRow;

                if (idx == 0)
                {
                    headerRow = row;
                }
                idx++;

                if (row.RowNum < startRow)
                {
                    continue;
                }

                var item        = new T();
                var itemIsValid = true;
                for (int i = 0; i < properties.Length; i++)
                {
                    var prop = properties[i];

                    int index  = i;
                    var config = cellConfigs[i];
                    if (config != null)
                    {
                        index = config.Index;

                        // Try to autodiscover index from title and cache
                        if (index < 0 && config.AutoIndex && !string.IsNullOrEmpty(config.Title))
                        {
                            foreach (var cell in headerRow.Cells)
                            {
                                if (!string.IsNullOrEmpty(cell.StringCellValue))
                                {
                                    if (cell.StringCellValue.Equals(config.Title, StringComparison.InvariantCultureIgnoreCase))
                                    {
                                        index = cell.ColumnIndex;

                                        // cache
                                        config.Index = index;

                                        break;
                                    }
                                }
                            }
                        }

                        // check again
                        if (index < 0)
                        {
                            throw new ApplicationException("Please set the 'index' or 'autoIndex' by fluent api or attributes");
                        }
                    }

                    var value = row.GetCellValue(index);
                    if (valueConverter != null)
                    {
                        value = valueConverter(row.RowNum, index, value);
                    }

                    if (value == null)
                    {
                        continue;
                    }

                    // check whether is statics row
                    if (idx > startRow + 1 && index == 0
                        &&
                        statistics.Any(s => s.Name.Equals(value.ToString(), StringComparison.InvariantCultureIgnoreCase)))
                    {
                        var st      = statistics.FirstOrDefault(s => s.Name.Equals(value.ToString(), StringComparison.InvariantCultureIgnoreCase));
                        var formula = row.GetCellValue(st.Columns.First()).ToString();
                        if (formula.StartsWith(st.Formula, StringComparison.InvariantCultureIgnoreCase))
                        {
                            itemIsValid = false;
                            break;
                        }
                    }

                    // property type
                    var propType = Nullable.GetUnderlyingType(prop.PropertyType) ?? prop.PropertyType;

                    var safeValue = Convert.ChangeType(value, propType, CultureInfo.CurrentCulture);

                    prop.SetValue(item, safeValue, null);
                }

                if (itemIsValid)
                {
                    list.Add(item);
                }
            }

            return(list);
        }
Esempio n. 14
0
 public override object ParseValue(object value) => ValueConverter.ConvertTo(value, typeof(DateTime));
Esempio n. 15
0
 public bool TryCreateInstance <T>(IEnumerable <T> values, ValueConverter <T> converter, out object result)
 {
     return(OriginalAlienType.TryCreateInstance(values, converter, out result));
 }
 /// <summary>
 ///     This API supports the Entity Framework Core infrastructure and is not intended to be used
 ///     directly from your code. This API may change or be removed in future releases.
 /// </summary>
 protected SqlServerGeometryTypeMapping(
     RelationalTypeMappingParameters parameters,
     ValueConverter <TGeometry, SqlBytes> converter)
     : base(parameters, converter)
 {
 }
Esempio n. 17
0
 public IModifierBuilder WithValueConverter(ValueConverter converter)
 {
     return(new ModifierBuilder(Entries, StatConverter, converter));
 }
Esempio n. 18
0
        void ITestModule.Run()
        {
            Mouse.DefaultMoveTime = 300;
            Keyboard.DefaultKeyPressTime = 100;
            Delay.SpeedFactor = 1.00;

            Init();

            // Pre-condition: Initial setup is done.
            Report.Log(ReportLevel.Info, "Section", "Pre-condition: Initial setup is done.", new RecordItemIndex(0));
            
            // Step## Customer configured with audiogram exists. Enabled Custom molds
            Report.Log(ReportLevel.Info, "Section", "Step## Customer configured with audiogram exists. Enabled Custom molds", new RecordItemIndex(1));
            
            TapOnRightButton("Tap on 'Settings'");
            Delay.Milliseconds(0);
            
            SwitchSettingUseMold(ValueConverter.ArgumentFromString<bool>("YesNo", "True"));
            Delay.Milliseconds(0);
            
            TapOnLeftButton("Press Back key");
            Delay.Milliseconds(0);
            
            CreatePatient("Higher", "Cluster");
            Delay.Milliseconds(0);
            
            SelectCustomerContinue();
            Delay.Milliseconds(0);
            
            CloseApp();
            Delay.Milliseconds(0);
            
            // Step## Open the app and select the customer from the list
            Report.Log(ReportLevel.Info, "Section", "Step## Open the app and select the customer from the list", new RecordItemIndex(8));
            
            StartApp();
            Delay.Milliseconds(0);
            
            SearchCustomer("Cluster");
            Delay.Milliseconds(0);
            
            SelectCustomer("Higher", "Cluster");
            Delay.Milliseconds(0);
            
            // Step## Enter audiogram - Right 80 dB, 80 dB, 80 dB, 80 dB for the required frequencies
            Report.Log(ReportLevel.Info, "Section", "Step## Enter audiogram - Right 80 dB, 80 dB, 80 dB, 80 dB for the required frequencies", new RecordItemIndex(12));
            
            TapEnterAudiogram();
            Delay.Milliseconds(0);
            
            DrawAudiogramPoints("Right", "500,80;1000,80;2000,80;4000,80");
            Delay.Milliseconds(0);
            
            TapOnRightButton("Click on 'Done'");
            Delay.Milliseconds(0);
            
            ValidateALertMessage("Do you want to enter values for the \"right\" ear side too?");
            Delay.Milliseconds(0);
            
            ClickOnAlertMessage("No");
            Delay.Milliseconds(0);
            
            // Validation## Overview screen is displayed with Send data to Hearing Aid step highlighted. Run SP  & Custom Mold & P3 cluster is recommended
            Report.Log(ReportLevel.Info, "Section", "Validation## Overview screen is displayed with Send data to Hearing Aid step highlighted. Run SP  & Custom Mold & P3 cluster is recommended", new RecordItemIndex(18));
            
            ValidateMonauralHISelected(H2, "Right");
            Delay.Milliseconds(0);
            
            ValidateMonauralCouplingSelected("Custom Mold", "Right");
            Delay.Milliseconds(0);
            
            ValidateMonauralClusterSelected("P3", "Right");
            Delay.Milliseconds(0);
            
            // Step## Select the cluster tab and choose a Cluster higher than the recommended cluster(i.e. P4)
            Report.Log(ReportLevel.Info, "Section", "Step## Select the cluster tab and choose a Cluster higher than the recommended cluster(i.e. P4)", new RecordItemIndex(22));
            
            TapOn("P3");
            Delay.Milliseconds(0);
            
            TapOn("P4");
            Delay.Milliseconds(0);
            
            // Validation## The new cluster is selected and returns to overview screen
            Report.Log(ReportLevel.Info, "Section", "Validation## The new cluster is selected and returns to overview screen", new RecordItemIndex(25));
            
            ValidateMonauralClusterSelected("P4", "Right");
            Delay.Milliseconds(0);
            
            VerifyActionBarTitle("Higher, Cluster");
            Delay.Milliseconds(0);
            
            // Step## Press Send data to HI
            Report.Log(ReportLevel.Info, "Section", "Step## Press Send data to HI", new RecordItemIndex(28));
            
            // Validation## warning message is displayed as Selected sound profile has high amplification output.
            Report.Log(ReportLevel.Info, "Section", "Validation## warning message is displayed as Selected sound profile has high amplification output.", new RecordItemIndex(29));
            
            TapOn("Send Data to Hearing Aid");
            Delay.Milliseconds(0);
            
            ValidateALertMessage("Selected Sound Profile has high amplification output.");
            Delay.Milliseconds(0);
            
            // Step## Click on OK in the pop-up appeared and Tap on Connect HI
            Report.Log(ReportLevel.Info, "Section", "Step## Click on OK in the pop-up appeared and Tap on Connect HI", new RecordItemIndex(32));
            
            // Validation## Tapping yes in connect confirmation should show HI is connected successfully.
            Report.Log(ReportLevel.Info, "Section", "Validation## Tapping yes in connect confirmation should show HI is connected successfully.", new RecordItemIndex(33));
            
            ClickOnAlertMessage("OK");
            Delay.Milliseconds(0);
            
            try {
                ConnectHI();
                Delay.Milliseconds(0);
            } catch(Exception ex) { Report.Log(ReportLevel.Warn, "Module", "(Optional Action) " + ex.Message, new RecordItemIndex(35)); }
            
            ConfirmationToneYes();
            Delay.Milliseconds(0);
            
            // Step## Press Check Sound Comfort
            Report.Log(ReportLevel.Info, "Section", "Step## Press Check Sound Comfort", new RecordItemIndex(37));
            
            TapOn("Check Sound Comfort");
            Delay.Milliseconds(0);
            
            // Validation## Sound coumfort page displayed
            Report.Log(ReportLevel.Info, "Section", "Validation## Sound coumfort page displayed", new RecordItemIndex(39));
            
            VerifyActionBarTitle("Sound Comfort");
            Delay.Milliseconds(0);
            
            // Step## Select the cluster tab and choose a sound profile higher than the recommended cluster.Ex : P5
            Report.Log(ReportLevel.Info, "Section", "Step## Select the cluster tab and choose a sound profile higher than the recommended cluster.Ex : P5", new RecordItemIndex(41));
            
            TapOnWithContentDesc("P4");
            Delay.Milliseconds(0);
            
            TapOn("P5");
            Delay.Milliseconds(0);
            
            ValidateALertMessage("Selected Sound Profile provides higher amplification than the recommended Profile. Are you sure of your selection?");
            Delay.Milliseconds(0);
            
            ValidateContents("OK;Reselect");
            Delay.Milliseconds(0);
            
            ClickOnAlertMessage("OK");
            Delay.Milliseconds(0);
            
            ValidateMonauralClusterSelected("P5", "Right");
            Delay.Milliseconds(0);
            
            LogSnapshot();
            Delay.Milliseconds(0);
            
            // Step##Press OK and Close Session
            Report.Log(ReportLevel.Info, "Section", "Step##Press OK and Close Session", new RecordItemIndex(49));
            
            SoundComfortOk();
            Delay.Milliseconds(0);
            
            CloseSession();
            Delay.Milliseconds(0);
            
            // Validation## Back to Client page
            Report.Log(ReportLevel.Info, "Section", "Validation## Back to Client page", new RecordItemIndex(52));
            
            VerifyActionBarTitle("Client");
            Delay.Milliseconds(0);
            
        }
 /// <summary>
 ///     This API supports the Entity Framework Core infrastructure and is not intended to be used
 ///     directly from your code. This API may change or be removed in future releases.
 /// </summary>
 public override CoreTypeMapping Clone(ValueConverter converter)
 => new SqlServerDateTimeTypeMapping(StoreType, ComposeConverter(converter), DbType);
Esempio n. 20
0
 public static TokenValue ConvertFrom(ICustomData value)
 {
     return((TokenValue)ValueConverter <TokenValue> .ConvertFrom(value));
 }
Esempio n. 21
0
 public static void DefineConverter(ValueConverter converter)
 {
     foreach (Type source in converter.Source)
         Shared.m_converter.Add(new Executive.ConverterKey(source, converter.Destination), converter);
 }
Esempio n. 22
0
        void ITestModule.Run()
        {
            Mouse.DefaultMoveTime        = 300;
            Keyboard.DefaultKeyPressTime = 100;
            Delay.SpeedFactor            = 1.00;

            Init();

            // Step##  Pre-Condition - Initial setup and Access code setup is done. Customer created with audiogram configured
            Report.Log(ReportLevel.Info, "Section", "Step##  Pre-Condition - Initial setup and Access code setup is done. Customer created with audiogram configured", new RecordItemIndex(0));

            TapOnRightButton("Tap on 'Settings'");
            Delay.Milliseconds(0);

            SwitchSettingUseMold(ValueConverter.ArgumentFromString <bool>("YesNo", "True"));
            Delay.Milliseconds(0);

            TapOnLeftButton("Press the Back key");
            Delay.Milliseconds(0);

            CreatePatient("CouplingSelection", "Discard");
            Delay.Milliseconds(0);

            SelectCustomerContinue();
            Delay.Milliseconds(0);

            CloseApp();
            Delay.Milliseconds(0);

            // Step## Open the app, goto List. Select the existing customer
            //Report.Log(ReportLevel.Info, "Section", "Step## Open the app, goto List. Select the existing customer", new RecordItemIndex(7));

            StartApp();
            Delay.Milliseconds(0);

            SearchCustomer("Discard");
            Delay.Milliseconds(0);

            SelectCustomer("CouplingSelection", "Discard");
            Delay.Milliseconds(0);

            // Validation##Opens the overview screen with Enter Audiogram step highlighted
            Report.Log(ReportLevel.Info, "Section", "Validation##Opens the overview screen with Enter Audiogram step highlighted", new RecordItemIndex(11));

            VerifyActionBarTitle("CouplingSelection, Discard");
            Delay.Milliseconds(0);

            VerifyTextHighlighted("Enter Audiogram");
            Delay.Milliseconds(0);

            // Step## Enter (Right), @500Hz, @1kHz, @2kHz, @4kHz.Press Done
            Report.Log(ReportLevel.Info, "Section", "Step## Enter (Right), @500Hz, @1kHz, @2kHz, @4kHz.Press Done", new RecordItemIndex(14));

            TapOn("Enter Audiogram");
            Delay.Milliseconds(0);

            DrawAudiogramPoints("Right", "500,90;1000,90;2000,90;4000,90");
            Delay.Milliseconds(0);

            TapOnRightButton("Click on 'Done'");
            Delay.Milliseconds(0);

            // Validation## Popup Appears as "Do you want to enter values for left ear side too?"
            Report.Log(ReportLevel.Info, "Section", "Validation## Popup Appears as \"Do you want to enter values for left ear side too?\"", new RecordItemIndex(18));

            ValidateALertMessage("Do you want to enter values for the \"left\" ear side too?");
            Delay.Milliseconds(0);

            // Step## Press No when popup appears.
            Report.Log(ReportLevel.Info, "Section", "Step## Press No when popup appears.", new RecordItemIndex(20));

            ClickOnAlertMessage("No");
            Delay.Milliseconds(0);

            // Validation## Returns to the overview screen with HI-Type : Run SP, coupling : Custom mold and Cluster : P5 and Send data to HI
            Report.Log(ReportLevel.Info, "Section", "Validation## Returns to the overview screen with HI-Type : Run SP, coupling : Custom mold and Cluster : P5 and Send data to HI", new RecordItemIndex(22));

            ValidateMonauralHISelected(H2, "Right");
            Delay.Milliseconds(0);

            ValidateMonauralCouplingSelected("Custom Mold", "Right");
            Delay.Milliseconds(0);

            ValidateMonauralClusterSelected("P5", "Right");
            Delay.Milliseconds(0);

            VerifyTextHighlighted("Send Data to Hearing Aid");
            Delay.Milliseconds(0);

            // Step## Reselect HI to Run SP and select coupling to tip
            Report.Log(ReportLevel.Info, "Section", "Step## Reselect HI to Run SP and select coupling to tip", new RecordItemIndex(27));

            TapOn(H2);
            Delay.Milliseconds(0);

            TapOn("Fit right ear with hearing aid");
            Delay.Milliseconds(0);

            TapOnWithContentDesc(H2);
            Delay.Milliseconds(0);

            TapOn("Tip");
            Delay.Milliseconds(0);

            // Validation## Coupling type should be changed to tip in overview screen and cluster should not be changed as HI is not changed.
            Report.Log(ReportLevel.Info, "Section", "Validation## Coupling type should be changed to tip in overview screen and cluster should not be changed as HI is not changed.", new RecordItemIndex(32));

            ValidateMonauralCouplingSelected("Tip", "Right");
            Delay.Milliseconds(0);

            ValidateMonauralClusterSelected("P5", "Right");
            Delay.Milliseconds(0);
        }
Esempio n. 23
0
        void ITestModule.Run()
        {
            Mouse.DefaultMoveTime        = 300;
            Keyboard.DefaultKeyPressTime = 20;
            Delay.SpeedFactor            = 1.00;

            Init();

            Report.Log(ReportLevel.Info, "Mouse", "Mouse Left Click item 'ContinuousIntegrationWithRanorexGit.SimgeDurumunaKuecuelt' at 10;21.", repo.ContinuousIntegrationWithRanorexGit.SimgeDurumunaKuecueltInfo, new RecordItemIndex(0));
            repo.ContinuousIntegrationWithRanorexGit.SimgeDurumunaKuecuelt.Click("10;21");
            Delay.Milliseconds(0);

            Ranorex.AutomationHelpers.UserCodeCollections.EmailLibrary.SendEmail("", "", "", "", "", "", ValueConverter.ArgumentFromString <int>("serverPort", "0"), ValueConverter.ArgumentFromString <bool>("useSSL", "False"), "", "");
            Delay.Milliseconds(0);
        }
Esempio n. 24
0
        protected override void OnModelCreating(ModelBuilder builder)
        {
            base.OnModelCreating(builder);

            //!Define How Entities Are Mapped Here
            //Dimension inheritance mapping
            builder.Entity <ContinuousDimensionInterval>().HasBaseType <Dimension>();
            builder.Entity <DiscreteDimensionInterval>().HasBaseType <Dimension>();
            builder.Entity <SingleValueDimension>().HasBaseType <Dimension>();

            builder.Entity <Algorithm>().HasMany(a => a.inputValues).WithOne();
            builder.Entity <InputValue>().Property <long>("inputId");
            builder.Entity <InputValue>().HasOne(iv => iv.input).WithOne().HasForeignKey <InputValue>("inputId");

            //Algorithm inheritance mapping
            builder.Entity <WidthPercentageAlgorithm>().HasBaseType <Algorithm>();
            builder.Entity <SameMaterialAndFinishAlgorithm>().HasBaseType <Algorithm>();

            //PriceTableEntry inheritance mapping

            /* builder.Entity<MaterialPriceTableEntry>().HasBaseType<PriceTableEntry>();
             * builder.Entity<FinishPriceTableEntry>().HasBaseType<PriceTableEntry>(); */
            builder.Entity <DiscreteDimensionInterval>().HasMany(i => i.values).WithOne(); //one-to-many relationship

            builder.Entity <Measurement>().Property <long>("heightDimensionId");
            builder.Entity <Measurement>().Property <long>("widthDimensionId");
            builder.Entity <Measurement>().Property <long>("depthDimensionId");

            builder.Entity <Measurement>().HasOne(m => m.height).WithOne().HasForeignKey <Measurement>("heightDimensionId").OnDelete(DeleteBehavior.Cascade); //one-to-one relationship
            builder.Entity <Measurement>().HasOne(m => m.width).WithOne().HasForeignKey <Dimension>("depthDimensionId").OnDelete(DeleteBehavior.Cascade);     //one-to-one relationship
            builder.Entity <Measurement>().HasOne(m => m.depth).WithOne().HasForeignKey <Dimension>("widthDimensionId").OnDelete(DeleteBehavior.Cascade);     //one-to-one relationship
            builder.Entity <Measurement>().HasMany(m => m.restrictions).WithOne().OnDelete(DeleteBehavior.Cascade);                                           //one-to-many relationship

            //Configure many-to-one relationship between parent and child ProductCategory
            builder.Entity <ProductCategory>().HasOne(c => c.parent).WithMany().HasForeignKey(c => c.parentId);

            builder.Entity <Material>().HasMany(m => m.Colors).WithOne().OnDelete(DeleteBehavior.Cascade);                  //one-to-many relationship
            builder.Entity <Material>().HasMany(m => m.Finishes).WithOne().OnDelete(DeleteBehavior.Cascade);                //one-to-many relationship

            //Configure many-to-many relationship between Product and Material
            builder.Entity <ProductMaterial>().HasKey(pm => new { pm.productId, pm.materialId });
            builder.Entity <ProductMaterial>().HasOne(pm => pm.product).WithMany(p => p.productMaterials).HasForeignKey(pm => pm.productId);
            builder.Entity <ProductMaterial>().HasOne(pm => pm.material).WithMany().HasForeignKey(pm => pm.materialId);
            builder.Entity <ProductMaterial>().HasMany(pm => pm.restrictions).WithOne().OnDelete(DeleteBehavior.Cascade);

            //TODO: remove join class, if possible
            //NOTE: This "join class" is only here as a workaround for now
            builder.Entity <ProductMeasurement>().HasKey(pm => new { pm.productId, pm.measurementId });
            builder.Entity <ProductMeasurement>().HasOne(pm => pm.product).WithMany(p => p.productMeasurements).HasForeignKey(pm => pm.productId);
            builder.Entity <ProductMeasurement>().HasOne(pm => pm.measurement);

            builder.Entity <Product>().HasOne(p => p.productCategory).WithMany(); //many-to-one relationship
            builder.Entity <Product>().OwnsOne(p => p.slotWidths);                //embedded ProductSlotWidths

            builder.Entity <Component>().HasKey(c => new { c.fatherProductId, c.complementaryProductId });
            builder.Entity <Component>().HasOne(c => c.fatherProduct).WithMany(p => p.components).HasForeignKey(cp => cp.fatherProductId);
            builder.Entity <Component>().HasOne(c => c.complementaryProduct).WithMany().HasForeignKey(cp => cp.complementaryProductId);
            builder.Entity <Component>().HasMany(c => c.restrictions).WithOne().OnDelete(DeleteBehavior.Cascade);

            builder.Entity <CustomizedProduct>().Property <long>("customizedDimensionsId");
            builder.Entity <CustomizedProduct>().Property <long?>("customizedMaterialId");
            builder.Entity <CustomizedProduct>().HasOne(cp => cp.product);                                                                                                                     //one-to-one relationship
            builder.Entity <CustomizedProduct>().HasOne(cp => cp.customizedDimensions).WithOne().HasForeignKey <CustomizedProduct>("customizedDimensionsId").OnDelete(DeleteBehavior.Cascade); //one-to-one relationship
            builder.Entity <CustomizedProduct>().HasOne(cp => cp.customizedMaterial).WithOne().HasForeignKey <CustomizedProduct>("customizedMaterialId").OnDelete(DeleteBehavior.Cascade);
            builder.Entity <CustomizedProduct>().HasMany(cp => cp.slots).WithOne().OnDelete(DeleteBehavior.Cascade);                                                                           //one-to-many relationship

            builder.Entity <CustomizedMaterial>().Property <long?>("finishId");
            builder.Entity <CustomizedMaterial>().Property <long?>("colorId");
            builder.Entity <CustomizedMaterial>().HasOne(cm => cm.material).WithMany();
            builder.Entity <CustomizedMaterial>().HasOne(cm => cm.finish).WithOne().HasForeignKey <CustomizedMaterial>("finishId").OnDelete(DeleteBehavior.Cascade);
            builder.Entity <CustomizedMaterial>().HasOne(cm => cm.color).WithOne().HasForeignKey <CustomizedMaterial>("colorId").OnDelete(DeleteBehavior.Cascade);


            builder.Entity <Slot>().Property <long>("customizedDimensionsId");
            builder.Entity <Slot>().HasOne(s => s.slotDimensions).WithOne().HasForeignKey <Slot>("customizedDimensionsId").OnDelete(DeleteBehavior.Cascade);                       //one-to-one relationship
            builder.Entity <Slot>().HasMany(s => s.customizedProducts).WithOne(cp => cp.insertedInSlot).HasForeignKey(cp => cp.insertedInSlotId).OnDelete(DeleteBehavior.Cascade); //one-to-many relationship

            //Compound key for CollectionProduct
            builder.Entity <CollectionProduct>().HasKey(cp => new { cp.customizedProductId, cp.customizedProductCollectionId });
            //Many-to-many relationship between CustomizedProductCollection and CustomizedProduct
            builder.Entity <CollectionProduct>().HasOne(cp => cp.customizedProductCollection)
            .WithMany(c => c.collectionProducts).HasForeignKey(cp => cp.customizedProductCollectionId);
            builder.Entity <CollectionProduct>().HasOne(cp => cp.customizedProduct).WithMany().HasForeignKey(cp => cp.customizedProductId);


            //Compound key for CatalogueCollectionProduct
            //Many-to-Many relationship between CatalogueCollection and CustomizedProduct
            builder.Entity <CatalogueCollectionProduct>().HasKey(ccp => new { ccp.commercialCatalogueId, ccp.customizedProductCollectionId, ccp.customizedProductId });
            builder.Entity <CatalogueCollectionProduct>().HasOne(ccp => ccp.customizedProduct)
            .WithMany().HasForeignKey(ccp => ccp.customizedProductId);
            builder.Entity <CatalogueCollectionProduct>().HasOne(ccp => ccp.catalogueCollection)
            .WithMany(cc => cc.catalogueCollectionProducts).HasForeignKey(ccp => new { ccp.commercialCatalogueId, ccp.customizedProductCollectionId });

            builder.Entity <CommercialCatalogue>().HasMany(catalogue => catalogue.catalogueCollectionList)
            .WithOne().HasForeignKey(catalogueCollection => catalogueCollection.commercialCatalogueId);

            builder.Entity <CatalogueCollection>().HasKey(cc => new { cc.commercialCatalogueId, cc.customizedProductCollectionId });
            builder.Entity <CatalogueCollection>().HasOne(catalogueCollection => catalogueCollection.customizedProductCollection)
            .WithMany().HasForeignKey(cc => cc.customizedProductCollectionId);
            builder.Entity <CatalogueCollection>().HasMany(catalogueCollection => catalogueCollection.catalogueCollectionProducts);

            //TimePeriod conversion mapping
            var localDateTimeConverter = new ValueConverter <LocalDateTime, DateTime>(v => v.ToDateTimeUnspecified(), v => LocalDateTime.FromDateTime(v));

            builder.Entity <TimePeriod>().Property(tp => tp.startingDate).HasConversion(localDateTimeConverter);
            builder.Entity <TimePeriod>().Property(tp => tp.endingDate).HasConversion(localDateTimeConverter);


            // Material Price Table Entries Mapping
            builder.Entity <MaterialPriceTableEntry>().HasKey(mpte => new { mpte.Id });
            builder.Entity <MaterialPriceTableEntry>().HasOne(mpte => mpte.entity).WithMany();
            builder.Entity <MaterialPriceTableEntry>().OwnsOne(mpte => mpte.price);
            builder.Entity <MaterialPriceTableEntry>().HasOne(mpte => mpte.timePeriod);

            // Finish Price Table Entries Mapping
            builder.Entity <FinishPriceTableEntry>().HasKey(fpte => new { fpte.Id });
            builder.Entity <FinishPriceTableEntry>().HasOne(fpte => fpte.entity);
            builder.Entity <FinishPriceTableEntry>().OwnsOne(fpte => fpte.price);
            builder.Entity <FinishPriceTableEntry>().HasOne(fpte => fpte.timePeriod);
        }
Esempio n. 25
0
        void ITestModule.Run()
        {
            Mouse.DefaultMoveTime        = 300;
            Keyboard.DefaultKeyPressTime = 100;
            Delay.SpeedFactor            = 1.00;

            Init();

            // Step## Pre-Condition - Initial setup and Access code setup is done.Customer created with audiogram configured with monaural audiogram(Right) -Prefilled recommendation done
            Report.Log(ReportLevel.Info, "Section", "Step## Pre-Condition - Initial setup and Access code setup is done.Customer created with audiogram configured with monaural audiogram(Right) -Prefilled recommendation done", new RecordItemIndex(0));

            TapOnSettings("Tap on \"Settings\"");
            Delay.Milliseconds(0);

            SwitchSettingUseMold(ValueConverter.ArgumentFromString <bool>("YesNo", "True"));
            Delay.Milliseconds(0);

            CreatePatient("OverRiding", "Recommendation");
            Delay.Milliseconds(0);

            SelectCustomerContinue();
            Delay.Milliseconds(0);

            TapOn("Enter Audiogram");
            Delay.Milliseconds(0);

            DrawAudiogramPoints("Right", "500,60;1000,65;2000,85;4000,90");
            Delay.Milliseconds(0);

            TabTapOnRightButton("Tap on 'Done'");
            Delay.Milliseconds(0);

            ValidateALertMessage("Do you want to enter values for the \"left\" ear side too?");
            Delay.Milliseconds(0);

            ClickOnAlertMessage("No");
            Delay.Milliseconds(0);

            TapOn("Send Data to Hearing Aid");
            Delay.Milliseconds(0);

            ValidateALertMessage("Selected Sound Profile has high amplification output.");
            Delay.Milliseconds(0);

            ClickOnAlertMessage("OK");
            Delay.Milliseconds(0);

            ConnectHI();
            Delay.Milliseconds(0);

            ClickOnAlertMessage("OK");
            Delay.Milliseconds(0);

            TabConfirmationToneYes();
            Delay.Milliseconds(0);

            ClickOnAlertMessage("OK");
            Delay.Milliseconds(0);

            TapOn("Check Sound Comfort");
            Delay.Milliseconds(0);

            SoundComfortOk();
            Delay.Milliseconds(0);

            TabVerifyActionBarDetailTitle("Session Completed");
            Delay.Milliseconds(0);

            CloseSession();
            Delay.Milliseconds(0);

            VerifyActionBarTitle("Client List");
            Delay.Milliseconds(0);

            CloseApp();
            Delay.Milliseconds(0);

            // Step## Open the App and go to List, Select the customer
            //Report.Log(ReportLevel.Info, "Section", "Step## Open the App and go to List, Select the customer", new RecordItemIndex(23));

            StartApp();
            Delay.Milliseconds(0);

            SearchCustomer("Recommendation");
            Delay.Milliseconds(0);

            SelectCustomer("OverRiding", "Recommendation");
            Delay.Milliseconds(0);

            // Validation## Overview screen is displayed for the selected customer
            Report.Log(ReportLevel.Info, "Section", "Validation## Overview screen is displayed for the selected customer", new RecordItemIndex(27));

            VerifyActionBarTitle("OverRiding, Recommendation");
            Delay.Milliseconds(0);

            // Step## Select the HI tab -Select right ear
            Report.Log(ReportLevel.Info, "Section", "Step## Select the HI tab -Select right ear", new RecordItemIndex(29));

            TapOn(H1);
            Delay.Milliseconds(0);

            TapOn("Fit right ear with hearing aid");
            Delay.Milliseconds(0);

            // Validation## HI screen is opened with list of available HI's- CIC, ITC Run P, Run SP and recommended HI is displayed.
            Report.Log(ReportLevel.Info, "Section", "Validation## HI screen is opened with list of available HI's- CIC, ITC Run P, Run SP and recommended HI is displayed.", new RecordItemIndex(32));

            ValidateContents("Run Click CIC;Run Click ITC;Run P;Run SP");
            Delay.Milliseconds(0);

            ValidateRecommendedHI(H1, "Right");
            Delay.Milliseconds(0);

            // Step## Select the HI other than recommended
            Report.Log(ReportLevel.Info, "Section", "Step## Select the HI other than recommended", new RecordItemIndex(35));

            TapOnWithContentDesc(H2);
            Delay.Milliseconds(0);

            // Validation## Coupling screen is displayed with recommendation based on HI selected(i.e Tip for Run P)
            Report.Log(ReportLevel.Info, "Section", "Validation## Coupling screen is displayed with recommendation based on HI selected(i.e Tip for Run P)", new RecordItemIndex(37));

            ValidateRecommendedCoupling("Tip", "Right");
            Delay.Milliseconds(0);

            // Step## Select Coupling Type other than recommended
            Report.Log(ReportLevel.Info, "Section", "Step## Select Coupling Type other than recommended", new RecordItemIndex(39));

            TapOn("Custom Mold");
            Delay.Milliseconds(0);

            // Validation## Automatically directs the overview screen with the corresponding new selections of -HI,Coupling type and recommended cluster is displayed.
            Report.Log(ReportLevel.Info, "Section", "Validation## Automatically directs the overview screen with the corresponding new selections of -HI,Coupling type and recommended cluster is displayed.", new RecordItemIndex(41));

            VerifyActionBarTitle("OverRiding, Recommendation");
            Delay.Milliseconds(0);

            ValidateMonauralHISelected(H2, "");
            Delay.Milliseconds(0);

            ValidateMonauralCouplingSelected("Custom Mold", "");
            Delay.Milliseconds(0);

            ValidateMonauralClusterSelected("P1", "");
            Delay.Milliseconds(0);

            // Step## Click on cluster in overview screen
            Report.Log(ReportLevel.Info, "Section", "Step## Click on cluster in overview screen", new RecordItemIndex(46));

            TapOn("P1");
            Delay.Milliseconds(0);

            // Validation## The app shall highlight the matching cluster as “suitable”.
            Report.Log(ReportLevel.Info, "Section", "Validation## The app shall highlight the matching cluster as “suitable”.", new RecordItemIndex(48));

            ValidateSuitableCluster("P1", "Right");
            Delay.Milliseconds(0);

            // Step## Select any other cluster other than recommended
            Report.Log(ReportLevel.Info, "Section", "Step## Select any other cluster other than recommended", new RecordItemIndex(50));

            TapOn("P2");
            Delay.Milliseconds(0);

            // Validation## New cluster is selected and displayed in overview screen
            Report.Log(ReportLevel.Info, "Section", "Validation## New cluster is selected and displayed in overview screen", new RecordItemIndex(52));

            VerifyActionBarTitle("OverRiding, Recommendation");
            Delay.Milliseconds(0);

            ValidateMonauralClusterSelected("P2", "");
            Delay.Milliseconds(0);
        }
Esempio n. 26
0
        void ITestModule.Run()
        {
            Mouse.DefaultMoveTime        = 300;
            Keyboard.DefaultKeyPressTime = 100;
            Delay.SpeedFactor            = 1.00;

            Init();

            DeleteResults();
            Delay.Milliseconds(0);

            RunAnalysis("PlateProtocolWith4Unknown.assay-protocol");
            Delay.Milliseconds(0);

            openProperties(repo.ProtocolAnalysisDesktop.Transforms);
            Delay.Milliseconds(0);

            toWidescreen(ValueConverter.ArgumentFromString <int>("toLeft", "400"));
            Delay.Milliseconds(0);

            Report.Log(ReportLevel.Info, "Mouse", "Mouse Left Click item 'ProtocolAnalysisDesktop.ButtonAdd' at 29;11.", repo.ProtocolAnalysisDesktop.ButtonAddInfo, new RecordItemIndex(4));
            repo.ProtocolAnalysisDesktop.ButtonAdd.Click("29;11");
            Delay.Milliseconds(200);

            Report.Log(ReportLevel.Info, "Delay", "Waiting for 500ms.", new RecordItemIndex(5));
            Delay.Duration(500, false);

            selectTransform(ValueConverter.ArgumentFromString <int>("num", "14"));
            Delay.Milliseconds(0);

            Report.Log(ReportLevel.Info, "Mouse", "Mouse Left Click item 'ProtocolAnalysisDesktop.CreateTransform' at 26;6.", repo.ProtocolAnalysisDesktop.CreateTransformInfo, new RecordItemIndex(7));
            repo.ProtocolAnalysisDesktop.CreateTransform.Click("26;6");
            Delay.Milliseconds(200);

            Report.Log(ReportLevel.Info, "Delay", "Waiting for 3s.", new RecordItemIndex(8));
            Delay.Duration(3000, false);

            Report.Log(ReportLevel.Info, "Mouse", "Mouse Left Click item 'ProtocolAnalysisDesktop.StandardTypeDropdown' at Center.", repo.ProtocolAnalysisDesktop.StandardTypeDropdownInfo, new RecordItemIndex(9));
            repo.ProtocolAnalysisDesktop.StandardTypeDropdown.Click();
            Delay.Milliseconds(200);

            Report.Log(ReportLevel.Info, "Mouse", "Mouse Left Click item 'MyAssaysDesktopAnalysis.Unknown' at 37;5.", repo.MyAssaysDesktopAnalysis.UnknownInfo, new RecordItemIndex(10));
            repo.MyAssaysDesktopAnalysis.Unknown.Click("37;5");
            Delay.Milliseconds(200);

            Report.Log(ReportLevel.Info, "Delay", "Waiting for 5s.", new RecordItemIndex(11));
            Delay.Duration(5000, false);

            CheckConcentrationsInDescription();
            Delay.Milliseconds(0);

            Report.Log(ReportLevel.Info, "Mouse", "Mouse Left Click item 'ProtocolAnalysisDesktop.ConcentrationsDropdown' at 55;9.", repo.ProtocolAnalysisDesktop.ConcentrationsDropdownInfo, new RecordItemIndex(13));
            repo.ProtocolAnalysisDesktop.ConcentrationsDropdown.Click("55;9");
            Delay.Milliseconds(200);

            CheckConcentrations();
            Delay.Milliseconds(0);

            Report.Log(ReportLevel.Info, "Mouse", "Mouse Left Click item 'ProtocolAnalysisDesktop.ConcentrationsDropdown' at 55;9.", repo.ProtocolAnalysisDesktop.ConcentrationsDropdownInfo, new RecordItemIndex(15));
            repo.ProtocolAnalysisDesktop.ConcentrationsDropdown.Click("55;9");
            Delay.Milliseconds(200);

            Report.Log(ReportLevel.Info, "Mouse", "Mouse Left Click item 'ProtocolAnalysisDesktop.CalculateButton' at Center.", repo.ProtocolAnalysisDesktop.CalculateButtonInfo, new RecordItemIndex(16));
            repo.ProtocolAnalysisDesktop.CalculateButton.Click();
            Delay.Milliseconds(200);

            WaitForCalculation();
            Delay.Milliseconds(0);

            WaitForCalculation();
            Delay.Milliseconds(0);

            Report.Log(ReportLevel.Info, "Validation", "Validating Exists on item 'ResultsAnalysis'.", repo.ResultsAnalysis.SelfInfo, new RecordItemIndex(19));
            Validate.Exists(repo.ResultsAnalysis.SelfInfo);
            Delay.Milliseconds(0);

            ValidateSAAMsDoNotExist();
            Delay.Milliseconds(0);

            ValidateStandardCurveFitTabExists();
            Delay.Milliseconds(0);

            ExtractProtocol("PlateProtocolWith4Unknown (1).assay-results");
            Delay.Milliseconds(0);

            CheckReportConcentrations();
            Delay.Milliseconds(0);

            CheckGoodnessMeasure();
            Delay.Milliseconds(0);

            CheckReportXMLByPattern("SCFPlateProtocolUnknownConcentrations.txt");
            Delay.Milliseconds(0);
        }
 public override CoreTypeMapping Clone(ValueConverter converter)
 => new TimestampLocalDateTimeMapping(Parameters.WithComposedConverter(converter));
Esempio n. 28
0
 public abstract TestPropertyBuilder <TProperty> HasConversion <TProvider>(ValueConverter <TProperty, TProvider> converter);
Esempio n. 29
0
 public override object ParseValue(object value) => ValueConverter.ConvertTo(value, typeof(short));
Esempio n. 30
0
 public abstract TestPropertyBuilder <TProperty> HasConversion(ValueConverter converter);
Esempio n. 31
0
 public RepositoryMap(ValueConverter primaryKeyConverter)
 {
     _primaryKeyConverter = primaryKeyConverter;
 }
Esempio n. 32
0
 public void ChoseValueConverter(PropertyInfo property, ValueConverter converter)
 {
 }
Esempio n. 33
0
 public static RationalValue ConvertFrom(ICustomData value)
 {
     return((RationalValue)ValueConverter <RationalValue> .ConvertFrom(value));
 }
Esempio n. 34
0
        void ITestModule.Run()
        {
            Mouse.DefaultMoveTime        = 300;
            Keyboard.DefaultKeyPressTime = 100;
            Delay.SpeedFactor            = 1.00;

            Init();

            DeleteResults();
            Delay.Milliseconds(0);

            RunAnalysis("MultiplexProtocol12x8With4BlankSamples.assay-protocol");
            Delay.Milliseconds(0);

            openProperties(repo.ProtocolAnalysisDesktop.Transforms);
            Delay.Milliseconds(0);

            toWidescreen(ValueConverter.ArgumentFromString <int>("toLeft", "400"));
            Delay.Milliseconds(0);

            Report.Log(ReportLevel.Info, "Mouse", "Mouse Left Click item 'ProtocolAnalysisDesktop.ButtonAdd' at 29;11.", repo.ProtocolAnalysisDesktop.ButtonAddInfo, new RecordItemIndex(4));
            repo.ProtocolAnalysisDesktop.ButtonAdd.Click("29;11");
            Delay.Milliseconds(200);

            Report.Log(ReportLevel.Info, "Delay", "Waiting for 500ms.", new RecordItemIndex(5));
            Delay.Duration(500, false);

            selectTransform(ValueConverter.ArgumentFromString <int>("num", "14"));
            Delay.Milliseconds(0);

            Report.Log(ReportLevel.Info, "Mouse", "Mouse Left Click item 'ProtocolAnalysisDesktop.CreateTransform' at 26;6.", repo.ProtocolAnalysisDesktop.CreateTransformInfo, new RecordItemIndex(7));
            repo.ProtocolAnalysisDesktop.CreateTransform.Click("26;6");
            Delay.Milliseconds(200);

            Report.Log(ReportLevel.Info, "Delay", "Waiting for 3s.", new RecordItemIndex(8));
            Delay.Duration(3000, false);

            Report.Log(ReportLevel.Info, "Mouse", "Mouse Left Click item 'ProtocolAnalysisDesktop.StandardTypeDropdown' at Center.", repo.ProtocolAnalysisDesktop.StandardTypeDropdownInfo, new RecordItemIndex(9));
            repo.ProtocolAnalysisDesktop.StandardTypeDropdown.Click();
            Delay.Milliseconds(200);

            Report.Log(ReportLevel.Info, "Delay", "Waiting for 5s.", new RecordItemIndex(10));
            Delay.Duration(5000, false);

            Report.Log(ReportLevel.Info, "Mouse", "Mouse Left Click item 'MyAssaysDesktopAnalysis.Blank' at 37;5.", repo.MyAssaysDesktopAnalysis.BlankInfo, new RecordItemIndex(11));
            repo.MyAssaysDesktopAnalysis.Blank.Click("37;5");
            Delay.Milliseconds(200);

            Report.Log(ReportLevel.Info, "Mouse", "Mouse Left Click item 'ProtocolAnalysisDesktop.ConcentrationsDropdown' at 55;9.", repo.ProtocolAnalysisDesktop.ConcentrationsDropdownInfo, new RecordItemIndex(12));
            repo.ProtocolAnalysisDesktop.ConcentrationsDropdown.Click("55;9");
            Delay.Milliseconds(200);

            Report.Log(ReportLevel.Info, "Mouse", "Mouse Left Click item 'MyAssaysDesktopAnalysis.Grid.FactorInput' at 42;10.", repo.MyAssaysDesktopAnalysis.Grid.FactorInputInfo, new RecordItemIndex(13));
            repo.MyAssaysDesktopAnalysis.Grid.FactorInput.Click("42;10");
            Delay.Milliseconds(200);

            Report.Log(ReportLevel.Info, "Keyboard", "Key 'Ctrl+A' Press.", new RecordItemIndex(14));
            Keyboard.Press(System.Windows.Forms.Keys.A | System.Windows.Forms.Keys.Control, 30, Keyboard.DefaultKeyPressTime, 1, true);
            Delay.Milliseconds(0);

            Report.Log(ReportLevel.Info, "Keyboard", "Key sequence '2'.", new RecordItemIndex(15));
            Keyboard.Press("2");
            Delay.Milliseconds(0);

            CheckConcentrations();
            Delay.Milliseconds(0);

            CheckStartValues();
            Delay.Milliseconds(0);

            Report.Log(ReportLevel.Info, "Mouse", "Mouse Left Click item 'MyAssaysDesktopAnalysis.SomeContainer.Analyte2' at 30;6.", repo.MyAssaysDesktopAnalysis.SomeContainer.Analyte2Info, new RecordItemIndex(18));
            repo.MyAssaysDesktopAnalysis.SomeContainer.Analyte2.Click("30;6");
            Delay.Milliseconds(200);

            CheckConcentrations();
            Delay.Milliseconds(0);

            Report.Log(ReportLevel.Info, "Mouse", "Mouse Left Click item 'ProtocolAnalysisDesktop.ConcentrationsDropdown' at 55;9.", repo.ProtocolAnalysisDesktop.ConcentrationsDropdownInfo, new RecordItemIndex(20));
            repo.ProtocolAnalysisDesktop.ConcentrationsDropdown.Click("55;9");
            Delay.Milliseconds(200);

            Report.Log(ReportLevel.Info, "Mouse", "Mouse Left Click item 'ProtocolAnalysisDesktop.CalculateButton' at Center.", repo.ProtocolAnalysisDesktop.CalculateButtonInfo, new RecordItemIndex(21));
            repo.ProtocolAnalysisDesktop.CalculateButton.Click();
            Delay.Milliseconds(200);

            WaitForCalculation();
            Delay.Milliseconds(0);

            WaitForCalculation();
            Delay.Milliseconds(0);

            Report.Log(ReportLevel.Info, "Validation", "Validating Exists on item 'ResultsAnalysis'.", repo.ResultsAnalysis.SelfInfo, new RecordItemIndex(24));
            Validate.Exists(repo.ResultsAnalysis.SelfInfo);
            Delay.Milliseconds(0);

            ValidateSAAMsDoNotExist();
            Delay.Milliseconds(0);

            ValidateAnalyte1TabExists();
            Delay.Milliseconds(0);

            ValidateAnalyte2TabExists();
            Delay.Milliseconds(0);

            ExtractProtocol("MultiplexProtocol12x8With4BlankSamples (1).assay-results");
            Delay.Milliseconds(0);

            CheckReportConcentrations();
            Delay.Milliseconds(0);

            CheckGoodnessMeasure();
            Delay.Milliseconds(0);

            CheckReportXMLByPattern("SCFMultiplexBlankConcentrations.txt");
            Delay.Milliseconds(0);
        }
 public void Chose(PropertyInfo property, ValueConverter converter)
 {
     if (_models.Any())
     {
         currentReport.For(property).Chose(converter);
     }
 }
Esempio n. 36
0
        public void TestDefValues()
        {
            var converter = new ValueConverter();

              Assert.That(converter.Get(null, 3), Is.EqualTo(3));
        }
Esempio n. 37
0
        /// <summary>
        /// Preforms unit tests related to setting and reading value on all the built-in matrix types.
        /// </summary>
        /// <param name="doOutOfRangeTest">If true performs a test should throw a caught exception.</param>
        /// <param name="parallelOptions">A ParallelOptions instance that configures the multithreaded behavior of this operation.</param>
        public static void MainTest(bool doOutOfRangeTest, ParallelOptions parallelOptions)
        {
            //densematrix
            TestByKeysAndIndexes(() => CreateModelMatrix().ToDenseMatrix(), doOutOfRangeTest);

            //sparsematrix
            TestByKeysAndIndexes(() => CreateModelMatrix().ToSparseMatrix(), doOutOfRangeTest);

            //TransposeView
            TestByKeysAndIndexes(() => CreateModelMatrix().TransposeView().ToDenseMatrix().TransposeView(), doOutOfRangeTest);

            //ConvertValueView
            TestByKeysAndIndexes(() => CreateModelMatrix().ConvertValueView(ValueConverter.DoubleToInt, int.MaxValue).ToDenseMatrix().ConvertValueView(ValueConverter.IntToDouble, double.NaN), doOutOfRangeTest);

            //SelectRowsAndColsView
            TestByKeysAndIndexes(() => CreateModelMatrix().SelectRowsAndColsView(new int[] { 2, 1, 0 }, new int[] { 2, 1, 0 }).ToDenseMatrix().SelectRowsAndColsView(new int[] { 2, 1, 0 }, new int[] { 2, 1, 0 }), doOutOfRangeTest);

            //RenameColsView
            TestByKeysAndIndexes(() => CreateModelMatrix().RenameColsView(new Dictionary<string, string> { { "x", "X" }, { "y", "Y" }, { "z", "Z" } }).ToDenseMatrix().RenameColsView(new Dictionary<string, string> { { "X", "x" }, { "Y", "y" }, { "Z", "z" } }), doOutOfRangeTest);

            //PermuteColValuesForEachRowView
            TestByKeysAndIndexes(() => CreateModelMatrix().PermuteColValuesForEachRowView(new int[] { 2, 1, 0 }).ToDenseMatrix().PermuteColValuesForEachRowView(new int[] { 2, 1, 0 }), doOutOfRangeTest);

            //MergeColsView
            TestByKeysAndIndexes(() => CreateModelMatrix().SelectColsView(0).ToDenseMatrix().MergeColsView(/*rowsMustMatch*/true, CreateModelMatrix().SelectColsView(1, 2).ToDenseMatrix()), doOutOfRangeTest);

            //MergeRowsView
            TestByKeysAndIndexes(() => CreateModelMatrix().SelectRowsView(0).ToDenseMatrix().MergeRowsView(/*colsMustMatch*/true, CreateModelMatrix().SelectRowsView(1, 2).ToDenseMatrix()), doOutOfRangeTest);

            //rowkeyspaddeddouble
            TestByKeysAndIndexes(() => CreateModelMatrix().ToPaddedDouble(parallelOptions), doOutOfRangeTest);

            //rowkeysansi
            TestByKeysAndIndexes(() => CreateModelMatrix().ConvertValueView(ValueConverter.DoubleToChar, '?').ToDenseAnsi(parallelOptions).ConvertValueView(ValueConverter.CharToDouble, double.NaN), doOutOfRangeTest);

            //densepairansi
            ValueConverter<double, UOPair<char>> doubleToUOPairConvert = new ValueConverter<double, UOPair<char>>(
                    r => new UOPair<char>(((int)r).ToString((IFormatProvider)null)[0], ((int)r).ToString((IFormatProvider)null)[0]),
                    pair => double.Parse(pair.First.ToString((IFormatProvider)null), (IFormatProvider)null));
            TestByKeysAndIndexes(() => CreateModelMatrix().ConvertValueView(doubleToUOPairConvert, DensePairAnsi.StaticMissingValue).ToDensePairAnsi(parallelOptions).ConvertValueView(doubleToUOPairConvert.Inverted, double.NaN), doOutOfRangeTest);



            //RowKeysPaddedDouble
            string paddedDoubleFile = Path.GetTempFileName();
            CreateModelMatrix().WritePaddedDouble(paddedDoubleFile, parallelOptions);
            using (RowKeysPaddedDouble rowKeysPaddedDouble = RowKeysPaddedDouble.GetInstanceFromPaddedDouble(paddedDoubleFile, parallelOptions, FileAccess.ReadWrite, FileShare.ReadWrite))
            {
                TestByKeys(rowKeysPaddedDouble, doOutOfRangeTest);
            }
            CreateModelMatrix().WritePaddedDouble(paddedDoubleFile, parallelOptions);
            using (RowKeysPaddedDouble rowKeysPaddedDouble = RowKeysPaddedDouble.GetInstanceFromPaddedDouble(paddedDoubleFile, parallelOptions, FileAccess.ReadWrite, FileShare.ReadWrite))
            {
                TestByIndexes(rowKeysPaddedDouble, doOutOfRangeTest);
            }
            File.Delete(paddedDoubleFile);

            //RowKeysRowKeysAnsi
            string rowKeysAnsiFile = Path.GetTempFileName();
            CreateModelMatrix().WriteDenseAnsi(rowKeysAnsiFile, parallelOptions);
            using (RowKeysAnsi rowKeysRowKeysAnsi = RowKeysAnsi.GetInstanceFromDenseAnsi(rowKeysAnsiFile, parallelOptions, FileAccess.ReadWrite, FileShare.ReadWrite))
            {
                TestByKeys(rowKeysRowKeysAnsi.ConvertValueView(ValueConverter.CharToDouble, double.NaN), doOutOfRangeTest);
            }
            CreateModelMatrix().WriteDenseAnsi(rowKeysAnsiFile, parallelOptions);
            using (RowKeysAnsi rowKeysRowKeysAnsi = RowKeysAnsi.GetInstanceFromDenseAnsi(rowKeysAnsiFile, parallelOptions, FileAccess.ReadWrite, FileShare.ReadWrite))
            {
                TestByIndexes(rowKeysRowKeysAnsi.ConvertValueView(ValueConverter.CharToDouble, double.NaN), doOutOfRangeTest);
            }
            File.Delete(rowKeysAnsiFile);

            //RowKeysRowKeysPairAnsi
            string rowKeysPairAnsiFile = Path.GetTempFileName();
            CreateModelMatrix().ConvertValueView(doubleToUOPairConvert, DensePairAnsi.StaticMissingValue).WriteDensePairAnsi(rowKeysPairAnsiFile, parallelOptions);
            using (RowKeysPairAnsi rowKeysAnsiPair = RowKeysPairAnsi.GetInstanceFromPairAnsi(rowKeysPairAnsiFile, parallelOptions, FileAccess.ReadWrite, FileShare.ReadWrite))
            {
                TestByKeys(rowKeysAnsiPair.ConvertValueView(doubleToUOPairConvert.Inverted, double.NaN), doOutOfRangeTest);
            }
            CreateModelMatrix().ConvertValueView(doubleToUOPairConvert, DensePairAnsi.StaticMissingValue).WriteDensePairAnsi(rowKeysPairAnsiFile, parallelOptions);
            using (RowKeysPairAnsi rowKeysRowKeysAnsi = RowKeysPairAnsi.GetInstanceFromPairAnsi(rowKeysPairAnsiFile, parallelOptions, FileAccess.ReadWrite, FileShare.ReadWrite))
            {
                TestByIndexes(rowKeysRowKeysAnsi.ConvertValueView(doubleToUOPairConvert.Inverted, double.NaN), doOutOfRangeTest);
            }
            File.Delete(rowKeysPairAnsiFile);

        }
Esempio n. 38
0
 public override CoreTypeMapping Clone(ValueConverter converter)
 => new NpgsqlRangeTypeMapping <T>(Parameters.WithComposedConverter(converter), NpgsqlDbType);
 public AbstraXProviderMappingParameters(AbstraXProviderDataProvider dataProvider, Type clrType, ValueConverter converter = null, ValueComparer comparer = null, ValueComparer keyComparer = null, ValueComparer structuralComparer = null, Func <IProperty, IEntityType, ValueGenerator> valueGeneratorFactory = null)
 {
     this.DataProvider          = dataProvider;
     this.ClrType               = clrType;
     this.ValueConverter        = converter;
     this.ValueComparer         = comparer;
     this.KeyComparer           = keyComparer;
     this.StructuralComparer    = structuralComparer;
     this.ValueGeneratorFactory = valueGeneratorFactory;
 }
 /// <summary>
 ///     Sets the custom <see cref="ValueConverter" /> for this property.
 /// </summary>
 /// <param name="property"> The property. </param>
 /// <param name="converter"> The converter, or <see langword="null" /> to remove any previously set converter. </param>
 /// <param name="fromDataAnnotation"> Indicates whether the configuration was specified using a data annotation. </param>
 /// <returns> The configured value. </returns>
 public static ValueConverter SetValueConverter(
     [NotNull] this IConventionProperty property,
     [CanBeNull] ValueConverter converter,
     bool fromDataAnnotation = false)
 => property.AsProperty().SetValueConverter(
     converter, fromDataAnnotation ? ConfigurationSource.DataAnnotation : ConfigurationSource.Convention);
 public void Chose(ValueConverter converter)
 {
     _converter = converter;
 }
 /// <summary>
 ///     This is an internal API that supports the Entity Framework Core infrastructure and not subject to
 ///     the same compatibility standards as public APIs. It may be changed or removed without notice in
 ///     any release. You should only use it directly in your code with extreme caution and knowing that
 ///     doing so can result in application failures when updating to a new Entity Framework Core release.
 /// </summary>
 protected SqliteGeometryTypeMapping(
     RelationalTypeMappingParameters parameters,
     ValueConverter <TGeometry, byte[]> converter)
     : base(parameters, converter)
 {
 }
        private bool TrySetPropertyAndRemoveUsedKey(InputMember member, string uriParameterName, NameValueCollection uriParameters, ValueConverter<string> converter)
        {
            if (member.Binder.SetProperty(uriParameterName, uriParameters.GetValues(uriParameterName), converter))
            {
                uriParameters.Remove(uriParameterName);

                return true;
            }

            return false;
        }
        void ITestModule.Run()
        {
            Mouse.DefaultMoveTime        = 300;
            Keyboard.DefaultKeyPressTime = 100;
            Delay.SpeedFactor            = 1.00;

            Init();

            // Step## Pre-Condition - Initial setup and Access code setup is done.Customer created with audiogram configured
            Report.Log(ReportLevel.Info, "Section", "Step## Pre-Condition - Initial setup and Access code setup is done.Customer created with audiogram configured", new RecordItemIndex(0));

            CreatePatient("Flow", "Monaural");
            Delay.Milliseconds(0);

            SelectCustomerContinue();
            Delay.Milliseconds(0);

            CloseApp();
            Delay.Milliseconds(0);

            // Step## Open the app, select List and select the existing customer
            Report.Log(ReportLevel.Info, "Section", "Step## Open the app, select List and select the existing customer", new RecordItemIndex(4));

            StartApp();
            Delay.Milliseconds(0);

            SearchCustomer("Monaural");
            Delay.Milliseconds(0);

            SelectCustomer("Flow", "Monaural");
            Delay.Milliseconds(0);

            // Step## Enter Audiogram -Left with 40, 45 ,50 55 dB for the required frequencies 500Hz, 1kHz, 2kHz, 4kHz and press Done
            Report.Log(ReportLevel.Info, "Section", "Step## Enter Audiogram -Left with 40, 45 ,50 55 dB for the required frequencies 500Hz, 1kHz, 2kHz, 4kHz and press Done", new RecordItemIndex(8));

            TapEnterAudiogram();
            Delay.Milliseconds(0);

            DrawAudiogramPoints("left", "500,40;1000,45;2000,50;4000,55");
            Delay.Milliseconds(0);

            TabTapOnRightButton("Click on 'Done'");
            Delay.Milliseconds(0);

            // Validation## Pop up appears to enter values for right ear.
            Report.Log(ReportLevel.Info, "Section", "Validation## Pop up appears to enter values for right ear.", new RecordItemIndex(12));

            ValidateALertMessage("Do you want to enter values for the \"right\" ear side too?");
            Delay.Milliseconds(0);

            // Step## Press No for the popup appeared
            Report.Log(ReportLevel.Info, "Section", "Step## Press No for the popup appeared", new RecordItemIndex(14));

            ClickOnAlertMessage("No");
            Delay.Milliseconds(0);

            // Validation## Returns to the overview screen with recommendation given for HI, Coupling and Cluster
            Report.Log(ReportLevel.Info, "Section", "Validation## Returns to the overview screen with recommendation given for HI, Coupling and Cluster", new RecordItemIndex(16));

            ValidateMonauralHISelected(H4, "Left");
            Delay.Milliseconds(0);

            ValidateMonauralCouplingSelected("Click Sleeve", "Left");
            Delay.Milliseconds(0);

            ValidateMonauralClusterSelected("P5", "Left");
            Delay.Milliseconds(0);

            // Step## Click on HI and Reselect same HI
            Report.Log(ReportLevel.Info, "Section", "Step## Click on HI and Reselect same HI", new RecordItemIndex(20));

            TapOn(H4);
            Delay.Milliseconds(0);

            ValidateRecommendationEnabled("Left", ValueConverter.ArgumentFromString <bool>("isEnabled", "True"));
            Delay.Milliseconds(0);

            TapOn("Fit left ear with hearing aid");
            Delay.Milliseconds(0);

            TapOnRecommendedHearingAid(H4);
            Delay.Milliseconds(0);

            // Step## Click on cluster to change from P1 to P3
            Report.Log(ReportLevel.Info, "Section", "Step## Click on cluster to change from P1 to P3", new RecordItemIndex(25));

            TapOn("P5");
            Delay.Milliseconds(0);

            TapOn("P6");
            Delay.Milliseconds(0);

            // Step## Press Send data to HI and Connect-Pair HI
            Report.Log(ReportLevel.Info, "Section", "Step## Press Send data to HI and Connect-Pair HI", new RecordItemIndex(28));

            SelectPage("Send Data to Hearing Aid");
            Delay.Milliseconds(0);

            // Validation## warning message is displayed as  Selected Sound Profile provides higher amplification than the recommended Profile. HI is successfully paired
            Report.Log(ReportLevel.Info, "Section", "Validation## warning message is displayed as  Selected Sound Profile provides higher amplification than the recommended Profile. HI is successfully paired", new RecordItemIndex(30));

            ConnectHI();
            Delay.Milliseconds(0);

            ValidateALertMessage(" Selected Sound Profile provides higher amplification than the recommended Profile. Are you sure of your selection?");
            Delay.Milliseconds(0);

            ClickOnAlertMessage("OK");
            Delay.Milliseconds(0);

            TapOn("Yes");
            Delay.Milliseconds(0);

            ClickOnAlertMessage("OK");
            Delay.Milliseconds(0);

            // Step## Press Sound Comfort
            Report.Log(ReportLevel.Info, "Section", "Step## Press Sound Comfort", new RecordItemIndex(36));

            SelectPage("Check Sound Comfort");
            Delay.Milliseconds(0);

            // Step## Increase/Decrease the volume and sound balancers using +/- buttons or slider
            Report.Log(ReportLevel.Info, "Section", "Step## Increase/Decrease the volume and sound balancers using +/- buttons or slider", new RecordItemIndex(38));

            VolumeIncrease();
            Delay.Milliseconds(0);

            SoundSharper();
            Delay.Milliseconds(0);

            // Step## Press Test OK
            Report.Log(ReportLevel.Info, "Section", "Step## Press Test OK", new RecordItemIndex(41));

            SoundComfortOk();
            Delay.Milliseconds(0);

            // Validation## Session is completed
            Report.Log(ReportLevel.Info, "Section", "Validation## Session is completed", new RecordItemIndex(43));

            TabVerifyActionBarDetailTitle("Session Completed");
            Delay.Milliseconds(0);

            // Step## Press Close session
            Report.Log(ReportLevel.Info, "Section", "Step## Press Close session", new RecordItemIndex(45));

            CloseSession();
            Delay.Milliseconds(0);

            // Validation## Returns to the Customer List screen
            Report.Log(ReportLevel.Info, "Section", "Validation## Returns to the Customer List screen", new RecordItemIndex(47));

            VerifyActionBarTitle("Client List");
            Delay.Milliseconds(0);
        }