示例#1
0
        public void ChiefExecutiveOfficer_ShouldReturnSameInstanceData()
        {
            var ceo1 = new ChiefExecutiveOfficer {
                Name = "Barry Jacobs",
                Age  = 48
            };
            var ceo2 = new ChiefExecutiveOfficer();

            Assert.That(ceo1.ToString(), Is.EqualTo(ceo2.ToString()));
        }
示例#2
0
        static void Main(string[] args)
        {
            // SINGLETON PATTERN
            var db = SingletonDatabase.Instance;

            // works just fine while you're working with a real database.
            var city = "Tokyo";

            Console.WriteLine($"{city} has population {db.GetPopulation(city)}");

            // now some tests

            // SINGLETON IN DI - SOCIALLY ACCEPTABLE
            var builder = new ContainerBuilder();

            builder.RegisterType <EventBroker>().SingleInstance();
            builder.RegisterType <Foo>();

            using (var c = builder.Build())
            {
                var foo1 = c.Resolve <Foo>();
                var foo2 = c.Resolve <Foo>();

                Console.WriteLine(ReferenceEquals(foo1, foo2));
                Console.WriteLine(ReferenceEquals(foo1.Broker, foo2.Broker));
            }

            // MONOSTATE PATTERN
            var ceo = new ChiefExecutiveOfficer();

            ceo.Name = "Adam Smith";
            ceo.Age  = 55;

            var ceo2 = new ChiefExecutiveOfficer();

            Console.WriteLine(ceo2);

            Console.ReadLine();
        }
示例#3
0
        private static void SeedData(IList <IEmployee> employees)
        {
            ChiefExecutiveOfficer chiefExecutiveOfficer = new ChiefExecutiveOfficer();

            chiefExecutiveOfficer.Id                   = 1;
            chiefExecutiveOfficer.JobTitle             = "CEO";
            chiefExecutiveOfficer.FirstName            = "James";
            chiefExecutiveOfficer.LastName             = "Jenkins";
            chiefExecutiveOfficer.AnnualSalary         = 200000;
            chiefExecutiveOfficer.HighestQualification = "Masters Degree";
            chiefExecutiveOfficer.Gender               = 'm';
            chiefExecutiveOfficer.OfficeId             = "E120";
            chiefExecutiveOfficer.JoinDate             = new DateTime(2018, 1, 12);
            chiefExecutiveOfficer.SecretaryId          = 43;
            chiefExecutiveOfficer.PersonalAssistant    = 102;

            employees.Add(chiefExecutiveOfficer);

            Manager projectManager = new ProjectManager();

            projectManager.Id                   = 2;
            projectManager.JobTitle             = "Project Manager";
            projectManager.FirstName            = "Bob";
            projectManager.LastName             = "Jones";
            projectManager.AnnualSalary         = 100000;
            projectManager.HighestQualification = "Honours Degree";
            projectManager.Gender               = 'm';
            projectManager.OfficeId             = "D017";
            projectManager.JoinDate             = new DateTime(2015, 4, 1);
            projectManager.SecretaryId          = 110;
            projectManager.Id                   = 2;

            employees.Add(projectManager);

            Manager safetyManager = new SafetyManager();

            safetyManager.Id                   = 3;
            safetyManager.JobTitle             = "Safety Manager";
            safetyManager.FirstName            = "Jane";
            safetyManager.LastName             = "Summers";
            safetyManager.AnnualSalary         = 100000;
            safetyManager.HighestQualification = "Honours Degree";
            safetyManager.Gender               = 'f';
            safetyManager.OfficeId             = "D018";
            safetyManager.JoinDate             = new DateTime(2016, 2, 3);
            safetyManager.SecretaryId          = 145;

            employees.Add(safetyManager);

            Employee craneOperator = new CraneOperator();

            craneOperator.Id                   = 4;
            craneOperator.JobTitle             = "Crane Operator";
            craneOperator.FirstName            = "Sam";
            craneOperator.LastName             = "Drake";
            craneOperator.AnnualSalary         = 50000;
            craneOperator.HighestQualification = "Bachelor's Degree";
            craneOperator.Gender               = 'm';
            craneOperator.JoinDate             = new DateTime(2012, 5, 7);

            employees.Add(craneOperator);

            Employee electrician = new Electrician();

            electrician.Id                   = 5;
            electrician.JobTitle             = "Electrician";
            electrician.FirstName            = "James";
            electrician.LastName             = "Ross";
            electrician.AnnualSalary         = 45000;
            electrician.HighestQualification = "Bachelor's Degree";
            electrician.Gender               = 'm';
            electrician.JoinDate             = new DateTime(2013, 1, 16);

            employees.Add(electrician);

            Employee electrician2 = new Electrician();

            electrician2.Id                   = 6;
            electrician2.JobTitle             = "Electrician";
            electrician2.FirstName            = "Henry";
            electrician2.LastName             = "Sanders";
            electrician2.AnnualSalary         = 45000;
            electrician2.HighestQualification = "Bachelor's Degree";
            electrician2.Gender               = 'm';
            electrician2.JoinDate             = new DateTime(2017, 1, 16);

            employees.Add(electrician2);
        }