Fininshed the unit test suite for the parser. Everything seems to work just fine.

--- System.CommandLine.Parser.UnitTests/ParserUnitTest.cs
+++ System.CommandLine.Parser.UnitTests/ParserUnitTest.cs
@@ -321,5 +321,245 @@
         }

         #endregion
+
+        #region Data Type Test Methods
+
+        /// <summary>
+        /// Tests how the parser handles boolean values.
+        /// </summary>
+        [TestMethod]
+        public void BooleanDataTypeTest()
+        {
+            // Parses a boolean value
+            ParameterBag parameterBag = Parser.Parse("/first:false --second=true");
+
+            // Validates that the parsed parameters are correct
+            this.ValidateParseOutput(parameterBag.Parameters, new List<Parameter>
+            {
+                new BooleanParameter
+                {
+                    Name = "first",
+                    Value = false
+                },
+                new BooleanParameter
+                {
+                    Name = "second",
+                    Value = true
+                }
+            });
+        }
+
+        /// <summary>
+        /// Tests how the parser handles numbers.
+        /// </summary>
+        [TestMethod]
+        public void NumberDataTypeTest()
+        {
+            // Parses a positive integer and validates that the parsed parameters are correct
+            ParameterBag parameterBag = Parser.Parse("/parameter=123");
+            this.ValidateParseOutput(parameterBag.Parameters, new List<Parameter>
+            {
+                new NumberParameter
+                {
+                    Name = "parameter",
+                    Value = 123.0d
+                }
+            });
+
+            // Parses a negative integer and validates that the parsed parameters are correct
+            parameterBag = Parser.Parse("--parameter:-123");
+            this.ValidateParseOutput(parameterBag.Parameters, new List<Parameter>
+            {
+                new NumberParameter
+                {
+                    Name = "parameter",
+                    Value = -123.0d
+                }
+            });
+
+            // Parses a positive floating point number and validates that the parsed parameters are correct
+            parameterBag = Parser.Parse("/parameter 123.456");
+            this.ValidateParseOutput(parameterBag.Parameters, new List<Parameter>
+            {
+                new NumberParameter
+                {
+                    Name = "parameter",
+                    Value = 123.456d
+                }
+            });
+
+            // Parses a negative floating point number and validates that the parsed parameters are correct
+            parameterBag = Parser.Parse("--parameter -123.456");
+            this.ValidateParseOutput(parameterBag.Parameters, new List<Parameter>
+            {
+                new NumberParameter
+                {
+                    Name = "parameter",
+                    Value = -123.456d
+                }
+            });
+
+            // Parses a positive floating point number with no digits before the decimal point and validates that the parsed parameters are correct
+            parameterBag = Parser.Parse("/parameter .123");
+            this.ValidateParseOutput(parameterBag.Parameters, new List<Parameter>
+            {
+                new NumberParameter
+                {
+                    Name = "parameter",
+                    Value = 0.123d
+                }
+            });
+
+            // Parses a negative floating point number with no digits before the decimal point and validates that the parsed parameters are correct
+            parameterBag = Parser.Parse("--parameter:-.123");
+            this.ValidateParseOutput(parameterBag.Parameters, new List<Parameter>
+            {
+                new NumberParameter
+                {
+                    Name = "parameter",
+                    Value = -0.123d
+                }
+            });
+
+            // Parses a positive floating point number with no digits after the decimal point and validates that the parsed parameters are correct
+            parameterBag = Parser.Parse("/parameter=123.");
+            this.ValidateParseOutput(parameterBag.Parameters, new List<Parameter>
+            {
+                new NumberParameter
+                {
+                    Name = "parameter",
+                    Value = 123.0d
+                }
+            });
+
+            // Parses a negative floating point number with no digits after the decimal point and validates that the parsed parameters are correct
+            parameterBag = Parser.Parse("--parameter=-123.");
+            this.ValidateParseOutput(parameterBag.Parameters, new List<Parameter>
+            {
+                new NumberParameter
+                {
+                    Name = "parameter",
+                    Value = -123.0d
+                }
+            });
+        }
+
+        /// <summary>
+        /// Tests how the parser handles un-quoted strings.
+        /// </summary>
+        [TestMethod]
+        public void StringDataTypeTest()
+        {
+            // Parses an un-quoted string value
+            ParameterBag parameterBag = Parser.Parse("/first:abc --second=XYZ");
+
+            // Validates that the parsed parameters are correct
+            this.ValidateParseOutput(parameterBag.Parameters, new List<Parameter>
+            {
+                new StringParameter
+                {
+                    Name = "first",
+                    Value = "abc"
+                },
+                new StringParameter
+                {
+                    Name = "second",
+                    Value = "XYZ"
+                }
+            });
+        }
+
+        /// <summary>
+        /// Tests how the parsers handles quoted strings.
+        /// </summary>
+        [TestMethod]
+        public void QuotedStringDataTypeTest()
+        {
+            // Parses a quoted string value
+            ParameterBag parameterBag = Parser.Parse("/parameter \"abc XYZ 123 ! § $ % & / ( ) = ? \\\"");
+
+            // Validates that the parsed parameters are correct
+            this.ValidateParseOutput(parameterBag.Parameters, new List<Parameter>
+            {
+                new StringParameter
+                {
+                    Name = "parameter",
+                    Value = "abc XYZ 123 ! § $ % & / ( ) = ? \\"
+                }
+            });
+        }
+
+        /// <summary>
+        /// Tests how the parser handles arrays.
+        /// </summary>
+        [TestMethod]
+        public void ArrayDataTypeTest()
+        {
+            // Parses an empty array and validates that the parsed parameters are correct
+            ParameterBag parameterBag = Parser.Parse("--parameter=[]");
+            this.ValidateParseOutput(parameterBag.Parameters, new List<Parameter>
+            {
+                new ArrayParameter
+                {
+                    Name = "parameter",
+                    Value = new List<Parameter>()
+                }
+            });
+
+            // Parses an array with a single element and validates that the parsed parameters are correct
+            parameterBag = Parser.Parse("/parameter [123]");
+            this.ValidateParseOutput(parameterBag.Parameters, new List<Parameter>
+            {
+                new ArrayParameter
+                {
+                    Name = "parameter",
+                    Value = new List<Parameter>
+                    {
+                        new NumberParameter { Value = 123.0d }
+                    }
+                }
+            });
+
+            // Parses an array with all different kinds of data types and validates that the parsed parameters are correct
+            parameterBag = Parser.Parse("--parameter:[false, 123.456, abcXYZ, \"abc XYZ 123\"]");
+            this.ValidateParseOutput(parameterBag.Parameters, new List<Parameter>
+            {
+                new ArrayParameter
+                {
+                    Name = "parameter",
+                    Value = new List<Parameter>
+                    {
+                        new BooleanParameter { Value = false },
+                        new NumberParameter { Value = 123.456d },
+                        new StringParameter { Value = "abcXYZ" },
+                        new StringParameter { Value = "abc XYZ 123" }
+                    }
+                }
+            });
+
+            // Parses a jagged array (array of arrays) and validates that the parsed parameters are correct
+            parameterBag = Parser.Parse("/parameter:[123, [abcXYZ, true]]");
+            this.ValidateParseOutput(parameterBag.Parameters, new List<Parameter>
+            {
+                new ArrayParameter
+                {
+                    Name = "parameter",
+                    Value = new List<Parameter>
+                    {
+                        new NumberParameter { Value = 123.0d },
+                        new ArrayParameter
+                        {
+                            Value = new List<Parameter>
+                            {
+                                new StringParameter { Value = "abcXYZ" },
+                                new BooleanParameter { Value = true }
+                            }
+                        }
+                    }
+                }
+            });
+        }
+
+        #endregion
     }
 }


Test combining loops and also not combining if statements.

--- LINQToTTree/LINQToTTreeLib.Tests/QueryVisitorTest.cs
+++ LINQToTTree/LINQToTTreeLib.Tests/QueryVisitorTest.cs
@@ -544,5 +544,42 @@
             Assert.IsNotNull(ifstatement, "if statement");
             Assert.AreEqual(2, ifstatement.Statements.Count(), "# of statements inside if block");
         }
+
+        [TestMethod]
+        public void TestSimpleIfNotCombine()
+        {
+            var q = new QueriableDummy<ntup>();
+
+            var r1 = q.Where(f => f.run > 5).Count();
+            var query1 = DummyQueryExectuor.FinalResult;
+            var r2 = q.Where(f => f.run > 6).Count();
+            var query2 = DummyQueryExectuor.FinalResult;
+
+            var query = CombineQueries(query1, query2);
+            query.DumpCodeToConsole();
+
+            Assert.AreEqual(1, query.QueryCode().Count(), "Number of query blocks");
+            Assert.AreEqual(2, query.QueryCode().First().Statements.Count(), "# of statements");
+        }
+
+        [TestMethod]
+        public void TestVectorLoopCombine()
+        {
+            var q = new QueriableDummy<ntupWithObjects>();
+
+            var r1 = q.SelectMany(t => t.jets).Count();
+            var query1 = DummyQueryExectuor.FinalResult;
+            var r2 = q.SelectMany(t => t.jets).Count();
+            var query2 = DummyQueryExectuor.FinalResult;
+
+            var query = CombineQueries(query1, query2);
+            query.DumpCodeToConsole();
+
+            Assert.AreEqual(1, query.QueryCode().Count(), "Number of query blocks");
+            Assert.AreEqual(1, query.QueryCode().First().Statements.Count(), "# of statements");
+            var statement = query.QueryCode().First().Statements.First() as IStatementCompound;
+            Assert.IsNotNull(statement, "statement isn't a compound");
+            Assert.AreEqual(2, statement.Statements.Count(), "# of inner statements");
+        }
     }
 }


Update to use Encoding.GetEncoding

Update to use Encoding.GetEncoding

--- Languages/IronPython/IronPython/Runtime/ClrModule.cs
+++ Languages/IronPython/IronPython/Runtime/ClrModule.cs
@@ -216,12 +216,8 @@

         [Documentation("Converts maxCount of an array of bytes to a string")]
         public static string GetString(byte[] bytes, int maxCount) {
-            int bytesToCopy = Math.Min(bytes.Length, maxCount);
-            StringBuilder b = new StringBuilder(bytesToCopy);
-            for (int i = 0; i < bytesToCopy; i++) {
-                b.Append((char)bytes[i]);
-            }
-            return b.ToString();
+            int bytesToCopy = Math.Min(bytes.Length, maxCount);
+            return Encoding.GetEncoding("iso-8859-1").GetString(bytes, 0, bytesToCopy);
         }

         [Documentation("Converts a string to an array of bytes")]
@@ -233,10 +229,7 @@
         public static byte[] GetBytes(string s, int maxCount) {
             int charsToCopy = Math.Min(s.Length, maxCount);
             byte[] ret = new byte[charsToCopy];
-            for (int i = 0; i < charsToCopy; i++) {
-                if (s[i] < 0x100) ret[i] = (byte)s[i];
-                else throw PythonOps.UnicodeDecodeError("'ascii' codec can't decode byte {0:X} in position {1}: ordinal not in range", (int)ret[i], i);
-            }
+            Encoding.GetEncoding("iso-8859-1").GetBytes(s, 0, charsToCopy, ret, 0);
             return ret;
         }


Cleanup to remove ser/deser logic duplication

--- nuget/service-registry/ConfigurationService.cs
+++ nuget/service-registry/ConfigurationService.cs
@@ -37,28 +37,43 @@
                 response = await _httpClient.GetStringAsync(serviceRegistryUrl + "/configs");
             }
             catch {}
