public void FunctionAsString()
        {
            DefinedFunction function = new DefinedFunction("foo", null, null, null);

            Assert.AreEqual("<function foo>", ValueUtilities.AsString(function));
            Assert.AreEqual("<function foo>", ValueUtilities.AsPrintString(function));
        }
Ejemplo n.º 2
0
        public object Apply(IContext context, IList <object> arguments, IDictionary <string, object> namedArguments)
        {
            string separator = (namedArguments != null && namedArguments.ContainsKey("sep")) ? (string)namedArguments["sep"] : " ";
            string end       = (namedArguments != null && namedArguments.ContainsKey("end")) ? (string)namedArguments["end"] : null;

            if (arguments != null)
            {
                int narg = 0;
                foreach (var argument in arguments)
                {
                    if (narg != 0)
                    {
                        this.machine.Output.Write(separator);
                    }
                    this.machine.Output.Write(ValueUtilities.AsPrintString(argument));
                    narg++;
                }
            }

            if (end != null)
            {
                this.machine.Output.Write(end);
            }
            else
            {
                this.machine.Output.WriteLine();
            }

            return(null);
        }
        public void ParseIntegral_Byte_Minimum_Integer_1()
        {
            var res = ValueUtilities.ParseIntegral("100", typeof(int));

            Assert.IsInstanceOfType(res, typeof(int));
            Assert.AreEqual(100, res);
        }
        public void ParseDecimal_0()
        {
            var res = ValueUtilities.ParseDecimals("15,3");

            Assert.IsInstanceOfType(res, typeof(float));
            Assert.AreEqual((float)15.3, res);
        }
        public ItemValueVariantBase ResolveToSingle(AnalysisContext context, IEnumerable <ItemValueVariantBase> variants)
        {
            var variantsArray = variants.ToArray();

            switch (variantsArray.Length)
            {
            case 0:
                Log.Debug("Unexpected 0 variants");
                return(null);

            case 1:
                return(variantsArray[0]);

            default:
            {
                var valueInterval = ValueUtilities.IterateValues(variantsArray.Select(x => x.Value),
                                                                 ValueUtilities.IterateValuesOrFunc);

                var indexes = variantsArray.Select(x => x.Index).Aggregate((current, next) => current | next);

                var combinedVariant = new CombinedItemVariant(
                    valueInterval,
                    StorageVariable,
                    InnerTypeRef,
                    indexes,
                    variantsArray,
                    context);

                return(combinedVariant);
            }
            }
        }
        public void CastTo_Double_1a()
        {
            var res = ValueUtilities.CastTo($"3{GetDecimalSeparator()}14", typeof(double));

            Assert.IsInstanceOfType(res, typeof(double));
            Assert.AreEqual(3.14, res);
        }
Ejemplo n.º 7
0
 /// <summary>
 /// Matches an actual entity instance of a person against.
 /// </summary>
 /// <param name="actualEntityInstance">The actual entity instance to verify.</param>
 /// <param name="expectedId">The expected id of the Person.</param>
 /// <param name="expectedName">The expected name of the Person.</param>
 /// <param name="expectedDateOfBirth">The expected date of birth of the person.</param>
 /// <param name="expectedETag">The expected ETag of the entity instance.</param>
 internal static void MatchEntityInstanceOfPerson(EntityInstance <Person> actualEntityInstance, string expectedId, string expectedName, string expectedDateOfBirth, string expectedETag)
 {
     Assert.AreEqual(expectedId, actualEntityInstance.Entity.Id);
     Assert.AreEqual(ValueUtilities.GetNullableString(expectedName), actualEntityInstance.Entity.Name);
     Assert.AreEqual(ValueUtilities.GetNullableDateTimeOffset(expectedDateOfBirth), actualEntityInstance.Entity.DateOfBirth);
     Assert.AreEqual(ValueUtilities.GetNullableString(expectedETag), actualEntityInstance.ETag);
 }
