public void InfixToRPNTest3() { var tokens = Tokenizer.Default.GetTokens("max(10 - 4, 2 + 6)"); var rpn = MathEvaluator.InfixToRPN(tokens); // 10 4 - 2 6 + max var expected = new string[] { "10", "4", "-", "2", "6", "+", "max" }; Assert.AreEqual(expected, TokenExtensions.ToStringArray(rpn), "{0}\n{1}", rpn.CollectionToString(s => s.Value), rpn.CollectionToString()); }
public void InfixToRPNTest2() { var tokens = Tokenizer.Default.GetTokens("(10 + (-5 * 2))"); var rpn = MathEvaluator.InfixToRPN(tokens); //10 5 - 2 * + var expected = new string[] { "10", "5", "-", "2", "*", "+" }; Assert.AreEqual(expected, TokenExtensions.ToStringArray(rpn), "{0}\n{1}", rpn.CollectionToString(s => s.Value), rpn.CollectionToString()); }
public void TransformAttributes() { var attributes = new Dictionary <string, string> { ["href"] = "http://google.com", ["class"] = "class", ["id"] = "head" }; var result = TokenExtensions.TransformAttributesToStrings(attributes); var expected = "href=\"http://google.com\" class=\"class\" id=\"head\""; result.Should().Be(expected); }
public async Task <IActionResult> Login([FromBody] LoginViewModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var user = await GetClaimsIdentity(model.Username, model.Password); if (user == null) { return(BadRequest(ResponseExtensions.Errors.AddErrorModelState("login_failure", "Invalid password or username", ModelState))); } var token = await TokenExtensions.GenerateJwtTokenAsync(user, _tokenFactory, model.Username, _options, new JsonSerializerSettings { Formatting = Formatting.Indented }); return(new ObjectResult(token)); }