-            if(!string.IsNullOrEmpty(response)) {
-                var configs = JsonConvert.DeserializeObject<Configuration[]>(response).ToList();
-                if(configs.Count > 0)
+            var configs = Deserialize(response);
+            if(configs.Count > 0)
+            {
+                try
                 {
-                    try
-                    {
-                        await _localCache.Save(JsonConvert.SerializeObject(configs));
-                    }
-                    catch {}
-                    return configs;
+                    await _localCache.Save(Serialize(configs));
                 }
+                catch {}
             }
             else
             {
                 var content = await _localCache.Read();
                 if(!string.IsNullOrEmpty(content))
                 {
-                    return JsonConvert.DeserializeObject<Configuration[]>(content).ToList();
+                    configs = Deserialize(content);
                 }
             }

+            return configs;
+        }
+
+        private List<Configuration> Deserialize(string content)
+        {
+            if(!string.IsNullOrEmpty(content)) {
+                var configs = JsonConvert.DeserializeObject<Configuration[]>(content).ToList();
+                return configs;
+            }
             return new List<Configuration>();
+        }
+
+        private string Serialize(List<Configuration> configs)
+        {
+            if(configs.Count > 0)
+            {
+                return JsonConvert.SerializeObject(configs.ToArray());
+            }
+            return string.Empty;
         }
     }
 }


Special-case value.Length == 0 in LastIndexOfOrdinal

With https://github.com/dotnet/coreclr/pull/579, I added to IndexOfOrdinal a check for value.Length == 0, to avoid returning bad data in that case.  But in doing so, and in neglecting to add a similar check to LastIndexOfOrdinal (which is currently implemented in terms of IndexOfOrdinal), I introduced an infinite loop into LastIndexOfOrdinal when value.Length == 0.  Fixing by adding a similar special-case.

--- src/mscorlib/corefx/System/Globalization/CompareInfo.Unix.cs
+++ src/mscorlib/corefx/System/Globalization/CompareInfo.Unix.cs
@@ -54,6 +54,12 @@
             Contract.Assert(value != null);

             // TODO: Implement This Fully.