Ejemplo n.º 8
0
        private void SolveConditionContexts(
            [NotNull] GraphDataFlowConditionalNode node,
            [NotNull] LogicExpressionBase expression,
            [NotNull] GraphNode[] path)
        {
            var trueChanges  = new List <(ValueVariantBase, IDataValue)>();
            var falseChanges = new List <(ValueVariantBase, IDataValue)>();

            if (!SolveExpression(node.EnterAnalysisContext, expression, trueChanges, falseChanges))
            {
                Log.Information("Logic: {Operator} -> {Expression}",
                                expression.Operator,
                                expression);
            }

            foreach (var grouping in trueChanges.GroupBy(x => x.Item1, x => x.Item2))
            {
                var(variant, dataValue) = (grouping.Key, grouping.ToArray());
                var newVariant = variant.Clone(node.EnterAnalysisContext, path);
                newVariant.Value = ValueUtilities.IterateValues(dataValue, variant.Value, dataValue.Length + 1,
                                                                ValueUtilities.IterateValuesAndFunc);
                node.TrueExitAnalysisContext[variant] = newVariant;
            }

            foreach (var grouping in falseChanges.GroupBy(x => x.Item1, x => x.Item2))
            {
                var(variant, dataValue) = (grouping.Key, grouping.ToArray());
                var newVariant = variant.Clone(node.EnterAnalysisContext, path);
                newVariant.Value = ValueUtilities.IterateValues(dataValue, variant.Value, dataValue.Length + 1,
                                                                ValueUtilities.IterateValuesAndFunc);
                node.FalseExitAnalysisContext[variant] = newVariant;
            }
        }
        public void ClassAsString()
        {
            DefinedClass klass = new DefinedClass("Spam");

            Assert.AreEqual("<class 'Spam'>", ValueUtilities.AsString(klass));
            Assert.AreEqual("<class 'Spam'>", ValueUtilities.AsPrintString(klass));
        }
Ejemplo n.º 10
0
 public void EmptyListsAsString()
 {
     Assert.AreEqual("[]", ValueUtilities.AsPrintString(new ArrayList()));
     Assert.AreEqual("[]", ValueUtilities.AsPrintString(new List <object>()
     {
     }));
     Assert.AreEqual("()", ValueUtilities.AsPrintString(new List <object>().AsReadOnly()));
 }
Ejemplo n.º 11
0
        /// <summary>
        /// Creates an entity instance from a person and an etag.
        /// </summary>
        /// <param name="person">The person to create.</param>
        /// <param name="eTag">The etag for the instance.</param>
        /// <param name="context">The scenario context.</param>
        /// <param name="keyToSet">The key to set in the scenario context (or null if you do not wish to set the value into the context).</param>
        /// <returns>The resulting <see cref="EntityInstance{T}"/> for the person.</returns>
        internal static EntityInstance <Person> CreateEntityInstance(Person person, string eTag, ScenarioContext?context = null, string?keyToSet = null)
        {
            var entityInstance = new EntityInstance <Person>(person, ValueUtilities.GetNullableString(eTag));

            if (context != null && keyToSet != null)
            {
                context.Set(entityInstance, keyToSet);
            }

            return(entityInstance);
        }
Ejemplo n.º 12
0
        /// <summary>
        /// Creates a list of the specified element type and fills in the elements into the list.
        /// </summary>
        /// <param name="elementType">The element type of the list.</param>
        /// <returns>The list.</returns>
        private IList CreateList(Type elementType)
        {
            var genericType = typeof(List <>).MakeGenericType(elementType);
            var list        = (IList)Activator.CreateInstance(genericType);

            foreach (var instanceProvider in _instanceProviders)
            {
                var instance       = instanceProvider.GetInstance();
                var castedInstance = ValueUtilities.CastTo(instance, elementType);
                list.Add(castedInstance);
            }
            return(list);
        }
Ejemplo n.º 13
0
 public void ListsAsString()
 {
     Assert.AreEqual("[1, 2, 3]", ValueUtilities.AsPrintString(new ArrayList()
     {
         1, 2, 3
     }));
     Assert.AreEqual("['a', 'b', 'c']", ValueUtilities.AsPrintString(new List <object>()
     {
         "a", "b", "c"
     }));
     Assert.AreEqual("(1, 2, 'c')", ValueUtilities.AsPrintString((new List <object>()
     {
         1, 2, "c"
     }).AsReadOnly()));
 }
