Example #1
0
        public ConferenceBuilder(bool ignoreId = false, Guid?knownHearingRefId       = null,
                                 DateTime?scheduledDateTime = null, string venueName = "MyVenue")
        {
            _builderSettings = new BuilderSettings();
            if (ignoreId)
            {
                _builderSettings.DisablePropertyNamingFor <Participant, long?>(x => x.TestCallResultId);
                _builderSettings.DisablePropertyNamingFor <Participant, long?>(x => x.CurrentConsultationRoomId);
                _builderSettings.DisablePropertyNamingFor <ParticipantStatus, long>(x => x.Id);
                _builderSettings.DisablePropertyNamingFor <ConferenceStatus, long>(x => x.Id);
                _builderSettings.DisablePropertyNamingFor <Task, long>(x => x.Id);
            }

            var hearingRefId = knownHearingRefId ?? Guid.NewGuid();

            var          scheduleDateTime = scheduledDateTime ?? DateTime.UtcNow.AddMinutes(30);
            const string caseType         = "Generic";
            var          randomGenerator  = RandomNumberGenerator.Create(); // Compliant for security-sensitive use cases
            var          data             = new byte[2];

            randomGenerator.GetBytes(data);

            var          caseNumber        = $"{BitConverter.ToString(data)}";
            const string caseName          = CaseName;
            const int    scheduledDuration = 120;

            _conference = new Conference(hearingRefId, caseType, scheduleDateTime, caseNumber, caseName,
                                         scheduledDuration, venueName, false, string.Empty);
        }
 public PersonBuilder(bool ignoreId = false)
 {
     _settings = new BuilderSettings();
     if (ignoreId)
     {
         _settings.DisablePropertyNamingFor <Address, long>(x => x.Id);
         _settings.DisablePropertyNamingFor <Organisation, long>(x => x.Id);
     }
     _person = new Builder(_settings).CreateNew <Person>().WithFactory(() =>
                                                                       new Person(Name.Prefix(), $"Automation_{Name.First()}", $"Automation_{Name.Last()}", $"Automation_{Internet.Email()}")).With(x => x.ContactEmail = $"Automation_{Internet.Email()}")
               .With(x => x.UpdatedDate, DateTime.MinValue)
               .Build();
 }
        public ParticipantBuilder(bool ignoreId = false)
        {
            _userRole        = UserRole.Individual;
            _caseTypeGroup   = "Claimant";
            _builderSettings = new BuilderSettings();
            if (!ignoreId)
            {
                return;
            }

            _builderSettings.DisablePropertyNamingFor <Participant, long?>(x => x.TestCallResultId);
            _builderSettings.DisablePropertyNamingFor <ParticipantStatus, long>(x => x.Id);
            _builderSettings.DisablePropertyNamingFor <ConferenceStatus, long>(x => x.Id);
        }
        public void ShouldBeAbleToDisableAutomaticPropertyNamingForASpecificFieldOfASpecificType()
        {
            var builderSetup = new BuilderSettings();
            builderSetup.DisablePropertyNamingFor<MyClass, int>(x => x.Int);

            var obj = new Builder(builderSetup).CreateNew<MyClass>().Build();

            Assert.That(obj.Int, Is.EqualTo(0));
            Assert.That(obj.Long, Is.EqualTo(1));
        }
Example #5
0
        public void ShouldBeAbleToDisableAutomaticPropertyNamingForASpecificFieldOfAnInterface()
        {
            var builderSetup = new BuilderSettings();

            builderSetup.DisablePropertyNamingFor <IMyInterfaceWithProperty, int>(x => x.MyIntProperty);

            var obj = new Builder(builderSetup).CreateNew <MyClassWithPropery>().Build();

            obj.MyIntProperty.ShouldBe(0);
        }
Example #6
0
        public void ShouldBeAbleToDisableAutomaticPropertyNamingForASpecificFieldOfASpecificType()
        {
            var builderSetup = new BuilderSettings();

            builderSetup.DisablePropertyNamingFor <MyClass, int>(x => x.Int);

            var obj = new Builder(builderSetup).CreateNew <MyClass>().Build();

            Assert.That(obj.Int, Is.EqualTo(0));
            Assert.That(obj.Long, Is.EqualTo(1));
        }
Example #7
0
        public void DisablePropertyNamingFor()
        {
            var settings = new BuilderSettings();

            settings.DisablePropertyNamingFor <MyClass, string>(m => m.StringProperty);
            var builder = new Builder(settings);

            var result = builder.CreateNew <MyClass>().Build();

            result.StringProperty.ShouldBe(null);
        }
Example #8
0
        public ConferenceBuilder(bool ignoreId = false, Guid?knownHearingRefId       = null,
                                 DateTime?scheduledDateTime = null, string venueName = "MyVenue")
        {
            _builderSettings = new BuilderSettings();
            if (ignoreId)
            {
                _builderSettings.DisablePropertyNamingFor <Participant, long?>(x => x.TestCallResultId);
                _builderSettings.DisablePropertyNamingFor <ParticipantStatus, long>(x => x.Id);
                _builderSettings.DisablePropertyNamingFor <ConferenceStatus, long>(x => x.Id);
                _builderSettings.DisablePropertyNamingFor <Task, long>(x => x.Id);
            }

            var hearingRefId = knownHearingRefId ?? Guid.NewGuid();

            var          scheduleDateTime  = scheduledDateTime ?? DateTime.UtcNow.AddMinutes(30);
            const string caseType          = "Civil Money Claims";
            var          caseNumber        = $"{GenerateRandom.CaseNumber(new Random())}";
            const string caseName          = CaseName;
            const int    scheduledDuration = 120;

            _conference = new Conference(hearingRefId, caseType, scheduleDateTime, caseNumber, caseName,
                                         scheduledDuration, venueName, false, string.Empty);
        }