+
+            if (value.Length == 0)
+            {
+                return startIndex;
+            }
+
             if (ignoreCase)
             {
                 source = source.ToUpper(CultureInfo.InvariantCulture);


Fixed 0xA0 SharedShipListEventPayload serialization

--- src/Booma.Packet.Game/Shared/Payloads/Server/SharedShipListEventPayload.cs
+++ src/Booma.Packet.Game/Shared/Payloads/Server/SharedShipListEventPayload.cs
@@ -20,21 +20,31 @@
 		public override bool isFlagsSerialized { get; } = false;

 		//PSOBB sends 4 byte Flags with the entry count. We disable Flags though to steal the 4 bytes
-		[SendSize(SendSizeAttribute.SizeType.Int32, 1)] //for some reason they send 1 less than the actual size
+		[SendSize(SendSizeAttribute.SizeType.Int32)] //for some reason they send 1 less than the actual size
 		[WireMember(1)]
 		private MenuListing[] _MenuListings { get; } //settable for removing the garbage entry

 		/// <summary>
 		/// All the menu listings sent in the packet.
 		/// </summary>
-		public IEnumerable<MenuListing> MenuListings => _MenuListings;
+		public IEnumerable<MenuListing> MenuListings => EnumerateListings();
+
+		private IEnumerable<MenuListing> EnumerateListings()
+		{
+			foreach(var entry in _MenuListings)
+				yield return entry;
+
+			yield return LastMenuListing;
+		}

 		/// <summary>
 		/// Only the ship menu listings sent in the packet.
 		/// </summary>
-		public IEnumerable<MenuListing> Ships => _MenuListings.Skip(1);
+		public IEnumerable<MenuListing> Ships => MenuListings.Skip(1);

 		//TODO: Failing test cases for mismatch size. The reason it is happening is public Teth sends 8 extra padding bytes that it doesn't need.
+		[WireMember(2)]
+		private MenuListing LastMenuListing { get; set; }

 		//Serializer ctor
 		private SharedShipListEventPayload()


Add traits to the unit tests.

Add traits to the unit tests.

--- src/Compilers/Core/CodeAnalysisTest/Diagnostics/SarifV1ErrorLoggerTests.cs
+++ src/Compilers/Core/CodeAnalysisTest/Diagnostics/SarifV1ErrorLoggerTests.cs
@@ -6,6 +6,7 @@
 using System.IO;
 using System.Text;

+using Microsoft.CodeAnalysis.Test.Utilities;
 using Microsoft.CodeAnalysis.Text;

 using Xunit;
@@ -13,6 +14,7 @@
 namespace Microsoft.CodeAnalysis.UnitTests.Diagnostics
 {
     // See also VB and C# command line unit tests for additional coverage.
+    [Trait(Traits.Feature, Traits.Features.SarifErrorLogging)]
     public class SarifV1ErrorLoggerTests
     {
         [Fact]


Load analyzer satellite assemblies

Load analyzer satellite assemblies

Analyzers support localized strings for titles, messages, descriptions,
etc. through the `LocalizableString` types. The localized strings will
generally end up in a set of "satellite" assemblies ending in
.resources.dll, one per culture. For example, if your analyzer is in an
assembly "MyAnalyzer" and you provided localized strings for French
(e.g., the fr-FR culture) then the build will typically produce
bin\Debug\MyAnalyzer.dll and bin\Debug\fr-FR\MyAnalyzer.resources.dll.

However, we currently have no way to find these satellite assemblies
when the CLR asks for them via the `AppDomain.AssemblyResolve` event, so
we never actually output localized strings from analyzers. The fix is to
simply look for the assemblies in culture-specific directories next to
the analyzer.

--- src/Compilers/Core/Desktop/AnalyzerFileReference.InMemoryAssemblyLoader.cs
+++ src/Compilers/Core/Desktop/AnalyzerFileReference.InMemoryAssemblyLoader.cs
@@ -202,6 +202,12 @@
                     foreach (string loadedAssemblyFullPath in s_assembliesFromFiles.Keys)
                     {
                         string directoryPath = Path.GetDirectoryName(loadedAssemblyFullPath);
+
+                        if (!string.IsNullOrEmpty(requestedAssemblyIdentity.CultureName))
+                        {
+                            directoryPath = Path.Combine(directoryPath, requestedAssemblyIdentity.CultureName);
+                        }
+
                         string candidateAssemblyFullPath = Path.Combine(directoryPath, requestedAssemblyIdentity.Name + ".dll");

                         AssemblyIdentity candidateAssemblyIdentity = TryGetAssemblyIdentity(candidateAssemblyFullPath);
@@ -258,6 +264,12 @@
                     }

                     string directoryPath = Path.GetDirectoryName(requestingAssemblyFullPath);
+
+                    if (!string.IsNullOrEmpty(assemblyIdentity.CultureName))
+                    {
+                        directoryPath = Path.Combine(directoryPath, assemblyIdentity.CultureName);
+                    }
+
                     string assemblyFullPath = Path.Combine(directoryPath, assemblyIdentity.Name + ".dll");
                     if (!File.Exists(assemblyFullPath))
                     {


Fix doc comments and one callsite

Fix doc comments and one callsite

--- src/Compilers/Core/Portable/DiagnosticAnalyzer/CompilationWithAnalyzers.cs
+++ src/Compilers/Core/Portable/DiagnosticAnalyzer/CompilationWithAnalyzers.cs
@@ -481,9 +481,7 @@

         /// <summary>
         /// Returns categorized syntax diagnostics produced by all <see cref="Analyzers"/> from analyzing the given <paramref name="tree"/>.
-        /// Depending on analyzers' behavior, returned diagnostics can have locations outside the tree,
-        /// and some diagnostics that would be reported for the tree by an analysis of the complete compilation
-        /// can be absent.
+        /// Depending on analyzers' behavior, some diagnostics that would be reported for the tree by an analysis of the complete compilation can be absent.
         /// </summary>
         /// <param name="tree">Syntax tree to analyze.</param>
         /// <param name="cancellationToken">Cancellation token.</param>
@@ -491,14 +489,12 @@
         {
             VerifyTree(tree);

-            return GetCategorizedAnalyzerSyntaxDiagnosticsAsync(tree, Analyzers, cancellationToken);
+            return GetCategorizedAnalyzerSyntaxDiagnosticsCoreAsync(tree, Analyzers, cancellationToken);
         }

         /// <summary>
         /// Returns categorized syntax diagnostics produced by given <paramref name="analyzers"/> from analyzing the given <paramref name="tree"/>.
-        /// Depending on analyzers' behavior, returned diagnostics can have locations outside the tree,
-        /// and some diagnostics that would be reported for the tree by an analysis of the complete compilation
-        /// can be absent.
+        /// Depending on analyzers' behavior, some diagnostics that would be reported for the tree by an analysis of the complete compilation can be absent.
         /// </summary>
         /// <param name="tree">Syntax tree to analyze.</param>
         /// <param name="analyzers">Analyzers whose diagnostics are required. All the given analyzers must be from the analyzers passed into the constructor of <see cref="CompilationWithAnalyzers"/>.</param>
@@ -565,9 +561,7 @@

         /// <summary>
         /// Returns semantic diagnostics produced by all <see cref="Analyzers"/> from analyzing the given <paramref name="model"/>, optionally scoped to a <paramref name="filterSpan"/>.
-        /// Depending on analyzers' behavior, returned diagnostics can have locations outside the tree,
-        /// and some diagnostics that would be reported for the tree by an analysis of the complete compilation
-        /// can be absent.
+        /// Depending on analyzers' behavior, some diagnostics that would be reported for the tree by an analysis of the complete compilation can be absent.
         /// </summary>
         /// <param name="model">Semantic model representing the syntax tree to analyze.</param>
         /// <param name="filterSpan">An optional span within the tree to scope analysis.</param>
@@ -581,9 +575,7 @@

         /// <summary>
         /// Returns semantic diagnostics produced by all <see cref="Analyzers"/> from analyzing the given <paramref name="model"/>, optionally scoped to a <paramref name="filterSpan"/>.
-        /// Depending on analyzers' behavior, returned diagnostics can have locations outside the tree,
-        /// and some diagnostics that would be reported for the tree by an analysis of the complete compilation
-        /// can be absent.
+        /// Depending on analyzers' behavior, some diagnostics that would be reported for the tree by an analysis of the complete compilation can be absent.
         /// </summary>
         /// <param name="model">Semantic model representing the syntax tree to analyze.</param>
         /// <param name="filterSpan">An optional span within the tree to scope analysis.</param>


Fix (reversed) REPL output

Fix (reversed) REPL output

--- MultiMiner.TUI/MinerApplication.cs
+++ MultiMiner.TUI/MinerApplication.cs
@@ -172,6 +172,7 @@
             var lines = replBuffer.ToList();
             lines.Reverse();
             lines = lines.Take(Console.WindowHeight - 1).ToList();
+            lines.Reverse();

             for (int i = 0; i < lines.Count; i++)
             {


Fixed old format deserialization test

Fixed old format deserialization test

--- src/DotVVM.Framework/ResourceManagement/ResourceRepositoryJsonConverter.cs
+++ src/DotVVM.Framework/ResourceManagement/ResourceRepositoryJsonConverter.cs
@@ -85,6 +85,14 @@
                 try
                 {
                     var resource = serializer.Deserialize(resObj.Value.CreateReader(), resourceType) as IResource;
+                    if (resource is LinkResourceBase linkResource)
+                    {
+                        if (linkResource.Location == null)
+                        {
+                            linkResource.Location = new UnknownResourceLocation();
+                        }
+                    }
+
                     repo.Register(resObj.Key, resource);
                 }
                 catch (Exception ex)
@@ -127,4 +135,12 @@
             }
         }
     }
+
+    internal class UnknownResourceLocation : IResourceLocation
+    {
+        public string GetUrl(IDotvvmRequestContext context, string name)
+        {
+            throw new InvalidOperationException($"The Location of the resource {name} is unknown! This should happen only when deserializing DotVVM 1.0.x configuration.");
+        }
+    }
 }


Fix an InvalidOperationException in the Getting Started Wizard if default coin API is offline

--- MultiMiner.Win/Forms/WizardForm.cs
+++ MultiMiner.Win/Forms/WizardForm.cs
@@ -275,10 +275,10 @@

             Engine.Data.Configuration.Coin coinConfiguration = new Engine.Data.Configuration.Coin();

-            PoolGroup coin = null;
-
-            //no Internet connection - only BTC and LTC were available
-            if (coins.Count == 0)
+            PoolGroup coin = coins.SingleOrDefault(c => c.Name.Equals(coinComboBox.Text));
+
+            //no Internet connection (or coin API offline) - only BTC and LTC were available
+            if (coin == null)
             {
                 coin = new PoolGroup();
                 coin.Name = coinComboBox.Text;


Rename type parameters.

Rename type parameters.

--- src/ExRam.Gremlinq.Core/Queries/ContinuationBuilder/ContinuationBuilder.cs
+++ src/ExRam.Gremlinq.Core/Queries/ContinuationBuilder/ContinuationBuilder.cs
@@ -5,55 +5,55 @@

 namespace ExRam.Gremlinq.Core
 {
-    internal readonly struct ContinuationBuilder<TOuterQuery, TInnerQuery>
+    internal readonly struct ContinuationBuilder<TOuterQuery, TAnonymousQuery>
         where TOuterQuery : GremlinQueryBase
-        where TInnerQuery : GremlinQueryBase
+        where TAnonymousQuery : GremlinQueryBase
     {
         private readonly TOuterQuery? _outer;
-        private readonly TInnerQuery? _inner;
+        private readonly TAnonymousQuery? _anonymous;

-        public ContinuationBuilder(TOuterQuery outer, TInnerQuery inner)
+        public ContinuationBuilder(TOuterQuery outer, TAnonymousQuery anonymous)
         {
             _outer = outer;
-            _inner = inner;
+            _anonymous = anonymous;
         }

-        public ContinuationBuilder<TNewSourceQuery, TInnerQuery> FromSource<TNewSourceQuery>(TNewSourceQuery query)
+        public ContinuationBuilder<TNewSourceQuery, TAnonymousQuery> FromSource<TNewSourceQuery>(TNewSourceQuery query)
             where TNewSourceQuery : GremlinQueryBase
         {
-            return _inner is { } inner
-                ? new(query, _inner)
+            return _anonymous is { } anonymous
+                ? new(query, _anonymous)
                 : throw new InvalidOperationException();
         }

-        public SingleContinuationBuilder<TOuterQuery, TInnerQuery> With<TProjectedQuery>(Func<TInnerQuery, TProjectedQuery> continuation)
+        public SingleContinuationBuilder<TOuterQuery, TAnonymousQuery> With<TProjectedQuery>(Func<TAnonymousQuery, TProjectedQuery> continuation)
             where TProjectedQuery : IGremlinQueryBase
         {
-            return _outer is { } outer && _inner is { } inner
-                ? new(outer, inner, continuation(inner))
+            return _outer is { } outer && _anonymous is { } anonymous
+                ? new(outer, anonymous, continuation(anonymous))
                 : throw new InvalidOperationException();
         }
     }

-    internal readonly struct SingleContinuationBuilder<TOuterQuery, TInnerQuery>
+    internal readonly struct SingleContinuationBuilder<TOuterQuery, TAnonymousQuery>
         where TOuterQuery : GremlinQueryBase
-        where TInnerQuery : GremlinQueryBase
+        where TAnonymousQuery : GremlinQueryBase
     {
         private readonly TOuterQuery? _outer;
-        private readonly TInnerQuery? _inner;
+        private readonly TAnonymousQuery? _anonymous;
         private readonly IGremlinQueryBase? _continuation;

-        public SingleContinuationBuilder(TOuterQuery outer, TInnerQuery inner, IGremlinQueryBase continuation)
+        public SingleContinuationBuilder(TOuterQuery outer, TAnonymousQuery anonymous, IGremlinQueryBase continuation)
         {
             _outer = outer;
-            _inner = inner;
+            _anonymous = anonymous;
             _continuation = continuation;
         }

-        public MultiContinuationBuilder<TOuterQuery, TInnerQuery> With(Func<TInnerQuery, IGremlinQueryBase> continuation)
+        public MultiContinuationBuilder<TOuterQuery, TAnonymousQuery> With(Func<TAnonymousQuery, IGremlinQueryBase> continuation)
         {
-            return _outer is { } outer && _inner is { } inner && _continuation is { } existingContinuation
-                ? new (outer, inner, ImmutableList.Create(existingContinuation, continuation(inner)))
+            return _outer is { } outer && _anonymous is { } anonymous && _continuation is { } existingContinuation
+                ? new (outer, anonymous, ImmutableList.Create(existingContinuation, continuation(anonymous)))
                 : throw new InvalidOperationException();
         }

@@ -65,25 +65,25 @@
         }
     }

-    internal readonly struct MultiContinuationBuilder<TOuterQuery, TInnerQuery>
+    internal readonly struct MultiContinuationBuilder<TOuterQuery, TAnonymousQuery>
         where TOuterQuery : GremlinQueryBase
-        where TInnerQuery : GremlinQueryBase
+        where TAnonymousQuery : GremlinQueryBase
     {
         private readonly TOuterQuery? _outer;
-        private readonly TInnerQuery? _inner;
+        private readonly TAnonymousQuery? _anonymous;
         private readonly IImmutableList<IGremlinQueryBase>? _continuations;

-        public MultiContinuationBuilder(TOuterQuery outer, TInnerQuery inner, IImmutableList<IGremlinQueryBase> continuations)
+        public MultiContinuationBuilder(TOuterQuery outer, TAnonymousQuery anonymous, IImmutableList<IGremlinQueryBase> continuations)
         {
             _outer = outer;
-            _inner = inner;
+            _anonymous = anonymous;
             _continuations = continuations;
         }

-        public MultiContinuationBuilder<TOuterQuery, TInnerQuery> With(Func<TInnerQuery, IGremlinQueryBase> continuation)
+        public MultiContinuationBuilder<TOuterQuery, TAnonymousQuery> With(Func<TAnonymousQuery, IGremlinQueryBase> continuation)
         {
-            return _outer is { } outer && _inner is { } inner && _continuations is { } continuations
-                ? new(outer, inner, continuations.Add(continuation(inner)))
+            return _outer is { } outer && _anonymous is { } anonymous && _continuations is { } continuations
+                ? new(outer, anonymous, continuations.Add(continuation(anonymous)))
                 : throw new InvalidOperationException();
         }


fix(formatting): update comments and formatting changes

--- src/IBM.Watson.Assistant.v1/Model/WorkspaceSystemSettingsDisambiguation.cs
+++ src/IBM.Watson.Assistant.v1/Model/WorkspaceSystemSettingsDisambiguation.cs
@@ -1,5 +1,5 @@
 /**
-* (C) Copyright IBM Corp. 2018, 2020.
+* (C) Copyright IBM Corp. 2021.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
@@ -25,8 +25,8 @@
     public class WorkspaceSystemSettingsDisambiguation
     {
         /// <summary>
-        /// The sensitivity of the disambiguation feature to intent detection conflicts. Set to **high** if you want the
-        /// disambiguation feature to be triggered more often. This can be useful for testing or demonstration purposes.
+        /// The sensitivity of the disambiguation feature to intent detection uncertainty. Higher sensitivity means that
+        /// the disambiguation feature is triggered more often and includes more choices.
         /// </summary>
         public class SensitivityEnumValue
         {
@@ -42,8 +42,8 @@
         }

         /// <summary>
-        /// The sensitivity of the disambiguation feature to intent detection conflicts. Set to **high** if you want the
-        /// disambiguation feature to be triggered more often. This can be useful for testing or demonstration purposes.
+        /// The sensitivity of the disambiguation feature to intent detection uncertainty. Higher sensitivity means that
+        /// the disambiguation feature is triggered more often and includes more choices.
         /// Constants for possible values can be found using WorkspaceSystemSettingsDisambiguation.SensitivityEnumValue
         /// </summary>
         [JsonProperty("sensitivity", NullValueHandling = NullValueHandling.Ignore)]


DNN-9811: revised code to prevent dup calls

--- src/Modules/Content/Dnn.PersonaBar.Pages/Components/PagesControllerImpl.cs
+++ src/Modules/Content/Dnn.PersonaBar.Pages/Components/PagesControllerImpl.cs
@@ -232,8 +232,6 @@
                 ? AddTab(pageSettings)
                 : UpdateTab(tab, pageSettings);

-            MovePageIfNeeded(pageSettings, tab);
-
             return TabController.Instance.GetTab(tabId, portalSettings.PortalId);
         }

@@ -881,7 +879,9 @@
             CreateOrUpdateContentItem(tab);

             SaveTabUrl(tab, pageSettings);
-
+
+            MovePageIfNeeded(pageSettings, tab);
+
             return tab.TabID;
         }


Updated employer finance api client registry

--- src/SFA.DAS.EmployerFinance.Api.Client/EmployerFinanceApiClientRegistry.cs
+++ src/SFA.DAS.EmployerFinance.Api.Client/EmployerFinanceApiClientRegistry.cs
@@ -1,4 +1,5 @@
-using StructureMap;
+using SFA.DAS.AutoConfiguration;
+using StructureMap;

 namespace SFA.DAS.EmployerFinance.Api.Client
 {
@@ -6,7 +7,7 @@
     {
         public EmployerFinanceApiClientRegistry()
         {
-            For<EmployerFinanceApiClientConfiguration>().Use(() => ConfigurationHelper.GetConfiguration<EmployerFinanceApiClientConfiguration>("SFA.DAS.EmployerFinance.Api.Client")).Singleton();
+            For<EmployerFinanceApiClientConfiguration>().Use(c => c.GetInstance<IAutoConfigurationService>().Get<EmployerFinanceApiClientConfiguration>("SFA.DAS.EmployerFinance.Api.Client")).Singleton();
             For<IEmployerFinanceApiClient>().Use<EmployerFinanceApiClient>();
         }
     }


Mock Generics with NonPublic API

Mock Generics with NonPublic API

o fixed Mock.NonPublic.Assert<T, TReturn> overload
o fixed some minor code style violations

--- Telerik.JustMock/Expectations/NonPublicExpectation.cs
+++ Telerik.JustMock/Expectations/NonPublicExpectation.cs
@@ -1,6 +1,6 @@
 /*
  JustMock Lite
- Copyright © 2010-2015 Progress Software Corporation
+ Copyright © 2010-2015,2019 Progress Software Corporation

    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
@@ -33,212 +33,209 @@
 	internal sealed class NonPublicExpectation : INonPublicExpectation
 	{

-        private MethodInfo GetGenericMethodInstance(object target, Type returnType, string memberName, Type[] typeArguments, params object[] args)
-        {
-            var type = target.GetType();
-            return GetGenericMethodInstance(type, returnType, memberName, typeArguments, args);
-        }
-
-        private MethodInfo GetGenericMethodInstance(Type targetType, Type returnType, string memberName, Type[] typeArguments, params object[] args)
-        {
-            var type = targetType;
-            var mixin = MocksRepository.GetMockMixin(targetType, null);
-            if (mixin != null)
-                type = mixin.DeclaringType;
-
-            var method = MockingUtil.GetGenericMethodInstanceByName(type, returnType, memberName, typeArguments, ref args);
-
-            return method;
-        }
-
-
-        public ActionExpectation Arrange(object target, string memberName, Type[] typeArguments, params object[] args)
-        {
-            return ProfilerInterceptor.GuardInternal(() =>
-            {
-                var method = GetGenericMethodInstance(target, typeof(void), memberName, typeArguments, args);
-                return MockingContext.CurrentRepository.Arrange(target, method, args, () => new ActionExpectation());
-            });
-        }
-
-        public FuncExpectation<TReturn> Arrange<TReturn>(object target, string memberName, Type[] typeArguments, params object[] args)
-        {
-            return ProfilerInterceptor.GuardInternal(() =>
-            {
-                var method = GetGenericMethodInstance(target, typeof(TReturn), memberName, typeArguments, args);
-                return MockingContext.CurrentRepository.Arrange(target, method, args, () => new FuncExpectation<TReturn>());
-            });
-        }
-
-        public ActionExpectation Arrange<T>(string memberName, Type[] typeArguments, params object[] args)
-        {
-            return ProfilerInterceptor.GuardInternal(() =>
-            {
-                return Arrange(typeof(T), memberName, typeArguments, args);
-            });
-        }
-
-        public ActionExpectation Arrange(Type targetType, string memberName, Type[] typeArguments, params object[] args)
-        {
-            return ProfilerInterceptor.GuardInternal(() =>
-            {
-                var method = GetGenericMethodInstance(targetType, typeof(void), memberName, typeArguments, args);
-
-                return MockingContext.CurrentRepository.Arrange(targetType, method, args, () => new ActionExpectation());
-            });
-        }
-
-        public FuncExpectation<TReturn> Arrange<T, TReturn>(string memberName, Type[] typeArguments, params object[] args)
-        {
-            return ProfilerInterceptor.GuardInternal(() =>
-            {
-                return Arrange<TReturn>(typeof(T), memberName, typeArguments, args);
-            });
-        }
-
-        public FuncExpectation<TReturn> Arrange<TReturn>(Type targetType, string memberName, Type[] typeArguments, params object[] args)
-        {
-            return ProfilerInterceptor.GuardInternal(() =>
-            {
-                var method = GetGenericMethodInstance(targetType, typeof(TReturn), memberName, typeArguments, args);
-
-                return MockingContext.CurrentRepository.Arrange(targetType, method, args, () => new FuncExpectation<TReturn>());
-            });
-        }
-
-        public void Assert(object target, string memberName, Type[] typeArguments, params object[] args)
-        {
-            ProfilerInterceptor.GuardInternal(() =>
-            {
-                var method = GetGenericMethodInstance(target, typeof(void), memberName, typeArguments, args);
-                this.Assert(target, method, args);
-            });
-        }
-        public void Assert<TReturn>(object target, string memberName, Type[] typeArguments, params object[] args)
-        {
-            ProfilerInterceptor.GuardInternal(() =>
-            {
-                var method = GetGenericMethodInstance(target, typeof(TReturn), memberName, typeArguments, args);
-                this.Assert(target, method, args);
-            });
-        }
-
-        public void Assert(object target, string memberName, Type[] typeArguments, Occurs occurs, params object[] args)
-        {
-            ProfilerInterceptor.GuardInternal(() =>
-            {
-                var method = GetGenericMethodInstance(target, typeof(void), memberName, typeArguments, args);
-                this.Assert(target, method, occurs, args);
-            });
-        }
-
-        public void Assert<TReturn>(object target, string memberName, Type[] typeArguments, Occurs occurs, params object[] args)
-        {
-            ProfilerInterceptor.GuardInternal(() =>
-            {
-                var method = GetGenericMethodInstance(target, typeof(TReturn), memberName, typeArguments, args);
-                this.Assert(target, method, occurs, args);
-            });
-        }
-
+		private MethodInfo GetGenericMethodInstance(object target, Type returnType, string memberName, Type[] typeArguments, params object[] args)
+		{
+			var type = target.GetType();
+			return GetGenericMethodInstance(type, returnType, memberName, typeArguments, args);
+		}
+
+		private MethodInfo GetGenericMethodInstance(Type targetType, Type returnType, string memberName, Type[] typeArguments, params object[] args)
+		{
+			var type = targetType;
+			var mixin = MocksRepository.GetMockMixin(targetType, null);
+			if (mixin != null)
+				type = mixin.DeclaringType;
+
+			var method = MockingUtil.GetGenericMethodInstanceByName(type, returnType, memberName, typeArguments, ref args);
+
+			return method;
+		}
+
+		public ActionExpectation Arrange(object target, string memberName, Type[] typeArguments, params object[] args)
+		{
+			return ProfilerInterceptor.GuardInternal(() =>
+			{
+				var method = GetGenericMethodInstance(target, typeof(void), memberName, typeArguments, args);
+				return MockingContext.CurrentRepository.Arrange(target, method, args, () => new ActionExpectation());
+			});
+		}
+
+		public FuncExpectation<TReturn> Arrange<TReturn>(object target, string memberName, Type[] typeArguments, params object[] args)
+		{
+			return ProfilerInterceptor.GuardInternal(() =>
+			{
+				var method = GetGenericMethodInstance(target, typeof(TReturn), memberName, typeArguments, args);
+				return MockingContext.CurrentRepository.Arrange(target, method, args, () => new FuncExpectation<TReturn>());
+			});
+		}
+
+		public ActionExpectation Arrange<T>(string memberName, Type[] typeArguments, params object[] args)
+		{
+			return ProfilerInterceptor.GuardInternal(() =>
+			{
+				return Arrange(typeof(T), memberName, typeArguments, args);
+			});
+		}
+
+		public ActionExpectation Arrange(Type targetType, string memberName, Type[] typeArguments, params object[] args)
+		{
+			return ProfilerInterceptor.GuardInternal(() =>
+			{
+				var method = GetGenericMethodInstance(targetType, typeof(void), memberName, typeArguments, args);
+
+				return MockingContext.CurrentRepository.Arrange(targetType, method, args, () => new ActionExpectation());
+			});
+		}
+
+		public FuncExpectation<TReturn> Arrange<T, TReturn>(string memberName, Type[] typeArguments, params object[] args)
+		{
+			return ProfilerInterceptor.GuardInternal(() =>
+			{
+				return Arrange<TReturn>(typeof(T), memberName, typeArguments, args);
+			});
+		}
+
+		public FuncExpectation<TReturn> Arrange<TReturn>(Type targetType, string memberName, Type[] typeArguments, params object[] args)
+		{
+			return ProfilerInterceptor.GuardInternal(() =>
+			{
+				var method = GetGenericMethodInstance(targetType, typeof(TReturn), memberName, typeArguments, args);
+
+				return MockingContext.CurrentRepository.Arrange(targetType, method, args, () => new FuncExpectation<TReturn>());
+			});
+		}
+
+		public void Assert(object target, string memberName, Type[] typeArguments, params object[] args)
+		{
+			ProfilerInterceptor.GuardInternal(() =>
+			{
+				var method = GetGenericMethodInstance(target, typeof(void), memberName, typeArguments, args);
+				this.Assert(target, method, args);
+			});
+		}
+
+		public void Assert<TReturn>(object target, string memberName, Type[] typeArguments, params object[] args)
+		{
+			ProfilerInterceptor.GuardInternal(() =>
+			{
+				var method = GetGenericMethodInstance(target, typeof(TReturn), memberName, typeArguments, args);
+				this.Assert(target, method, args);
+			});
+		}
+
+		public void Assert(object target, string memberName, Type[] typeArguments, Occurs occurs, params object[] args)
+		{
+			ProfilerInterceptor.GuardInternal(() =>
+			{
+				var method = GetGenericMethodInstance(target, typeof(void), memberName, typeArguments, args);
+				this.Assert(target, method, occurs, args);
+			});
+		}
+
+		public void Assert<TReturn>(object target, string memberName, Type[] typeArguments, Occurs occurs, params object[] args)
+		{
+			ProfilerInterceptor.GuardInternal(() =>
+			{
+				var method = GetGenericMethodInstance(target, typeof(TReturn), memberName, typeArguments, args);
+				this.Assert(target, method, occurs, args);
+			});
+		}

 #if !LITE_EDITION

-        public void Assert<T>(string memberName, Type[] typeArguments, Occurs occurs, params object[] args)
-        {
-            ProfilerInterceptor.GuardInternal(() =>
-            {
-                var method = GetGenericMethodInstance(typeof(T), typeof(void), memberName, typeArguments, args);
-                this.Assert(method, occurs, args);
-            });
-        }
-
-        public void Assert(Type targetType, string memberName, Type[] typeArguments, Occurs occurs, params object[] args)
-        {
-            ProfilerInterceptor.GuardInternal(() =>
-            {
-                var method = GetGenericMethodInstance(targetType, typeof(void), memberName, typeArguments, args);
-                this.Assert(method, occurs, args);
-            });
-        }
-
-        public void Assert<T>(string memberName, Type[] typeArguments, params object[] args)
-        {
-            ProfilerInterceptor.GuardInternal(() =>
-            {
-                var method = GetGenericMethodInstance(typeof(T), typeof(void), memberName, typeArguments, args);
-                this.Assert(method, args);
-            });
-        }
-
-        public void Assert(Type targetType, string memberName, Type[] typeArguments, params object[] args)
-        {
-            ProfilerInterceptor.GuardInternal(() =>
-            {
-                var method = GetGenericMethodInstance(targetType, typeof(void), memberName, typeArguments, args);
-                this.Assert(method, args);
-            });
-        }
-
-        public void Assert<TReturn>(Type targetType, string memberName, Type[] typeArguments, Occurs occurs, params object[] args)
-        {
-            ProfilerInterceptor.GuardInternal(() =>
-            {
-                var method = GetGenericMethodInstance(targetType, typeof(TReturn), memberName, typeArguments, args);
-                this.Assert(method, occurs, args);
-            });
-        }
-
-        public void Assert<TReturn>(Type targetType, string memberName, Type[] typeArguments, params object[] args)
-        {
-            ProfilerInterceptor.GuardInternal(() =>
-            {
-                var method = GetGenericMethodInstance(targetType, typeof(TReturn), memberName, typeArguments, args);
-                this.Assert(method, args);
-            });
-        }
-
-        public void Assert<T, TReturn>(string memberName, Type[] typeArguments, Occurs occurs, params object[] args)
-        {
-            ProfilerInterceptor.GuardInternal(() =>
-            {
-                var method = GetGenericMethodInstance(typeof(T), typeof(TReturn), memberName, typeArguments);
-                this.Assert(method, occurs, args);
-            });
-        }
-
-        public void Assert<T, TReturn>(string memberName, Type[] typeArguments, params object[] args)
-        {
-            ProfilerInterceptor.GuardInternal(() =>
-            {
-                var method = GetGenericMethodInstance(typeof(T), typeof(TReturn), memberName, typeArguments, args);
-                this.Assert(method, args);
-            });
-        }
-
-
-        public int GetTimesCalled(object target, string memberName, Type[] typeArguments, params object[] args)
-        {
-            return ProfilerInterceptor.GuardInternal(() =>
-            {
-                var method = GetGenericMethodInstance(target, typeof(void), memberName, typeArguments, args);
-                return this.GetTimesCalled(method, args);
-            });
-        }
-
-        public int GetTimesCalled(Type type, string memberName, Type[] typeArguments, params object[] args)
-        {
-            return ProfilerInterceptor.GuardInternal(() =>
-            {
-                var method = GetGenericMethodInstance(type, typeof(void), memberName, typeArguments, args);
-                return this.GetTimesCalled(method, args);
-            });
-        }
-
+		public void Assert<T>(string memberName, Type[] typeArguments, Occurs occurs, params object[] args)
+		{
+			ProfilerInterceptor.GuardInternal(() =>
+			{
+				var method = GetGenericMethodInstance(typeof(T), typeof(void), memberName, typeArguments, args);
+				this.Assert(method, occurs, args);
+			});
+		}
+
+		public void Assert(Type targetType, string memberName, Type[] typeArguments, Occurs occurs, params object[] args)
+		{
+			ProfilerInterceptor.GuardInternal(() =>
+			{
+				var method = GetGenericMethodInstance(targetType, typeof(void), memberName, typeArguments, args);
+				this.Assert(method, occurs, args);
+			});
+		}
+
+		public void Assert<T>(string memberName, Type[] typeArguments, params object[] args)
+		{
+			ProfilerInterceptor.GuardInternal(() =>
+			{
+				var method = GetGenericMethodInstance(typeof(T), typeof(void), memberName, typeArguments, args);
+				this.Assert(method, args);
+			});
+		}
+
+		public void Assert(Type targetType, string memberName, Type[] typeArguments, params object[] args)
+		{
+			ProfilerInterceptor.GuardInternal(() =>
+			{
+				var method = GetGenericMethodInstance(targetType, typeof(void), memberName, typeArguments, args);
+				this.Assert(method, args);
+			});
+		}
+
+		public void Assert<TReturn>(Type targetType, string memberName, Type[] typeArguments, Occurs occurs, params object[] args)
+		{
+			ProfilerInterceptor.GuardInternal(() =>
+			{
+				var method = GetGenericMethodInstance(targetType, typeof(TReturn), memberName, typeArguments, args);
+				this.Assert(method, occurs, args);
+			});
+		}
+
+		public void Assert<TReturn>(Type targetType, string memberName, Type[] typeArguments, params object[] args)
+		{
+			ProfilerInterceptor.GuardInternal(() =>
+			{
+				var method = GetGenericMethodInstance(targetType, typeof(TReturn), memberName, typeArguments, args);
+				this.Assert(method, args);
+			});
+		}
+
+		public void Assert<T, TReturn>(string memberName, Type[] typeArguments, Occurs occurs, params object[] args)
+		{
+			ProfilerInterceptor.GuardInternal(() =>
+			{
+				var method = GetGenericMethodInstance(typeof(T), typeof(TReturn), memberName, typeArguments, args);
+				this.Assert(method, occurs, args);
+			});
+		}
+
+		public void Assert<T, TReturn>(string memberName, Type[] typeArguments, params object[] args)
+		{
+			ProfilerInterceptor.GuardInternal(() =>
+			{
+				var method = GetGenericMethodInstance(typeof(T), typeof(TReturn), memberName, typeArguments, args);
+				this.Assert(method, args);
+			});
+		}
+
+		public int GetTimesCalled(object target, string memberName, Type[] typeArguments, params object[] args)
+		{
+			return ProfilerInterceptor.GuardInternal(() =>
+			{
+				var method = GetGenericMethodInstance(target, typeof(void), memberName, typeArguments, args);
+				return this.GetTimesCalled(method, args);
+			});
+		}
+
+		public int GetTimesCalled(Type type, string memberName, Type[] typeArguments, params object[] args)
+		{
+			return ProfilerInterceptor.GuardInternal(() =>
+			{
+				var method = GetGenericMethodInstance(type, typeof(void), memberName, typeArguments, args);
+				return this.GetTimesCalled(method, args);
+			});
+		}
+
 #endif

-
-        public ActionExpectation Arrange(object target, string memberName, params object[] args)
+		public ActionExpectation Arrange(object target, string memberName, params object[] args)
 		{
 			return ProfilerInterceptor.GuardInternal(() =>
 				{


Removed unnecessary using

Removed unnecessary using

--- Tests/System/Threading/CancellationTokenSourceTest.cs
+++ Tests/System/Threading/CancellationTokenSourceTest.cs
@@ -31,7 +31,6 @@

 using NUnit.Framework;
 using System;
-using System.Diagnostics;
 using System.Threading;
 using Tests.Helpers;


Avoid symbols getting too large in the legend

--- src/Toolkit/Toolkit.Android/UI/Controls/LayerLegend/LayerLegendItemView.cs
+++ src/Toolkit/Toolkit.Android/UI/Controls/LayerLegend/LayerLegendItemView.cs
@@ -37,6 +37,8 @@
             {
                 LayoutParameters = new LayoutParams(LayoutParams.WrapContent, LayoutParams.MatchParent)
             };
+            _symbolDisplay.SetMaxHeight(40);
+            _symbolDisplay.SetMaxWidth(40);
             AddView(_symbolDisplay);

             _textView = new TextView(context)


Increment BloomFilter serialization version

When a BloomFilter is serialized, it includes a serialization format
version number, some other metadata, and a bitarray. Prior to PR #877,
the bitarray portion also included its own serialization format version
number, so the data serialized was Format 1 of the BloomFilter
containing Format 0 of the bitarray. PR #877 removed the (redundant)
serialization format version number from the bitarray portion but did
not also version the BloomFilter's serialization format, causing the
previous bitarray version number (0) to be read as part of the bitarray
itself. We believe this would sometimes lead to extremely long Find
References calls as the BloomFilter continually tried and failed to
understand the data in the bitarray.

--- src/Workspaces/Core/Portable/Shared/Utilities/BloomFilter_Serialization.cs
+++ src/Workspaces/Core/Portable/Shared/Utilities/BloomFilter_Serialization.cs
@@ -8,7 +8,7 @@
 {
     internal partial class BloomFilter : IObjectWritable
     {
-        private const string SerializationFormat = "1";
+        private const string SerializationFormat = "2";

         public void WriteTo(ObjectWriter writer)
         {


Fix checkbox sounds playing too often

Fix checkbox sounds playing too often

--- osu.Game/Graphics/UserInterface/OsuCheckbox.cs
+++ osu.Game/Graphics/UserInterface/OsuCheckbox.cs
@@ -72,17 +72,11 @@
             Current.DisabledChanged += disabled => labelText.Alpha = Nub.Alpha = disabled ? 0.3f : 1;
         }

-        protected override void LoadComplete()
+        [BackgroundDependencyLoader]
+        private void load(AudioManager audio)
         {
-            base.LoadComplete();
-
-            Current.ValueChanged += enabled =>
-            {
-                if (enabled.NewValue)
-                    sampleChecked?.Play();
-                else
-                    sampleUnchecked?.Play();
-            };
+            sampleChecked = audio.Samples.Get(@"UI/check-on");
+            sampleUnchecked = audio.Samples.Get(@"UI/check-off");
         }

         protected override bool OnHover(HoverEvent e)
@@ -99,11 +93,13 @@
             base.OnHoverLost(e);
         }

-        [BackgroundDependencyLoader]
-        private void load(AudioManager audio)
+        protected override void OnUserChange(bool value)
         {
-            sampleChecked = audio.Samples.Get(@"UI/check-on");
-            sampleUnchecked = audio.Samples.Get(@"UI/check-off");
+            base.OnUserChange(value);
+            if (value)
+                sampleChecked?.Play();
+            else
+                sampleUnchecked?.Play();
         }
     }
 }


Add back `LoadComplete` override

Add back `LoadComplete` override

--- osu.Game/Overlays/RestoreDefaultValueButton.cs
+++ osu.Game/Overlays/RestoreDefaultValueButton.cs
@@ -78,6 +78,12 @@
             };
         }

+        protected override void LoadComplete()
+        {
+            base.LoadComplete();
+            UpdateState();
+        }
+
         public LocalisableString TooltipText => "revert to default";

         protected override bool OnHover(HoverEvent e)


Change comment

Change comment


fixed bug with tag submission embed

fixed bug with tag submission embed

--- OutcastBot/Commands/TagCommands.cs
+++ OutcastBot/Commands/TagCommands.cs
@@ -64,7 +64,7 @@

             var embed = new DiscordEmbedBuilder { Timestamp = context.Message.Timestamp };

-            embed.WithAuthor($"{context.Member.Nickname}", "", context.Member.AvatarUrl);
+            embed.WithAuthor($"{context.User.Username}", "", context.Member.AvatarUrl);
             embed.AddField("Key", $"`{key}`");
             embed.AddField("Value", value);


Added another Date parser unit test

Added another Date parser unit test


fix current working directory

fix current working directory

--- VSIXProject2019/MyPackage.cs
+++ VSIXProject2019/MyPackage.cs
@@ -1,4 +1,4 @@
-using System;
+using System;
 using System.ComponentModel.Design;
 using System.Diagnostics;
 using System.IO;
@@ -132,15 +132,16 @@
         {
             var solutionFileName = dte.Solution?.FullName;

-            Debug.WriteLine("GT === Open repository: " + solutionFileName);
-
             if (!string.IsNullOrEmpty(solutionFileName))
             {
-                CurrentGitWorkingDirectory = Path.GetDirectoryName(solutionFileName);
+                CurrentGitWorkingDirectory = File.Exists(solutionFileName) ? Path.GetDirectoryName(solutionFileName) : solutionFileName;
                 tracker = new GitTracker(CurrentGitWorkingDirectory);
+                if (tracker.Repository.IsGit) CurrentGitWorkingDirectory = tracker.Repository.WorkingDirectory;
                 tracker.Changed += (tracker) => Tracker_Changed(tracker);
                 Tracker_Changed(tracker);
             }
+
+            Debug.WriteLine("GT === Open repository: " + CurrentGitWorkingDirectory);
         }

         private void CloseRepository()


added fix for (Unspecified)..(Unspecified) multiplicities

--- MagicdrawMigrator/Correctors/AssociationCorrector.cs
+++ MagicdrawMigrator/Correctors/AssociationCorrector.cs
@@ -38,6 +38,11 @@
 				{
 					//fix navigability
 					this.fixNavigability(eaAssociation);
+					//correct the "(Unspecified)..(Unspecified)" multiplicities in the database
+					string sqlCorrectUnspecified = "update t_connector set DestCard = null where DestCard like '%unspecified%'";
+					this.model.executeSQL(sqlCorrectUnspecified);
+					sqlCorrectUnspecified = "update t_connector set SourceCard = null where SourceCard like '%unspecified%'";
+					this.model.executeSQL(sqlCorrectUnspecified);
 					//check first if the multiplicity is to be corrected
 					if (!mdAssociation.source.lowerBound.Equals(eaAssociation.sourceEnd.lower.ToString())
 					    || !mdAssociation.source.upperBound.Equals(eaAssociation.sourceEnd.upper.ToString())


Resolved Issue 1188

Resolved Issue 1188

git-svn-id: ed6839b4d5af4969af2261ae7d4127c2f820c99f@29174 2abf6ff4-378a-4344-b6f7-2bcd8b316ba9

--- Main/MouseKeyboardActivityMonitor/KeyEventArgsExt.cs
+++ Main/MouseKeyboardActivityMonitor/KeyEventArgsExt.cs
@@ -118,23 +118,26 @@
         // Check for Keys.Control instead
         // Same for Shift and Alt(Menu)
         // See more at http://www.tech-archive.net/Archive/DotNet/microsoft.public.dotnet.framework.windowsforms/2008-04/msg00127.html #
+
+        // A shortcut to make life easier
+        private static bool CheckModifier( int vKey )
+        {
+            return (KeyboardNativeMethods.GetKeyState(vKey) & 0x8000) > 0;
+        }
+
         private static Keys AppendModifierStates( Keys keyData )
         {
             // Is Control being held down?
-            bool control = ( ( KeyboardNativeMethods.GetKeyState( KeyboardNativeMethods.VK_LCONTROL ) & 0x80 ) != 0 ) ||
-                           ( ( KeyboardNativeMethods.GetKeyState( KeyboardNativeMethods.VK_RCONTROL ) & 0x80 ) != 0 );
-
+            bool control = CheckModifier(KeyboardNativeMethods.VK_CONTROL);
             // Is Shift being held down?
-            bool shift = ( ( KeyboardNativeMethods.GetKeyState( KeyboardNativeMethods.VK_LSHIFT ) & 0x80 ) != 0 ) ||
-                         ( ( KeyboardNativeMethods.GetKeyState( KeyboardNativeMethods.VK_RSHIFT ) & 0x80 ) != 0 );
-
+            bool shift = CheckModifier(KeyboardNativeMethods.VK_SHIFT);
             // Is Alt being held down?
-            bool alt = ( ( KeyboardNativeMethods.GetKeyState( KeyboardNativeMethods.VK_LMENU ) & 0x80 ) != 0 ) ||
-                       ( ( KeyboardNativeMethods.GetKeyState( KeyboardNativeMethods.VK_RMENU ) & 0x80 ) != 0 );
-
+            bool alt = CheckModifier(KeyboardNativeMethods.VK_MENU);
+
             // Windows keys
-            bool winL = ( ( KeyboardNativeMethods.GetKeyState( KeyboardNativeMethods.VK_LWIN ) & 0x80 ) != 0 );
-            bool winR = ( ( KeyboardNativeMethods.GetKeyState( KeyboardNativeMethods.VK_RWIN ) & 0x80 ) != 0 );
+            // # combine LWin and RWin key with other keys will potentially corrupt the data
+            // notable F5 | Keys.LWin == F12, see https://globalmousekeyhook.codeplex.com/workitem/1188
+            // and the KeyEventArgs.KeyData don't recognize combined data either

             // Function (Fn) key
             // # CANNOT determine state due to conversion inside keyboard
@@ -143,9 +146,7 @@
             return keyData |
                 ( control ? Keys.Control : Keys.None ) |
                 ( shift ? Keys.Shift : Keys.None ) |
-                ( alt ? Keys.Alt : Keys.None ) |
-                ( winL ? Keys.LWin : Keys.None ) |
-                ( winR ? Keys.RWin : Keys.None );
+                ( alt ? Keys.Alt : Keys.None );
         }

         /// <summary>


fixing test

fixing test

--- MatterControlLib/DesignTools/Sheets/SheetObject3D.cs
+++ MatterControlLib/DesignTools/Sheets/SheetObject3D.cs
@@ -492,7 +492,7 @@
 				}

 				// could not find a sheet, try to evaluate the expression directly
-				var evaluator = new Expression(inputExpression.ToLower());
+				var evaluator = new Expression(inputExpression.Substring(1).ToLower());
 				if (evaluator.checkSyntax())
 				{
 					Debug.WriteLine(evaluator.getErrorMessage());


Arguments can now have a position that will be used to identify values when no name is given

--- DotArgs/CommandLineArgs.cs
+++ DotArgs/CommandLineArgs.cs
@@ -97,6 +97,7 @@
 			DefaultValue = defaultValue;
 			IsRequired = required;
 			SupportsMultipleValues = false;
+			Position = position;

 			if( IsRequired )
 			{
@@ -395,14 +396,24 @@
 			{
 				string arg = GetArgName( parts[i] );
 				if( !IsArgumentName( parts[i] ) )
-				if( !IsArgumentName( parts[i] ) && DefaultArgument != null )
-				{
-					if( !handledDefault || ignoreAlreadyHandled )
-					{
-						parts[i] = string.Format( "/{0}={1}", DefaultArgument, arg );
-						arg = DefaultArgument;
-
-						handledDefault = true;
+				{
+					Argument posArgument = GetArgumentForPosition( i );
+					if( posArgument != null )
+					{
+						string argName = GetNameForArgument( posArgument );
+
+						parts[i] = string.Format( "/{0}={1}", argName, arg );
+						arg = argName;
+					}
+					else if( DefaultArgument != null )
+					{
+						if( !handledDefault || ignoreAlreadyHandled )
+						{
+							parts[i] = string.Format( "/{0}={1}", DefaultArgument, arg );
+							arg = DefaultArgument;
+
+							handledDefault = true;
+						}
 					}
 				}

@@ -558,6 +569,11 @@
 			return arg.Substring( 0, end );
 		}

+		private Argument GetArgumentForPosition( int position )
+		{
+			return Arguments.Values.FirstOrDefault( a => a.Position.HasValue && a.Position.Value == position );
+		}
+
 		private string GetArgumentInfo( Argument arg )
 		{
 			string str = "";
@@ -577,6 +593,19 @@
 			}

 			return str;
+		}
+
+		private string GetNameForArgument( Argument arg )
+		{
+			foreach( var kvp in Arguments )
+			{
+				if( kvp.Value == arg )
+				{
+					return kvp.Key;
+				}
+			}
+
+			return null;
 		}

 		private bool IsArgumentName( string arg )


Fix fuel scoop merging

Fix fuel scoop merging

Individual fuel scoop events report slightly over
5.0t

--- EDDiscovery/HistoryList.cs
+++ EDDiscovery/HistoryList.cs
@@ -1059,7 +1059,7 @@
                 JournalFuelScoop scoop = je as JournalFuelScoop;
                 if (scoop != null)
                 {
-                    if (scoop.Scooped == 5.0)
+                    if (scoop.Scooped >= 5.0)
                     {
                         if (FuelScoopAccum == null)
                         {
@@ -1272,10 +1272,9 @@
             using (SQLiteConnectionSystem conn = new SQLiteConnectionSystem())
             {
                 HistoryEntry prev = null;
-                HistoryList hlist = new HistoryList();
                 foreach (EliteDangerous.JournalEntry inje in jlist)
                 {
-                    foreach (JournalEntry je in hlist.ProcessJournalEntry(inje))
+                    foreach (JournalEntry je in hist.ProcessJournalEntry(inje))
                     {
                         bool journalupdate = false;
                         HistoryEntry he = HistoryEntry.FromJournalEntry(je, prev, CheckEdsm, out journalupdate, conn, cmdr);


[trunk] Allow overriding the dynamic library leafname in Xcode

--- packages/C/dev/XCodeBuilder/CDynamicLibrary.cs
+++ packages/C/dev/XCodeBuilder/CDynamicLibrary.cs
@@ -65,7 +65,7 @@
             XcodeProjectProcessor.ToXcodeProject.Execute(moduleToBuild.Options, project, data, buildConfiguration, target);

             buildConfiguration.Options["DYLIB_MAJOR_VERSION"].AddUnique((options as C.ILinkerOptions).MajorVersion.ToString());
-            var productName = System.String.Format("$(TARGET_NAME).$(DYLIB_MAJOR_VERSION)");
+            var productName = System.String.Format("{0}.$(DYLIB_MAJOR_VERSION)", options.OutputName);
             buildConfiguration.Options["PRODUCT_NAME"].AddUnique(productName);

             // Xcode 4 complains this is missing for target configurations


Remove sample code

Remove sample code

--- Establishment/Establish.cs
+++ Establishment/Establish.cs
@@ -12,11 +12,6 @@

         static Establish() {
             _throwExceptionOnFailure = true;
-
-            // Establish.ForObject<T>(string).IsNotNull().IsNotEmpty();
-            // Establish.ForObject<T>(int).IsNotZero().IsPositive().IsNotMax().IsLessThan(15);
-            // if (Establish.ForObject(long).IsNotZero().IsLessThan(10L).HasException) { /* do things */ }
-            Establish.For("").IsNotNullOrEmpty().HasMaximumLength(10).HasMinimumLength(1);
         }

         public static BooleanEstablisher For(bool input) {


Layer Count manipulation on creation with or without mate.

--- EvoSim/Objects/Creature.cs
+++ EvoSim/Objects/Creature.cs
@@ -484,6 +484,11 @@
                 AddFeeler();
             }

+            if (Simulation.RandomFloat() < Simulation.SimulationConfiguration.AddRemoveLayerPercentage)
+            {
+                MutateHiddenLayer();
+            }
+
             if (Simulation.RandomFloat() < 0.01f && AmountOfHidden < 40)
             {
                 AddHiddenNeuron();


- Experimental Branch Merge #208

- Experimental Branch Merge #208

git-svn-id: 61c3ae23f3a6520e9bc357b51591209af2ede9d8@1110 45b04e34-05f1-4d87-a130-40a8491d5c8b

--- Mosa/Platforms/x86/LongOperandTransformationStage.cs
+++ Mosa/Platforms/x86/LongOperandTransformationStage.cs
@@ -744,9 +744,6 @@
 		/// <param name="ctx">The context.</param>
 		private void ExpandUDiv(Context ctx)
 		{
-			Context[] newBlocks = CreateEmptyBlockContexts(10);
-			Context nextBlock = SplitContext(ctx);
-
 			SigType U4 = new SigType(CilElementType.U4);
 			SigType U1 = new SigType(CilElementType.U1);

@@ -761,6 +758,9 @@
 			RegisterOperand edi = new RegisterOperand(U4, GeneralPurposeRegister.EDI);
 			RegisterOperand esi = new RegisterOperand(U4, GeneralPurposeRegister.ESI);

+            Context[] newBlocks = CreateEmptyBlockContexts(10);
+            Context nextBlock = SplitContext(ctx);
+
 			newBlocks[0].InsertInstructionAfter(IR.Instruction.PushInstruction, edi);
 			newBlocks[0].InsertInstructionAfter(IR.Instruction.PushInstruction, esi);
 			newBlocks[0].InsertInstructionAfter(IR.Instruction.PushInstruction, ebx);
@@ -842,22 +842,22 @@
 		/// <param name="ctx">The context.</param>
 		private void ExpandURem(Context ctx)
 		{
-			Context[] newBlocks = CreateEmptyBlockContexts(10);
-			Context nextBlock = SplitContext(ctx);
-
 			SigType U4 = new SigType(CilElementType.U4);
 			SigType U1 = new SigType(CilElementType.U1);

 			Operand op0H, op1H, op2H, op0L, op1L, op2L;
 			SplitLongOperand(ctx.Result, out op0L, out op0H);
-			SplitLongOperand(ctx.Operand2, out op1L, out op1H);
-			SplitLongOperand(ctx.Operand3, out op2L, out op2H);
+			SplitLongOperand(ctx.Operand1, out op1L, out op1H);
+			SplitLongOperand(ctx.Operand2, out op2L, out op2H);
 			RegisterOperand eax = new RegisterOperand(U4, GeneralPurposeRegister.EAX);
 			RegisterOperand ebx = new RegisterOperand(U4, GeneralPurposeRegister.EBX);
 			RegisterOperand edx = new RegisterOperand(U4, GeneralPurposeRegister.EDX);
 			RegisterOperand ecx = new RegisterOperand(U4, GeneralPurposeRegister.ECX);
 			RegisterOperand edi = new RegisterOperand(U4, GeneralPurposeRegister.EDI);
 			RegisterOperand esi = new RegisterOperand(U4, GeneralPurposeRegister.ESI);
+
+            Context[] newBlocks = CreateEmptyBlockContexts(10);
+            Context nextBlock = SplitContext(ctx);

 			// Determine sign of the result (edi = 0 if result is positive, non-zero
 			// otherwise) and make operands positive.
@@ -1614,8 +1614,8 @@
 		/// <param name="ctx">The context.</param>
 		private void ExpandComparison(Context ctx)
 		{
-			Operand op0 = ctx.Operand1;
-			Operand op1 = ctx.Operand2;
+			Operand op0 = ctx.Result;
+			Operand op1 = ctx.Operand1;
 			Operand op2 = ctx.Operand2;

 			Debug.Assert(op1 != null && op2 != null, @"IntegerCompareInstruction operand not memory!");
@@ -1628,6 +1628,7 @@
 			SplitLongOperand(op2, out op2L, out op2H);

 			Context[] newBlocks = CreateEmptyBlockContexts(5);
+		    IR.ConditionCode conditionCode = ctx.ConditionCode;
 			Context nextBlock = SplitContext(ctx);

 			Debug.Assert(nextBlock != null, @"No follower block?");
@@ -1638,13 +1639,13 @@
 			newBlocks[0].InsertInstructionAfter(IR.Instruction.JmpInstruction, newBlocks[1].BasicBlock);

 			// Branch if check already gave results
-			newBlocks[1].InsertInstructionAfter(IR.Instruction.BranchInstruction, ctx.ConditionCode, newBlocks[3].BasicBlock);
+            newBlocks[1].InsertInstructionAfter(IR.Instruction.BranchInstruction, conditionCode, newBlocks[3].BasicBlock);
 			newBlocks[1].InsertInstructionAfter(IR.Instruction.JmpInstruction, newBlocks[4].BasicBlock);

 			// Compare low dwords
 			newBlocks[2].InsertInstructionAfter(CPUx86.Instruction.CmpInstruction, op1L, op2L);
 			// Set the unsigned result...
-			newBlocks[2].InsertInstructionAfter(IR.Instruction.BranchInstruction, GetUnsignedConditionCode(ctx.ConditionCode), newBlocks[3].BasicBlock);
+            newBlocks[2].InsertInstructionAfter(IR.Instruction.BranchInstruction, GetUnsignedConditionCode(conditionCode), newBlocks[3].BasicBlock);
 			newBlocks[2].InsertInstructionAfter(IR.Instruction.JmpInstruction, newBlocks[4].BasicBlock);

 			// Success
@@ -1849,7 +1850,7 @@
 		{
 			Operand op0 = ctx.Operand1;
 			if (op0.StackType == StackTypeCode.Int64)
-				ExpandUDiv(ctx);
+				    ExpandUDiv(ctx);
 		}

 		/// <summary>


init Globals by default

init Globals by default

--- Pluton/PluginLoaders/BasePlugin.cs
+++ Pluton/PluginLoaders/BasePlugin.cs
@@ -113,6 +113,7 @@
         {
             Name = name;
             RootDir = rootdir;
+            Globals = new List<string>();

             Timers = new Dictionary<string, TimedEvent>();
             ParallelTimers = new List<TimedEvent>();


Running into some errors (IO exception - can't access file because it's in use... but it's not open or anything)

--- Example2DTileGame/SSMap.cs
+++ Example2DTileGame/SSMap.cs
@@ -140,7 +140,7 @@
                 mapHeight = loadHeightMap();
                 textureIDs = loadTextureData(); // Load the texture IDs
                 //Console.WriteLine(textureIDs[0]); testing...
-
+
             }

             // If we don't already have a saved height map -> make a new map
@@ -708,32 +708,44 @@
         /// <param name="scene"></param>
         public void loadMapObjects(SSScene scene) {

-            XmlReaderSettings settings = new XmlReaderSettings();
-            settings.IgnoreWhitespace = true;
-            using (XmlReader xmlReader = XmlReader.Create(@"../objectSave.xml", settings)) {
-
-                while (xmlReader.Read()) {
-
-                    switch (xmlReader.Name) {
-                        case "Type" :
-                            string src = xmlReader.GetAttribute("context");
-                            string filename = xmlReader.GetAttribute("filename");
-
-                            Console.WriteLine(src + " - " + filename);
-                            break;
-                        case "Position" :
-                            float x = float.Parse(xmlReader.GetAttribute("x"));
-                            float y = float.Parse(xmlReader.GetAttribute("y"));
-                            float z = float.Parse(xmlReader.GetAttribute("z"));
-
-                            Console.WriteLine("X {0}; Y {1}; Z {2}", x, y, z);
-                            break;
+            if (File.Exists(@"../objectSave.xml")) {
+                float x = 0, y = 0, z = 0;
+                String src = null, filename = null;
+                XmlReaderSettings settings = new XmlReaderSettings();
+                settings.IgnoreWhitespace = true;
+                using (XmlReader xmlReader = XmlReader.Create(@"../objectSave.xml", settings)) {
+
+                    while (xmlReader.Read()) {
+
+                        switch (xmlReader.Name) {
+
+                            case "Type":
+                                src = xmlReader.GetAttribute("context");
+                                filename = xmlReader.GetAttribute("filename");
+
+                                Console.WriteLine(src + " - " + filename);
+                                break;
+                            case "Position":
+                                x = float.Parse(xmlReader.GetAttribute("x"));
+                                y = float.Parse(xmlReader.GetAttribute("y"));
+                                z = float.Parse(xmlReader.GetAttribute("z"));
+
+                                Console.WriteLine("X {0}; Y {1}; Z {2}", x, y, z);
+                                break;
+
+                        }
+                        if (!(src == null && filename == null)) {
+                            Vector3 tempPos = new Vector3(x, y, z);
+                            addPlacedObject(src, filename, scene, tempPos);
+                        }

                     }
-
-                }
-
-            }
+                }
+
+
+            } else if (!File.Exists(@"../objectSave.xml")) {
+                return; // Do nothing
+            }
         }

         /// <summary>


GremlinqConfigurationSectionTests: Review.

--- test/ExRam.Gremlinq.Core.AspNet.Tests/GremlinqConfigurationSectionTests.cs
+++ test/ExRam.Gremlinq.Core.AspNet.Tests/GremlinqConfigurationSectionTests.cs
@@ -7,13 +7,9 @@
 {
     public class GremlinqConfigurationSectionTests
     {
+        private readonly IGremlinqConfigurationSection _section;
+
         public GremlinqConfigurationSectionTests() : base()
-        {
-
-        }
-
-        [Fact]
-        public void Indexer_can_be_null()
         {
             var serviceCollection = new ServiceCollection()
                 .AddSingleton<IConfiguration>(new ConfigurationBuilder()
@@ -22,10 +18,14 @@
                 .AddGremlinq(s => { })
                 .BuildServiceProvider();

-            var section = serviceCollection
+            _section = serviceCollection
                 .GetRequiredService<IGremlinqConfigurationSection>();
+        }

-            section["Key"]
+        [Fact]
+        public void Indexer_can_be_null()
+        {
+            _section["Key"]
                 .Should()
                 .BeNull();
         }


Fix bad grammar.

Fix bad grammar.

--- tests/Avalonia.Controls.UnitTests/Primitives/SelectingItemsControlTests.cs
+++ tests/Avalonia.Controls.UnitTests/Primitives/SelectingItemsControlTests.cs
@@ -188,7 +188,7 @@
         }

         [Fact]
-        public void Setting_SelectedIndex_Before_Initialize_Should_Retain()
+        public void Setting_SelectedIndex_Before_Initialize_Should_Retain_Selection()
         {
             var listBox = new ListBox
             {
@@ -245,7 +245,7 @@

         [Fact]
-        public void Setting_SelectedItems_Before_Initialize_Should_Retain()
+        public void Setting_SelectedItems_Before_Initialize_Should_Retain_Selection()
         {
             var listBox = new ListBox
             {


updated benchmarks to include normal double.ToString()

--- tests/ServiceStack.Redis.Tests/Benchmarks/DoubleSerializationBenchmarks.cs
+++ tests/ServiceStack.Redis.Tests/Benchmarks/DoubleSerializationBenchmarks.cs
@@ -25,9 +25,20 @@
 			var initalVal = 0.3333333333333333d;

 			var results = new string[times];
-
+
 			ResetGC();
 			var sw = Stopwatch.StartNew();
+
+			for (var i = 0; i < times; i++)
+			{
+				results[i] = (initalVal + i).ToString();
+			}
+
+			Console.WriteLine("double.ToString(): Completed in ms: " + sw.ElapsedMilliseconds);
+			//PrintLastValues(results, 100);
+
+			ResetGC();
+			sw = Stopwatch.StartNew();

 			for (var i = 0; i < times; i++)
 			{


Highlight keys in test scene on pressing

--- osu.Framework.Tests/Visual/Input/TestSceneReadableKeyCombinationProvider.cs
+++ osu.Framework.Tests/Visual/Input/TestSceneReadableKeyCombinationProvider.cs
@@ -137,6 +137,22 @@
                 updateText();
             }

+            protected override bool OnKeyDown(KeyDownEvent e)
+            {
+                if (keyCombination.IsPressed(new KeyCombination(KeyCombination.FromKey(e.Key)), KeyCombinationMatchingMode.Any))
+                    box.Colour = Color4.Navy;
+
+                return base.OnKeyDown(e);
+            }
+
+            protected override void OnKeyUp(KeyUpEvent e)
+            {
+                if (keyCombination.IsPressed(new KeyCombination(KeyCombination.FromKey(e.Key)), KeyCombinationMatchingMode.Any))
+                    box.Colour = Color4.DarkGray;
+
+                base.OnKeyUp(e);
+            }
+
             private void updateText()
             {
                 string newText = readableKeyCombinationProvider.GetReadableString(keyCombination);


Updated the Weight Sensor Values to Pounds

--- WiiBalanceWalker/FormMain.cs
+++ WiiBalanceWalker/FormMain.cs
@@ -37,7 +37,7 @@

         public FormMain()
         {
-            InitializeComponent();
+            InitializeComponent(); //Starts the program
         }

         private void FormMain_Load(object sender, EventArgs e)
@@ -72,6 +72,9 @@

             checkBox_EnableJoystick.Checked = Properties.Settings.Default.EnableJoystick;
         }
+        /*
+         So the next 4 classes are (1) Left and Right (2) Front and Back (3) Left and Right Modifier and (4) Front and Back Modifier. It has a save function put in place.
+        */

         private void numericUpDown_TLR_ValueChanged(object sender, EventArgs e)
         {
@@ -195,12 +198,12 @@

             // Get the current raw sensor KG values.

-            var rwWeight      = wiiDevice.WiimoteState.BalanceBoardState.WeightKg;
-
-            var rwTopLeft     = wiiDevice.WiimoteState.BalanceBoardState.SensorValuesKg.TopLeft;
-            var rwTopRight    = wiiDevice.WiimoteState.BalanceBoardState.SensorValuesKg.TopRight;
-            var rwBottomLeft  = wiiDevice.WiimoteState.BalanceBoardState.SensorValuesKg.BottomLeft;
-            var rwBottomRight = wiiDevice.WiimoteState.BalanceBoardState.SensorValuesKg.BottomRight;
+            var rwWeight      = wiiDevice.WiimoteState.BalanceBoardState.WeightLb;
+
+            var rwTopLeft     = wiiDevice.WiimoteState.BalanceBoardState.SensorValuesLb.TopLeft;
+            var rwTopRight    = wiiDevice.WiimoteState.BalanceBoardState.SensorValuesLb.TopRight;
+            var rwBottomLeft  = wiiDevice.WiimoteState.BalanceBoardState.SensorValuesLb.BottomLeft;
+            var rwBottomRight = wiiDevice.WiimoteState.BalanceBoardState.SensorValuesLb.BottomRight;

             // The alternative .SensorValuesRaw is not adjusted with 17KG and 34KG calibration data, but does that make for better or worse control?
             //


updated

updated

--- Wox/Storage/TopMostRecord.cs
+++ Wox/Storage/TopMostRecord.cs
@@ -1,8 +1,6 @@
 using System.Collections.Generic;
 using System.Linq;
-using System.Runtime.InteropServices;
 using Newtonsoft.Json;
-using Wox.Infrastructure.Storage;
 using Wox.Plugin;

 namespace Wox.Storage


Instantiate list using IList.

Instantiate list using IList.

--- AggregateMetrics/AggregateMetrics/AzureWebApp/PerformanceCollectorModule.cs
+++ AggregateMetrics/AggregateMetrics/AzureWebApp/PerformanceCollectorModule.cs
@@ -11,6 +11,11 @@
     /// </summary>
     public class PerformanceCollectorModule : ITelemetryModule
     {
+        public PerformanceCollectorModule()
+        {
+            Counters = new List<PerformanceCounterCollectionRequest>();
+        }
+
         private readonly List<string> defaultCounters = new List<string>()
                                                             {
                                                                 @"\Process(??APP_WIN32_PROC??)\% Processor Time",
@@ -24,7 +29,7 @@
                                                                 @"\Processor(_Total)\% Processor Time"
                                                             };

-        public List<PerformanceCounterCollectionRequest> Counters { get; private set; }
+        public IList<PerformanceCounterCollectionRequest> Counters { get; private set; }

         /// <summary>
         /// Initializes the default performance counters.
@@ -40,11 +45,12 @@
                     ICounterValue c = factory.GetCounter(counter);
                     configuration.RegisterCounter(c);
                 }
-                catch (ArgumentException e)
+                catch
                 {
-                    throw e;
+                    // TODO: Add tracing.
                 }
             }
+

             foreach (var counter in Counters)
             {
@@ -53,9 +59,9 @@
                     ICounterValue c = factory.GetCounter(counter.PerformanceCounter);
                     configuration.RegisterCounter(c);
                 }
-                catch (ArgumentException e)
+                catch
                 {
-                    throw e;
+                    // TODO: Add tracing.
                 }
             }
         }


refactor to match app config

refactor to match app config

--- Applications/Appleseed.Base.Alerts.Console/Appleseed.Base.Alerts/Program.cs
+++ Applications/Appleseed.Base.Alerts.Console/Appleseed.Base.Alerts/Program.cs
@@ -28,6 +28,7 @@
         static string Mode = System.Configuration.ConfigurationManager.AppSettings["Mode"];
         static string TestEmail = System.Configuration.ConfigurationManager.AppSettings["TestEmail"];
         static string TestSearchQuery = System.Configuration.ConfigurationManager.AppSettings["TestSearchQuery"];
+        static string TestSearchLink = System.Configuration.ConfigurationManager.AppSettings["TestSearchLink"];

         static string SolrURL = System.Configuration.ConfigurationManager.AppSettings["SolrURL"];
         static string APIKey = System.Configuration.ConfigurationManager.AppSettings["SendGridAPIKey"];
@@ -39,7 +40,7 @@
         static string MailSchedule = System.Configuration.ConfigurationManager.AppSettings["MailSchedule"];

         static string SiteSearchLink = System.Configuration.ConfigurationManager.AppSettings["SiteSearchLink"];
-        static string TestSearchLink = System.Configuration.ConfigurationManager.AppSettings["TestSearchLink"];
+

         static string RefreshQuery = System.Configuration.ConfigurationManager.AppSettings["RefreshQuery"];


Making case unconditional

Making case unconditional

--- AspNetCore.Authentication.WsFederation/WsFederationAuthenticationHandler.cs
+++ AspNetCore.Authentication.WsFederation/WsFederationAuthenticationHandler.cs
@@ -33,12 +33,8 @@
             // Allow login to be constrained to a specific path.
             if (Options.CallbackPath.HasValue && Options.CallbackPath != Request.PathBase + Request.Path)
             {
-                if (Options.SkipUnrecognizedRequests)
-                {
-                    // Not for us?
-                    return AuthenticateResult.Skip();
-                }
-                return AuthenticateResult.Fail("Not for us");
+                // Not for us.
+                return AuthenticateResult.Skip();
             }

             WsFederationMessage wsFederationMessage = null;


fixing bug where GroupNoticeData.GroupID would always be UUID.Zero

--- Aurora/Services/DataService/Connectors/Local/LocalGroupsServiceConnector.cs
+++ Aurora/Services/DataService/Connectors/Local/LocalGroupsServiceConnector.cs
@@ -1486,6 +1486,7 @@

             GroupNoticeData GND = new GroupNoticeData
             {
+                GroupID = UUID.Parse(notice[0]),
                 NoticeID = noticeID,
                 Timestamp = uint.Parse(notice[1]),
                 FromName = notice[2],


Added Acronyms

Added Acronyms

--- AzureAuthenticationSample/AzureAuthenticationSample/AuthenticationHelper.cs
+++ AzureAuthenticationSample/AzureAuthenticationSample/AuthenticationHelper.cs
@@ -20,7 +20,7 @@
     public class AuthenticationHelper : IAuthenticationHelper
     {
         /// <summary>
-        /// Method 1 - Fetches the Azure Authentication Token From Azure Active Directory by Prompting the end user for authentication credentials
+        /// Method 1 - Fetches the Azure Authentication Token From Azure Active Directory (AAD) by Prompting the end user for authentication credentials
         /// Note 1: This is the only authentication method which requires manual user intervention.
         /// Note 2: For this to work follow the instructions in this link and create a Service Principal before executing this method:
         /// https://azure.microsoft.com/en-us/documentation/articles/resource-group-create-service-principal-portal/
@@ -49,7 +49,7 @@
         }

         /// <summary>
-        /// Method 2 - Fetches the Azure Authentication Token From Azure Active Directory using credentials
+        /// Method 2 - Fetches the Azure Authentication Token From Azure Active Directory (AAD) using credentials
         /// Note: For this method to work follow the section "Authenticate with password - PowerShell" from the below URL
         /// https://azure.microsoft.com/en-us/documentation/articles/resource-group-authenticate-service-principal/
         /// </summary>
@@ -83,7 +83,7 @@
         }

         /// <summary>
-        /// Method 3 - Fetches the Azure Authentication Token From Azure Active Directory using a Certificate
+        /// Method 3 - Fetches the Azure Authentication Token From Azure Active Directory (AAD) using a Certificate
         /// Note: For this method to work follow the section "Authenticate with certificate - PowerShell" from the below URL
         /// https://azure.microsoft.com/en-us/documentation/articles/resource-group-authenticate-service-principal/
         /// </summary>


Update PercentileComparisonGenerator.cs

Update PercentileComparisonGenerator.cs

Reduced the number of converting operations by using double earlier on instead of TimeSpan.

--- LiveSplit/LiveSplit.Core/Model/Comparisons/PercentileComparisonGenerator.cs
+++ LiveSplit/LiveSplit.Core/Model/Comparisons/PercentileComparisonGenerator.cs
@@ -23,11 +23,24 @@
             return Math.Pow(Weight, count - index - 1);
         }

+        protected double ReWeight(double a, double b, double c)
+        {
+            return (a - b) / c;
+        }
+
+        protected double Calculate(double perc, double Value1, double Key1, double Value2, double Key2)
+        {
+            var mult = 1 / (Key1 - Key2);
+            var percDn = (Key1 - perc) * mult * Value2;
+            var percUp = (perc - Key2) * mult * Value1;
+            return percUp + percDn;
+        }
+
         public void Generate(TimingMethod method)
         {
-            var allHistory = new List<List<TimeSpan>>();
+            var allHistory = new List<List<double>>();
             foreach (var segment in Run)
-                allHistory.Add(new List<TimeSpan>());
+                allHistory.Add(new List<double>());
             for (var ind = 1; ind <= Run.AttemptHistory.Count; ind++)
             {
                 var ignoreNextHistory = false;
@@ -40,7 +53,7 @@
                             ignoreNextHistory = true;
                         else if (!ignoreNextHistory)
                         {
-                            allHistory[Run.IndexOf(segment)].Add(history.Time[method].Value);
+                            allHistory[Run.IndexOf(segment)].Add(history.Time[method].Value.Ticks);
                         }
                         else ignoreNextHistory = false;
                     }
@@ -48,7 +61,7 @@
                 }
             }

-            var weightedLists = new List<List<KeyValuePair<double, TimeSpan>>>();
+            var weightedLists = new List<List<KeyValuePair<double, double>>>();
             var forceMedian = false;

             foreach (var curList in allHistory)
@@ -58,8 +71,8 @@
                     forceMedian = true;
                     break;
                 }
-                var tempList = curList.Select((x, i) => new KeyValuePair<double, TimeSpan>(GetWeight(i, curList.Count), x)).ToList();
-                var weightedList = new List<KeyValuePair<double, TimeSpan>>();
+                var tempList = curList.Select((x, i) => new KeyValuePair<double, double>(GetWeight(i, curList.Count), x)).ToList();
+                var weightedList = new List<KeyValuePair<double, double>>();
                 if (tempList.Count > 1)
                 {
                     tempList = tempList.OrderBy(x => x.Value).ToList();
@@ -70,11 +83,11 @@
                     foreach (var value in tempList)
                     {
                         aggWeight += value.Key;
-                        weightedList.Add(new KeyValuePair<double, TimeSpan>((aggWeight - smallestWeight) / rangeWeight, value.Value));
+                        weightedList.Add(new KeyValuePair<double, double>(ReWeight(aggWeight, smallestWeight, rangeWeight), value.Value));
                     }
                     weightedList = weightedList.OrderBy(x => x.Value).ToList();
                 }
-                else weightedList.Add(new KeyValuePair<double, TimeSpan>(1.0, tempList[0].Value));
+                else weightedList.Add(new KeyValuePair<double, double>(1.0, tempList[0].Value));
                 weightedLists.Add(weightedList);
             }

@@ -83,7 +96,7 @@
                 goalTime = Run[Run.Count - 1].PersonalBestSplitTime[method].Value;

             var runSum = TimeSpan.Zero;
-            var outputSplits = new List<TimeSpan>();
+            var outputSplits = new List<double>();
             var percentile = 0.5;
             var percMax = 1.0;
             var percMin = 0.0;
@@ -96,22 +109,19 @@
                 percentile = 0.5 * (percMax - percMin) + percMin;
                 foreach (var weightedList in weightedLists)
                 {
-                    var curValue = TimeSpan.Zero;
+                    var curValue = 0.0;
                     if (weightedList.Count > 1)
                     {
                         for (var n = 0; n < weightedList.Count; n++)
                         {
+                            if (weightedList[n].Key > percentile)
+                            {
+                                curValue = Calculate(percentile, weightedList[n].Value, weightedList[n].Key, weightedList[n - 1].Value, weightedList[n - 1].Key);
+                                break;
+                            }
                             if (weightedList[n].Key == percentile)
                             {
                                 curValue = weightedList[n].Value;
-                                break;
-                            }
-                            if (weightedList[n].Key > percentile)
-                            {
-                                var mult = 1 / (weightedList[n].Key - weightedList[n - 1].Key);
-                                var percDn = (weightedList[n].Key - percentile) * mult * weightedList[n - 1].Value.Ticks;
-                                var percUp = (percentile - weightedList[n - 1].Key) * mult * weightedList[n].Value.Ticks;
-                                curValue = TimeSpan.FromTicks(Convert.ToInt64(percUp + percDn));
                                 break;
                             }
                         }
@@ -121,7 +131,7 @@
                         curValue = weightedList[0].Value;
                     }
                     outputSplits.Add(curValue);
-                    runSum += curValue;
+                    runSum += TimeSpan.FromTicks(Convert.ToInt64(curValue));
                 }
                 if (runSum > goalTime)
                     percMax = percentile;
@@ -135,7 +145,7 @@
                 if (ind >= outputSplits.Count)
                     totalTime = null;
                 if (totalTime != null)
-                    totalTime += outputSplits[ind];
+                    totalTime += TimeSpan.FromTicks(Convert.ToInt64(outputSplits[ind]));
                 var time = new Time(Run[ind].Comparisons[Name]);
                 time[method] = totalTime;
                 Run[ind].Comparisons[Name] = time;


Updated list of excluded columns for PersonName (DTNAVNE) table

--- PART/Source/CprBroker/DBR.Tests/Comparison/PersonComparisonTest.Concrete.cs
+++ PART/Source/CprBroker/DBR.Tests/Comparison/PersonComparisonTest.Concrete.cs
@@ -115,17 +115,10 @@
             get
             {
                 string[] excluded = {
-                                    /* BELOW EXCLUSIONS ARE ONCE THAT ARE NOT, CURRENTLY, USED BY ANY SYSTEMS - AND FAIL IN TESTS */
-                                    "AddressingNameDate", // CPR Services 'adrnvnhaenstart' ? // We know that this field contains a 'wrong' date, but it is not used by known systems, so we skip it in the tests.
-                                    "AddressingNameReportingMarker", // CPR Services 'indrap' ? // We know that this field contains a 'wrong' date, but it is not used by known systems, so we skip it in the tests.
-                                    //"CprUpdateDate", // Already implemented // We know that this field contains a 'wrong' date, but it is not used by known systems, so we skip it in the tests.
-                                    "NameAuthorityCode", // CPR Services 'mynkod' ?// We know that this field contains a 'wrong' date, but it is not used by known systems, so we skip it in the tests.
-
-                                    // EXTRA- DO NOT COMMIT
-                                    // "NameStartDate", // Already implemented
-                                    //"SurnameMarker", // Already implemented
-                                    //"MotherOrFatherDocumentation", // TODO: Not a DPR field !!
-                                    // "NameTerminationDate" // some approximation differences on 'second' level // TODO: Ignore seconds in datetime comparison
+                                        // Review 2.0
+                                        "AddressingNameDate", // CPR Services 'adrnvnhaenstart' ? // Not available in CPR Extracts
+                                        "AddressingNameReportingMarker", // CPR Services 'indrap' ? // Not available in CPR Extracts
+                                        "NameAuthorityCode", // CPR Services 'mynkod' ?// Not available in CPR Extracts
                                 };
                 return excluded;
             }


basic checks on username

basic checks on username

--- Server/dotnet/BetaGo.Server/src/BetaGo.Server/Modules/RegistrationModule.cs
+++ Server/dotnet/BetaGo.Server/src/BetaGo.Server/Modules/RegistrationModule.cs
@@ -2,6 +2,7 @@
 using BetaGo.Server.Services.Authentication;
 using Nancy;
 using Nancy.ModelBinding;
+using System;
 using System.Security;

 namespace BetaGo.Server.Modules
@@ -17,16 +18,25 @@
             {
                 var req = this.Bind<RegistrationRequest>();

-                // TODO: Validate parameters!
-
-                // Valdiate username charset
-                // Validate phone number
-
                 try
                 {
+                    // TODO: Validate parameters!
+
+                    // Valdiate username length, charset
+                    if (req.Username.Length < 4)
+                    {
+                        throw new SecurityException("Username must be at least 4 characters.");
+                    }
+                    // Validate phone number
+
                     var userManagerConn = new WebUserManager();
                     // Validate registration
                     userManagerConn.RegisterUser(req);
+                }
+                catch (NullReferenceException)
+                {
+                    // A parameter was not provided
+                    return new Response().WithStatusCode(HttpStatusCode.BadRequest);
                 }
                 catch (SecurityException secEx)
                 {


Changing test name to reflect it’s cause.

--- SockNet.Protocols.Tests/WebSocket/WebSockeClientSockNetChannelModuleTest.cs
+++ SockNet.Protocols.Tests/WebSocket/WebSockeClientSockNetChannelModuleTest.cs
@@ -294,7 +294,7 @@
         }

         [TestMethod]
-        public void TestLargeMessages()
+        public void TestLargeMessagesInParallel()
         {
             Random random = new Random(this.GetHashCode() ^ DateTime.Now.Millisecond);