Ejemplo n.º 14
0
        public static void Main(string[] args)
        {
            PythonSharp.Machine machine = new PythonSharp.Machine();

            if (args != null && args.Length > 0)
            {
                if (ProcessFiles(args, machine))
                {
                    return;
                }
            }

            PrintIntro();

            Parser parser = new Parser(System.Console.In);

            while (true)
            {
                try
                {
                    ICommand command = parser.CompileCommand();

                    if (command == null)
                    {
                        break;
                    }

                    if (command is ExpressionCommand)
                    {
                        IExpression expr  = ((ExpressionCommand)command).Expression;
                        var         value = expr.Evaluate(machine.Environment);

                        if (value != null)
                        {
                            Console.WriteLine(ValueUtilities.AsPrintString(value));
                        }
                    }
                    else
                    {
                        command.Execute(machine.Environment);
                    }
                }
                catch (Exception ex)
                {
                    System.Console.WriteLine(ex.Message);
                }
            }
        }
Ejemplo n.º 15
0
        /// <summary>
        /// Serialize a person to a document.
        /// </summary>
        /// <param name="person">The person to serialize.</param>
        /// <param name="eTag">The etag for the document.</param>
        /// <param name="context">The scenario context (or null if you do not wish to set the value into the context).</param>
        /// <param name="keyToSet">The key to set in the scenario context (or null if you do not wish to set the value into the context).</param>
        /// <returns>The serialized <see cref="Person"/>.</returns>
        internal static string SerializePersonToDocument(Person person, string eTag, ScenarioContext?context = null, string?keyToSet = null)
        {
            string serializedPerson = JsonConvert.SerializeObject(person);
            var    jobject          = JObject.Parse(serializedPerson);

            jobject["_etag"] = ValueUtilities.GetNullableString(eTag);

            string serializedDocument = jobject.ToString();

            if (context != null && keyToSet != null)
            {
                context.Set(serializedDocument, keyToSet);
            }

            return(serializedDocument);
        }
            public override VariableValueVariantBase Create(AnalysisContext context)
            {
                var arrayVariant = Values[0].Clone(context);

                foreach (var index in arrayVariant.IndexRange.Iterate(IntegerLiteral.One))
                {
                    var variants    = Values.Select(x => x[context, index]).ToArray();
                    var itemVariant = variants[0].Clone(context);
                    itemVariant.Value = ValueUtilities.IterateValues(
                        variants.Select(x => x.Value),
                        ValueUtilities.IterateValuesOrFunc);

                    if (!Equals(itemVariant.Value, arrayVariant[context, index].Value))
                    {
                        arrayVariant[context, index] = itemVariant;
                    }
                }

                return(arrayVariant);
            }
Ejemplo n.º 17
0
        private static SimpleInstanceProvider ParseSimpleInstanceElement(XElement xSimpleInstance)
        {
            var xValue   = xSimpleInstance.Value;
            var typeName = xSimpleInstance.Attribute("type")?.Value;

            if (typeName == null)
            {
                try
                {
                    return(new SimpleInstanceProvider(ValueUtilities.Parse(xValue)));
                }
                catch (Exception ex)
                {
                    throw new XmlException(xSimpleInstance, ex);
                }
            }

            var value = ValueUtilities.ParseToType(xValue, typeName);

            return(new SimpleInstanceProvider(value));
        }
Ejemplo n.º 18
0
 public void NoneAsPrintString()
 {
     Assert.AreEqual("None", ValueUtilities.AsPrintString(null));
 }