Example #9
0
        public void SetValuesOf_IgnoredProperty_HonorsIgnore()
        {
            // Arrange
            var myClass = new MyClass();

            builderSettings.DisablePropertyNamingFor <MyClass, long>(x => x.Long);

            target.NameWith <long>(() => 50);

            // Act
            target.SetValuesOf(myClass);

            // Assert
            myClass.Long.ShouldBe(default(long));
        }
Example #10
0
        public void ItIsPossibleToSwitchOffAutomaticPropertyNamingForASinglePropertyOfASpecificType()
        {
            var builderSetup = new BuilderSettings();

            builderSetup.DisablePropertyNamingFor <Product, int>(x => x.Id);

            var products = new Builder(builderSetup).CreateListOfSize <Product>(10).Build();

            // The Product.Id will always be its default value
            Assert.That(products[0].Id, Is.EqualTo(0));
            Assert.That(products[9].Id, Is.EqualTo(0));

            // Other properties are still given automatic values as normal
            Assert.That(products[0].QuantityInStock, Is.EqualTo(1));
            Assert.That(products[9].QuantityInStock, Is.EqualTo(10));
        }
        public void should_be_able_to_disable_property_naming_for_an_inherited_property()
        {
            BuilderSettings builderSettings = new BuilderSettings();

            try
            {
                builderSettings.DisablePropertyNamingFor <MyConcreteClass, int>(x => x.PropertyInAbstractClass);

                var list = new Builder(builderSettings).CreateListOfSize <MyConcreteClass>(10).Build();

                Assert.That(list[0].PropertyInAbstractClass, Is.EqualTo(0));
                Assert.That(list[0].PropertyInInheritedClass, Is.EqualTo(1));

                Assert.That(list[9].PropertyInAbstractClass, Is.EqualTo(0));
                Assert.That(list[9].PropertyInInheritedClass, Is.EqualTo(10));
            }
            finally
            {
                builderSettings.ResetToDefaults();
            }
        }
        public void ShouldBeAbleToDisableAutomaticPropertyNamingForASpecificFieldOfASpecificType()
        {
            BuilderSettings builderSettings = new BuilderSettings();

            try
            {
                builderSettings.DisablePropertyNamingFor <MyClass, int>(x => x.Int);

                var list = new Builder(builderSettings).CreateListOfSize <MyClass>(10).Build();

                Assert.That(list[0].Int, Is.EqualTo(0));
                Assert.That(list[0].Long, Is.EqualTo(1));

                Assert.That(list[9].Int, Is.EqualTo(0));
                Assert.That(list[9].Long, Is.EqualTo(10));
            }
            finally
            {
                builderSettings.ResetToDefaults();
            }
        }
Example #13
0
 public void Configuration_4(BuilderSettings builderSettings)
 {
     builderSettings.DisablePropertyNamingFor <Product, int>(x => x.Id);
 }
Example #14
0
        public void ItIsPossibleToSwitchOffAutomaticPropertyNamingForASinglePropertyOfASpecificType()
        {
            var builderSetup = new BuilderSettings();
            builderSetup.DisablePropertyNamingFor<Product, int>(x => x.Id);

            var products = new Builder(builderSetup).CreateListOfSize< Product>(10).Build();

            // The Product.Id will always be its default value
            Assert.That(products[0].Id, Is.EqualTo(0));
            Assert.That(products[9].Id, Is.EqualTo(0));

            // Other properties are still given automatic values as normal
            Assert.That(products[0].QuantityInStock, Is.EqualTo(1));
            Assert.That(products[9].QuantityInStock, Is.EqualTo(10));
        }
        public void ShouldBeAbleToDisableAutomaticPropertyNamingForASpecificFieldOfASpecificType()
        {
            BuilderSettings builderSettings = new BuilderSettings();
            try
            {
                builderSettings.DisablePropertyNamingFor<MyClass, int>(x => x.Int);

                var list = new Builder(builderSettings).CreateListOfSize<MyClass>(10).Build();

                Assert.That(list[0].Int, Is.EqualTo(0));
                Assert.That(list[0].Long, Is.EqualTo(1));

                Assert.That(list[9].Int, Is.EqualTo(0));
                Assert.That(list[9].Long, Is.EqualTo(10));
            }
            finally
            {
                builderSettings.ResetToDefaults();
            }
        }
        public void should_be_able_to_disable_property_naming_for_an_inherited_property()
        {
            BuilderSettings builderSettings = new BuilderSettings();
            try
            {
                builderSettings.DisablePropertyNamingFor<MyConcreteClass, int>(x => x.PropertyInAbstractClass);

                var list = new Builder(builderSettings).CreateListOfSize<MyConcreteClass>(10).Build();

                Assert.That(list[0].PropertyInAbstractClass, Is.EqualTo(0));
                Assert.That(list[0].PropertyInInheritedClass, Is.EqualTo(1));

                Assert.That(list[9].PropertyInAbstractClass, Is.EqualTo(0));
                Assert.That(list[9].PropertyInInheritedClass, Is.EqualTo(10));
            }
            finally
            {
                builderSettings.ResetToDefaults();
            }
        }