コード例 #1
0
        public void ExistingSettingIsPersistedToFile()
        {
            List <ISetting> all;

            //write entries to database and close database
            using (IWAYDDatasource _db = new DatasourceFactory(false).GetCurrent())
            {
                _db.Save(new WAYDSetting {
                    Key = 0, Value = 30
                });;
            }
            using (IWAYDDatasource _db = new DatasourceFactory(false).GetCurrent())
            {
                all = _db.GetAllSettings().ToList();
            }
            Assert.AreEqual(all.First().Value, 30);

            //open database agiain and edit value
            using (IWAYDDatasource _db = new DatasourceFactory(false).GetCurrent())
            {
                _db.Save(new WAYDSetting {
                    Key = 0, Value = 0.1
                });;
            }
            //open database again and get all entries
            using (IWAYDDatasource _db = new DatasourceFactory(false).GetCurrent())
            {
                all = _db.GetAllSettings().ToList();
            }
            //delete the file
            File.Delete(DatasourceFactory.FileName);

            Assert.AreEqual(all.First().Value, 0.1);
        }
コード例 #2
0
        public void Build_ReturnsNewFactory()
        {
            DatasourceFactory factory = new DatasourceFactory(typeof(BlankDataSource));
            BlankDataSource   source  = factory.Build() as BlankDataSource;

            Assert.NotNull(source);
        }
コード例 #3
0
        public void AddArgumentValue_AddsArgument()
        {
            MethodInvocationContext context = new MethodInvocationContext();

            context.AddArgumentValue(5);

            DatasourceFactory factory = context.GetArguments().First();

            Assert.NotNull(factory);
        }
コード例 #4
0
        public void AddArgumentSource_AddsArgument()
        {
            MethodInvocationContext context = new MethodInvocationContext();

            context.AddArgumentSource(typeof(RandomStringSource));

            DatasourceFactory factory = context.GetArguments().First();

            Assert.NotNull(factory);
        }
コード例 #5
0
        public EnumerableSource(int minCount, int maxCount, object[] args)
        {
            mMinCount = minCount;
            mMaxCount = maxCount;
            mArgs     = args;

            var factory = new DatasourceFactory(typeof(TSource));

            factory.SetParams(mArgs);
            mSource = (IDatasource <T>)factory.Build();
        }
コード例 #6
0
        /// <summary>
        /// This will commit all the changes back into the source file.
        /// </summary>
        public void SaveAllData()
        {
            var dbFactory = new DatasourceFactory();
            //changed in exercise 3 to add Savings account Balance
            var AccountInfo = new List <string>()
            {
                FirstName, SecondName, Age.ToString(), username, Password, Accounts[0].Balance.ToString(), Accounts[1].Balance.ToString()
            };

            dbFactory.setAccountData(AccountInfo);
        }
コード例 #7
0
ファイル: Form1.cs プロジェクト: hnthangit/Design-Pattern
        private void BtnDb_Click(object sender, EventArgs e)
        {
            List <SinhVien>   listSinhVien      = new List <SinhVien>();
            DatasourceFactory datasourceFactory = new DatasourceFactory();
            var sql = datasourceFactory.CreateDatasource("SQL");

            listSinhVien = sql.GetAll();
            foreach (var item in listSinhVien)
            {
                Console.WriteLine("Ma sv: {0}, Ten sv: {1}", item.Id, item.Name);
            }
        }
コード例 #8
0
        protected override void PopulateConfiguration()
        {
            this.Configuration.RegisterType(typeof(SimpleUser));
            var simpleUserConfig = this.Configuration.GetRegisteredType(typeof(SimpleUser));

            var emailMember     = ReflectionHelper.GetMember <SimpleUser>(x => x.EmailAddress);
            var firstNameMember = ReflectionHelper.GetMember <SimpleUser>(x => x.FirstName);
            var lastNameMember  = ReflectionHelper.GetMember <SimpleUser>(x => x.LastName);

            simpleUserConfig.RegisterMember(emailMember);
            simpleUserConfig.RegisterMember(firstNameMember);
            simpleUserConfig.RegisterMember(lastNameMember);


            var emailSourceFactory = new DatasourceFactory(typeof(ValueSource));

            emailSourceFactory.SetParams("*****@*****.**");
            var firstNameFactory = new DatasourceFactory(typeof(ValueSource));

            firstNameFactory.SetParams("first");
            var lastNameFactory = new DatasourceFactory(typeof(ValueSource));

            lastNameFactory.SetParams("last");

            simpleUserConfig.GetRegisteredMember(emailMember).SetDatasource(emailSourceFactory);
            simpleUserConfig.GetRegisteredMember(firstNameMember).SetDatasource(firstNameFactory);
            simpleUserConfig.GetRegisteredMember(lastNameMember).SetDatasource(lastNameFactory);


            this.Configuration.RegisterType(typeof(SimpleFieldClass));
            var simpleFieldConfig = this.Configuration.GetRegisteredType(typeof(SimpleFieldClass));

            var someFieldMember = ReflectionHelper.GetMember <SimpleFieldClass>(x => x.SomeField);
            var someOtherField  = ReflectionHelper.GetMember <SimpleFieldClass>(x => x.SomeOtherField);

            simpleFieldConfig.RegisterMember(someFieldMember);
            simpleFieldConfig.RegisterMember(someOtherField);

            var someFieldFactory = new DatasourceFactory(typeof(ValueSource));

            someFieldFactory.SetParams("one");
            var someOtherFieldFactory = new DatasourceFactory(typeof(ValueSource));

            someOtherFieldFactory.SetParams("other");

            simpleFieldConfig.GetRegisteredMember(someFieldMember).SetDatasource(someFieldFactory);
            simpleFieldConfig.GetRegisteredMember(someOtherField).SetDatasource(someOtherFieldFactory);
        }
コード例 #9
0
        public void EntriesArePersistedToFile()
        {
            List <IEntry> all;

            //write entries to database and close database
            using (IWAYDDatasource _db = new DatasourceFactory(false).GetCurrent())
            {
                for (int i = 0; i < 10; i++)
                {
                    _db.Save(new Entry {
                        Time = DateTime.Now
                    });
                }
            }
            //open database again and get all entries
            using (IWAYDDatasource _db = new DatasourceFactory(false).GetCurrent())
            {
                all = _db.GetAllEntries().ToList();
            }
            //delete the file
            File.Delete(DatasourceFactory.FileName);

            Assert.AreEqual(10, all.Count);
        }