Ejemplo n.º 19
0
 public void BooleansAsPrintString()
 {
     Assert.AreEqual("True", ValueUtilities.AsPrintString(true));
     Assert.AreEqual("False", ValueUtilities.AsPrintString(false));
 }
        public void ParseIntegral_Byte_4()
        {
            var res = ValueUtilities.ParseIntegral("1000");

            Assert.IsNotInstanceOfType(res, typeof(byte));
        }
        public void ParseIntegral_Byte_3()
        {
            var res = ValueUtilities.ParseIntegral("255");

            Assert.AreEqual((byte)255, res);
        }
        public void ParseIntegral_Byte_1()
        {
            var res = ValueUtilities.ParseIntegral("128");

            Assert.AreEqual((byte)128, res);
        }
        public void ParseIntegral_SByte_3()
        {
            var res = ValueUtilities.ParseIntegral("128");

            Assert.IsNotInstanceOfType(res, typeof(sbyte));
        }
        public void ParseIntegral_SByte_2()
        {
            var res = ValueUtilities.ParseIntegral("127");

            Assert.AreEqual((sbyte)127, res);
        }
        public void CastTo_Double_1b()
        {
            var res = ValueUtilities.CastTo <double>($"3{GetDecimalSeparator()}14");

            Assert.AreEqual(3.14, res);
        }
        public void ParseIntegral_SByte_1()
        {
            var res = ValueUtilities.ParseIntegral("-1");

            Assert.AreEqual((sbyte)-1, res);
        }
Ejemplo n.º 27
0
 public void IntegerAsPrintString()
 {
     Assert.AreEqual("1", ValueUtilities.AsPrintString(1));
 }
Ejemplo n.º 28
0
 public void StringAsPrintString()
 {
     Assert.AreEqual("spam", ValueUtilities.AsPrintString("spam"));
 }
Ejemplo n.º 29
0
        //public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status)
        //{
        //  throw new NotImplementedException();
        //}

        public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status)
        {
            #region Check valid username
            if (!SecurityUtility.IsUsernameValid(username))
            {
                status = MembershipCreateStatus.InvalidUserName;
                return(null);
            }
            #endregion

            #region Check for valid PersonId

            string _username = username;
            string _domain   = string.Empty;

            try
            {
                if (SecurityUtility.UsernameContainsDomain(username))
                {
                    _username = SecurityUtility.ExtractUsername(username);
                    _domain   = SecurityUtility.ExtractDomain(username);
                }
            }
            catch
            {
                // Username was flagged as having a domain attached, but the extraction failed for unknown reason
                status = MembershipCreateStatus.InvalidUserName;
                return(null);
            }

            Guid personId;
            bool locked = false;
            try
            {
                if (providerUserKey != null && providerUserKey.ToString().Length >= 32)
                {
                    personId = new Guid(providerUserKey.ToString().Substring(0, 32));
                    locked   = ValueUtilities.GetBoolean(providerUserKey.ToString().Substring(32), false);
                }
                else if (providerUserKey == null || providerUserKey.ToString().Length == 0)
                {
                    personId = Guid.Empty;
                }
                else
                {
                    status = MembershipCreateStatus.InvalidProviderUserKey;
                    return(null);
                }
            }
            catch
            {
                status = MembershipCreateStatus.InvalidProviderUserKey;
                return(null);
            }

            #endregion

            #region Test for valid email
            //if ((RequiresUniqueEmail || EnablePasswordRetrieval || EnablePasswordReset) && !password.Equals(SOCIAL_LOGIN_DEFAULT_PASSWORD))
            //{

            //  if (email == null || EmailUtilities.ValidateEmailAddress(email) == false)
            //  {
            //    status = MembershipCreateStatus.InvalidEmail;
            //    return null;
            //  }
            //}
            #endregion

            #region Test for valid password


            if (!SecurityUtility.IsPasswordValid(password))
            {
                status = MembershipCreateStatus.InvalidPassword;
                return(null);
            }


            #endregion

            IRepositoryProvider _repositoryProvider = new RepositoryProvider(new RepositoryFactories());
            var unitofWork = new UnitOfWork(new MisukaDBContext(), _repositoryProvider);

            #region Check for unique username
            Domain.Entity.User user = unitofWork.Repository <User>().Query(u => String.Compare(u.UserName, username, StringComparison.InvariantCultureIgnoreCase) == 0).Select().FirstOrDefault();
            if (user != null)
            {
                status = MembershipCreateStatus.DuplicateUserName;
                return(null);
            }
            #endregion

            #region Test for valid question/answer
            if (RequiresQuestionAndAnswer)
            {
                if (passwordQuestion == null || passwordQuestion.Length > 200 || passwordQuestion.Length < 1)
                {
                    status = MembershipCreateStatus.InvalidQuestion;
                    return(null);
                }

                if (passwordAnswer == null || passwordAnswer.Length > 200 || passwordAnswer.Length < 1)
                {
                    status = MembershipCreateStatus.InvalidAnswer;
                    return(null);
                }
            }

            #endregion

            DateTime dt = DateTime.Now;
            user = new User
            {
                UserName         = _username,
                CreationDate     = dt,
                Domain           = _domain,
                PersonId         = personId,
                Locked           = locked,
                FailedLoginTimes = 0,
                CurrentLanguage  = System.Threading.Thread.CurrentThread.CurrentCulture.ToString()
            };


            user.Password = Cryptography.EncryptPassword(password, user.Salt);
            try
            {
                unitofWork.RepositoryAsync <Domain.Entity.User>().Insert(user);
                unitofWork.SaveChanges();
            }
            catch
            {
                status = MembershipCreateStatus.UserRejected;
                //  Log.Debug(this, string.Format("Create new user: {0} - failed", identity.Username));
                return(null);
            }

            status = MembershipCreateStatus.Success;
            //Log.Debug(this, string.Format("Create new user: {0} - successfully", identity.Username));
            return(new MembershipUser(_providerName, username, providerUserKey, email, passwordQuestion, "", isApproved, false, dt, dt, dt, dt, DateTime.MinValue));
        }
Ejemplo n.º 30
0
        public CustomMembershipProvider()
        {
            _requiresUniqueEmail                  = true;
            _applicationName                      = "/";
            _enablePasswordReset                  = false;
            _enablePasswordRetrieval              = false;
            _maxInvalidPasswordAttempts           = 0;
            _requiresQuestionAndAnswer            = true;
            _minRequiredNonAlphanumericCharacters = 0;
            _minRequiredPasswordLength            = 6;
            _passwordAttemptWindow                = 5;
            _passwordFormat = MembershipPasswordFormat.Hashed;
            _passwordStrengthRegularExpression = "";

            ProviderSettings providerSettings = SecurityUtility.GetMembershipProviderSettings();

            _providerName = providerSettings.Name;
            foreach (string index in providerSettings.Parameters.AllKeys)
            {
                switch (index.ToLower())
                {
                case "applicationname":
                    _applicationName = providerSettings.Parameters[index];
                    break;

                case "enablepasswordreset":
                    _enablePasswordReset = ValueUtilities.GetBoolean(providerSettings.Parameters[index], false);
                    break;

                case "enablepasswordretrieval":
                    _enablePasswordRetrieval = ValueUtilities.GetBoolean(providerSettings.Parameters[index], false);
                    break;

                case "maxinvalidpasswordattempts":
                    _maxInvalidPasswordAttempts = ValueUtilities.GetInt32(providerSettings.Parameters[index], 5);
                    break;

                case "minrequirednonalphanumericcharacters":
                    _minRequiredNonAlphanumericCharacters = ValueUtilities.GetInt32(providerSettings.Parameters[index], 3);
                    break;

                case "minrequiredpasswordlength":
                    _minRequiredPasswordLength = ValueUtilities.GetInt32(providerSettings.Parameters[index], 8);
                    break;

                case "passwordattemptwindow":
                    _passwordAttemptWindow = ValueUtilities.GetInt32(providerSettings.Parameters[index], 5);
                    break;

                case "passwordformat":
                    _passwordFormat = ValueUtilities.GetEnumerationValue <MembershipPasswordFormat>(providerSettings.Parameters[index]);
                    break;

                case "passwordstrengthregularexpression":
                    _passwordStrengthRegularExpression = providerSettings.Parameters[index] ?? string.Empty;
                    break;

                case "requiresquestionandanswer":
                    _requiresQuestionAndAnswer = ValueUtilities.GetBoolean(providerSettings.Parameters[index], true);
                    break;

                case "requiresuniqueemail":
                    _requiresUniqueEmail = ValueUtilities.GetBoolean(providerSettings.Parameters[index], true);
                    break;
                }
            }
        }