public void MessageShouldBeSameAfterSerializationAndDeserialization()
        {
            var writer = new BinaryWriter(new MemoryStream());
            IMessageFactory msgFactory = new MessageFactory(new Message[]
                {
                    new ISomeServiceComplexRequest()
                });

            var fixture = new Fixture();
            fixture.Customize<ISomeServiceComplexRequest>(ob =>
                ob.With(x => x.datas,
                    fixture.CreateMany<SubData>().ToList()));
            fixture.Customize<ComplexData>(ob => ob
                .With(x => x.SomeArrString, fixture.CreateMany<string>().ToList())
                .With(x => x.SomeArrRec, fixture.CreateMany<SubData>().ToList()));

            var msg = fixture.CreateAnonymous<ISomeServiceComplexRequest>();

            //serialize and deserialize msg1
            msg.Serialize(writer);
            writer.Seek(0, SeekOrigin.Begin);
            var reader = new BinaryReader(writer.BaseStream);
            Message retMsg = msgFactory.Deserialize(reader);

            retMsg.Should().BeOfType<ISomeServiceComplexRequest>();
            msg.ShouldBeEqualTo((ISomeServiceComplexRequest)retMsg);
        }
        public void SynchronizeService_DiagnosisIsChanged_RevisesDiagnosisCorrectly()
        {
            // Setup
            var fixture = new Fixture().Customize(new AutoMoqCustomization());

            var encounter = new Mock<Encounter>();
            var procedure = new Mock<Procedure>();
            procedure.SetupGet(p => p.ProcedureType).Returns(ProcedureType.Activity);
            var diagnosis = fixture.CreateAnonymous<CodedConcept>();

            var service = new Mock<Service>();
            var serviceDiagnosis = fixture.CreateAnonymous<CodedConcept> ();
            service.SetupGet ( p => p.Diagnosis ).Returns ( serviceDiagnosis );
            service.SetupGet ( p => p.Encounter ).Returns ( encounter.Object );

            var serviceRepository = new Mock<IServiceRepository>();
            serviceRepository.Setup(p => p.GetByTrackingNumber(It.IsAny<long>())).Returns(service.Object);
            fixture.Register(() => serviceRepository.Object);

            var medicalProcedure = fixture.CreateAnonymous<MedicalProcedure>();
            var medicalProcedureTranslator = new Mock<IMedicalProcedureTranslator>();
            medicalProcedureTranslator.Setup(p => p.Translate(It.IsAny<Procedure>())).Returns(medicalProcedure);
            fixture.Register(() => medicalProcedureTranslator);

            var serviceFactory = new Mock<IServiceFactory>();
            fixture.Register(() => serviceFactory);

            var serviceSynchronizationService = fixture.CreateAnonymous<ServiceSynchronizationService>();

            // Exercise
            serviceSynchronizationService.SynchronizeService(encounter.Object, procedure.Object, diagnosis);

            // Verify
            service.Verify(p => p.ReviseDiagnosis(diagnosis));
        }
        public void SynchronizePatientAccount_GivenPatientWithoutExistingBillingOffice_ThrowsArgumentException()
        {
            using (var serviceLocatorFixture = new ServiceLocatorFixture())
            {
                // Setup
                var fixture = new Fixture ().Customize ( new AutoMoqCustomization () );

                var billingOfficeRepository = new Mock<IBillingOfficeRepository> ();
                billingOfficeRepository.Setup ( p => p.GetByAgencyKey ( It.IsAny<long> () ) ).Returns ( () => null );
                fixture.Register ( () => billingOfficeRepository.Object );

                var agencyProfile = fixture.CreateAnonymous<AgencyProfile> ();

                var agency = new Mock<Agency> ();
                agency.SetupGet(p => p.Key).Returns(fixture.CreateAnonymous<long>());
                agency.SetupGet ( p => p.AgencyProfile ).Returns ( agencyProfile );

                var patient = new Mock<Patient> ();
                patient.SetupGet(p => p.Key).Returns(fixture.CreateAnonymous<long>());
                patient.SetupGet ( p => p.Agency ).Returns ( agency.Object );

                var patientAccountSynchronizationService = fixture.CreateAnonymous<PatientAccountSynchronizationService> ();

                // Exercise
                patientAccountSynchronizationService.SynchronizePatientAccount ( patient.Object );

                // Verify
            }
        }
        public void InnerCurrencyIsOnlyInvokedOnceDespiteMultipleCalls()
        {
            // Fixture setup
            var fixture = new Fixture();
            var exchangeRate = fixture.CreateAnonymous<decimal>();
            var sourceCurrencyCode = fixture.CreateAnonymous("CurrencyCode");
            var destinationCurrencyCode = fixture.CreateAnonymous("CurrencyCode");

            var currencyMock = new Mock<Currency>();
            currencyMock.Setup(c => c.GetExchangeRateFor(It.IsAny<string>())).Returns(exchangeRate).Verifiable();

            var currencyProviderStub = new Mock<CurrencyProvider>();
            currencyProviderStub.Setup(cp => cp.GetCurrency(sourceCurrencyCode)).Returns(currencyMock.Object);
            fixture.Register(() => currencyProviderStub.Object);

            fixture.Register(() => TimeSpan.FromMinutes(1));

            var sut = fixture.CreateAnonymous<CachingCurrencyProvider>();
            // Exercise system
            sut.GetCurrency(sourceCurrencyCode).GetExchangeRateFor(destinationCurrencyCode);
            sut.GetCurrency(sourceCurrencyCode).GetExchangeRateFor(destinationCurrencyCode);
            // Verify outcome
            currencyMock.Verify(c => c.GetExchangeRateFor(destinationCurrencyCode), Times.Once());
            // Teardown
        }
Example #5
0
        public void NoSePuedeCrearUnPeriodoConFinMenorQueInicio()
        {
            var fixture = new Fixture();
            var fin = fixture.CreateAnonymous<DateTime>();
            var inicio = fixture.CreateAnonymous<DateTime>();

            Assert.Throws<InvalidOperationException>(() => new Periodo(inicio, fin));
        }
 public void BeforeEach()
 {
     _fixture = new Fixture();
     _inspectionLookup = Mock.Of<IVehicleInspectionLookup>(x =>
         x.ByRegistration(It.IsAny<RegistrationNumber>()) == _fixture.CreateAnonymous<Vehicle>() &&
         x.ByVehicleIdentificationNumber(It.IsAny<VehicleIdentificationNumber>()) == _fixture.CreateAnonymous<Vehicle>());
     _sut = new VehicleInspectionService(_inspectionLookup);
 }
Example #7
0
        public void UnPeriodoIniciadoNoSePuedeTerminarConFinMenorQueInicio()
        {
            var fixture = new Fixture();
            var fin = fixture.CreateAnonymous<DateTime>();
            var inicio = fixture.CreateAnonymous<DateTime>();
            var sut = new Periodo(inicio);

            Assert.Throws<InvalidOperationException>(() => sut.Finalizar(fin));
        }
 public void addMovement_returns_valid_instance_with_valid_inputs()
 {
     var fixture = new Fixture();
     fixture.Register(UnLocodeHelpers.GetNewUnLocode);
     var voyageBuilder = fixture.CreateAnonymous<VoyageBuilder>();
     var arrivalLocation = fixture.CreateAnonymous<BookingApi.Domain.Location.Location>();
     var departureTime = fixture.CreateAnonymous<DateTime>();
     var arrivalTime = fixture.CreateAnonymous<DateTime>();
     Assert.NotNull(voyageBuilder.AddMovement(arrivalLocation, departureTime, arrivalTime));
 }
Example #9
0
        public void UnPeriodoConFinNoEstaIniciado()
        {
            var fixture = new Fixture();
            var inicio = fixture.CreateAnonymous<DateTime>();
            var fin = fixture.CreateAnonymous<DateTime>();
            var sut = new Periodo(inicio, fin);

            sut.Inicio.Should().Be(inicio);
            sut.Fin.Should().Be(fin);
            sut.EstaIniciado.Should().BeFalse();
        }
Example #10
0
        public void NoSePuedeCrearJornadaIniciadaConPausasAnterioresAFechaInicio()
        {
            var fixture = new Fixture();
            var inicioPausa = fixture.CreateAnonymous<DateTime>();
            var finPausa = fixture.CreateAnonymous<DateTime>();
            var inicioJornada = fixture.CreateAnonymous<DateTime>();
            var pausa = new Pausa(inicioPausa, finPausa);

            Assert.Throws<InvalidOperationException>(
                () => new Jornada(inicioJornada, pausa));
        }
Example #11
0
        public void UnaJornadaIniciadaConUltimaPausaIniciadaTienePausaIniciada()
        {
            var fixture = new Fixture();
            var inicioJornada = fixture.CreateAnonymous<DateTime>();
            var inicioPausa = fixture.CreateAnonymous<DateTime>();
            var pausa = new Pausa(inicioPausa);

            var sut = new Jornada(inicioJornada, pausa);

            sut.PausaIniciada.Should().NotBeNull();
        }
Example #12
0
        public void NoSePuedeCrearJornadaTerminadaConPausasFueraDeLasFechasDeLaJornada3()
        {
            var fixture = new Fixture();
            var inicioPausa = fixture.CreateAnonymous<DateTime>();
            var inicioJornada = fixture.CreateAnonymous<DateTime>();
            var finJornada = fixture.CreateAnonymous<DateTime>();
            var finPausa = fixture.CreateAnonymous<DateTime>();
            var pausa = new Pausa(inicioPausa, finPausa);

            Assert.Throws<InvalidOperationException>(
                () => new Jornada(inicioJornada, finJornada, pausa));
        }
Example #13
0
        public void RevisePhones_GivenAPhoneListAndPatientAccountHasPhones_RevisesPhonesCorrectly()
        {
            // Setup
            var fixture = new Fixture().Customize(new AutoMoqCustomization());
            var address = new Address (
                fixture.CreateAnonymous<string> (),
                fixture.CreateAnonymous<string> (),
                fixture.CreateAnonymous<string> (),
                new Mock<CountyArea> ().Object,
                new Mock<StateProvince> ().Object,
                new Mock<Country> ().Object,
                new PostalCode ( "21046" ) );
            var patientAccount = new PatientAccount (
                new Mock<BillingOffice> ().Object,
                fixture.CreateAnonymous<long> (),
                fixture.CreateAnonymous<PersonName> (),
                fixture.CreateAnonymous<DateTime> (),
                address,
                new Mock<AdministrativeGender> ().Object );

            var patientAccountPhoneType1 = new Mock<PatientAccountPhoneType> ();
            patientAccountPhoneType1.SetupGet ( p => p.Key ).Returns ( fixture.CreateAnonymous<long> () );

            var patientAccountPhoneType2 = new Mock<PatientAccountPhoneType> ();
            patientAccountPhoneType2.SetupGet ( p => p.Key ).Returns ( fixture.CreateAnonymous<long> () );

            var patientAccountPhoneType3 = new Mock<PatientAccountPhoneType> ();
            patientAccountPhoneType3.SetupGet ( p => p.Key ).Returns ( fixture.CreateAnonymous<long> () );

            var phone = fixture.CreateAnonymous<Phone> ();

            var patientAccountPhone1 = new PatientAccountPhone ( patientAccountPhoneType1.Object, phone );
            var sameAsPatientAccountPhone1 = new PatientAccountPhone(patientAccountPhoneType1.Object, phone);

            var patientAccountPhone2 = new PatientAccountPhone(patientAccountPhoneType2.Object, phone);

            var patientAccountPhone3 = new PatientAccountPhone(patientAccountPhoneType3.Object, phone);

            var initialPhoneList = new List<PatientAccountPhone> { patientAccountPhone1, patientAccountPhone2 };
            patientAccount.RevisePhones(initialPhoneList);

            var inputPhoneList = new List<PatientAccountPhone> { sameAsPatientAccountPhone1, patientAccountPhone3 };

            // Exercise
            patientAccount.RevisePhones(inputPhoneList);

            // Verify
            Assert.AreEqual(2, patientAccount.Phones.Count());
            Assert.IsTrue(patientAccount.Phones.Contains(patientAccountPhone1));
            Assert.IsFalse(patientAccount.Phones.Contains(patientAccountPhone2));
            Assert.IsTrue(patientAccount.Phones.Contains(patientAccountPhone3));
        }
Example #14
0
 public void UpdatedIsWellBehavedWritableProperty()
 {
     // Fixture setup
     var fixture = new Fixture();
     var sut = fixture.CreateAnonymous<Extent>();
     var expectedTime = fixture.CreateAnonymous<DateTimeOffset>();
     // Exercise system
     sut.Updated = expectedTime;
     DateTimeOffset result = sut.Updated;
     // Verify outcome
     Assert.Equal<DateTimeOffset>(expectedTime, result);
     // Teardown
 }
Example #15
0
        public void UnPeriodoIniciadoSePuedeTerminar()
        {
            var fixture = new Fixture();
            var inicio = fixture.CreateAnonymous<DateTime>();
            var fin = fixture.CreateAnonymous<DateTime>();
            var sut = new Periodo(inicio);

            sut.Finalizar(fin);

            sut.Inicio.Should().Be(inicio);
            sut.Fin.Should().Be(fin);
            sut.EstaIniciado.Should().BeFalse();
        }
        public void IntroductoryTest()
        {
            // Fixture setup
            Fixture fixture = new Fixture();

            int expectedNumber = fixture.CreateAnonymous<int>();
            MyClass sut = fixture.CreateAnonymous<MyClass>();
            // Exercise system
            int result = sut.Echo(expectedNumber);
            // Verify outcome
            Assert.Equal<int>(expectedNumber, result);
            // Teardown
        }
Example #17
0
 public void QuantityIsWellBehavedWritableProperty()
 {
     // Fixture setup
     var fixture = new Fixture();
     var sut = fixture.CreateAnonymous<Extent>();
     var expectedQuantity = fixture.CreateAnonymous<int>();
     // Exercise system
     sut.Quantity = expectedQuantity;
     int result = sut.Quantity;
     // Verify outcome
     Assert.Equal<int>(expectedQuantity, result);
     // Teardown
 }
 public void NameIsWellBehavedWritableProperty()
 {
     // Fixture setup
     var fixture = new Fixture();
     var sut = fixture.CreateAnonymous<ProductViewModel>();
     string expectedName = fixture.CreateAnonymous("Name");
     // Exercise system
     sut.Name = expectedName;
     string result = sut.Name;
     // Verify outcome
     Assert.Equal<string>(expectedName, result);
     // Teardown
 }
 public void UnitPriceIsWellBehavedWritableProperty()
 {
     // Fixture setup
     var fixture = new Fixture();
     var sut = fixture.CreateAnonymous<ProductViewModel>();
     decimal expectedPrice = fixture.CreateAnonymous<decimal>();
     // Exercise system
     sut.UnitPrice = expectedPrice;
     decimal result = sut.UnitPrice;
     // Verify outcome
     Assert.Equal<decimal>(expectedPrice, result);
     // Teardown
 }
        public void IdentityIsCorrect()
        {
            // Fixture setup
            var fixture = new Fixture();
            var expectedIdentity = fixture.CreateAnonymous<GenericIdentity>();
            Thread.CurrentPrincipal = new GenericPrincipal(expectedIdentity, null);

            var sut = fixture.CreateAnonymous<AuditEvent>();
            // Exercise system
            IIdentity result = sut.Identity;
            // Verify outcome
            Assert.Equal(expectedIdentity, result);
            // Teardown
        }
        public void GetHashCode_WithEqualStrings_ReturnsDifferentValues()
        {
            // Arrange
            var fixture = new Fixture();
            fixture.Customizations.Add(new DelegateGenerator());

            // Act
            var sut = fixture.CreateAnonymous<EqualityComparer<string>>();
            var testValue = fixture.CreateAnonymous<string>();
            var firstResult = sut.GetHashCode(testValue);
            var secondResult = sut.GetHashCode(testValue);

            // Assert
            Assert.AreNotEqual(firstResult, secondResult);
        }
        public void IndexWillAddProductToDiscountCampaign()
        {
            // Fixture setup
            var fixture = new Fixture().Customize(new MvcApplicationCustomization());

            var campaignMock = fixture.CreateAnonymous<Mock<DiscountCampaign>>();
            fixture.Inject(campaignMock.Object);

            var sut = fixture.CreateAnonymous<HomeController>();
            // Exercise system
            sut.Index();
            // Verify outcome
            campaignMock.Verify(dc => dc.AddProduct(It.Is<Product>(p => p.Name == "Success")));
            // Teardown
        }
Example #23
0
        public void IssueAsReported()
        {
            var fixture = new Fixture().Customize(new MultipleCustomization());
            fixture.RepeatCount = 3;
            fixture.Behaviors.Clear();
            fixture.Behaviors.Add(new NullRecursionBehavior());

            fixture.Register<ItemBase>(() => fixture.CreateAnonymous<FunkyItem>());

            var funkyItem = fixture.CreateAnonymous<FunkyItem>();

            /* No assertion is in place because the above code is a verbatim repro of the issue as
             * reported. When reported, the last line of code (CreateAnonymous<FunkyItem>()) threw
             * a StackOverflowException in CompositeSpecimenBuilder.Create. */
        }
        public void IndexWillReturnViewModelWithCorrectProducts()
        {
            // Fixture setup
            var fixture = new Fixture().Customize(new CommerceWebCustomization());
            var featuredProducts =
                fixture.CreateMany<Product>().ToList();
            fixture.Register(() =>
                {
                    var repositoryStub =
                        new Mock<ProductRepository>();
                    repositoryStub.Setup(r =>
                        r.GetFeaturedProducts())
                        .Returns(featuredProducts);
                    return repositoryStub.Object;
                });

            var expectedProducts = (from p in featuredProducts
                                    select new Likeness<Product, ProductViewModel>(p).Without(d => d.SummaryText)).ToList();

            var sut =
                fixture.CreateAnonymous<HomeController>();
            // Exercise system
            var result = ((FeaturedProductsViewModel)sut
                .Index().ViewData.Model).Products.ToList();
            // Verify outcome
            Assert.True(expectedProducts.Cast<object>().SequenceEqual(result.Cast<object>()));
            // Teardown
        }
Example #25
0
 public void PopulateListAfterCreation()
 {
     var fixture = new Fixture();
     var list = fixture.CreateAnonymous<List<int>>();
     fixture.AddManyTo(list);
     Assert.True(list.Any());
 }
        public void ShouldProperlyInvokeRequestReplyMethod()
        {
            #region Arrange
            var fixture = new Fixture();
            fixture.Customize<ISomeServiceComplexRequest>(ob =>
                ob.With(x => x.datas,
                    fixture.CreateMany<SubData>().ToList()));
            fixture.Customize<ComplexData>(ob => ob
                .With(x => x.SomeArrString, fixture.CreateMany<string>().ToList())
                .With(x => x.SomeArrRec, fixture.CreateMany<SubData>().ToList()));

            var inputMsg = fixture.CreateAnonymous<ISomeServiceComplexRequest>();
            var output = inputMsg.data;

            var tcs = new TaskCompletionSource<ComplexData>();
            tcs.SetResult(output);

            var service = Substitute.For<ISomeService>();
            service.Complex(inputMsg.requestId, inputMsg.data, inputMsg.name, inputMsg.datas)
                .Returns(x => tcs.Task);

            #endregion

            //Act
            Task<Message> ret = _protocolDesc.Dispatch(service, inputMsg);

            //Assert
            service.Received(1).Complex(inputMsg.requestId, inputMsg.data, inputMsg.name, inputMsg.datas);
            ret.Should().NotBeNull();
            ret.Status.Should().Be(TaskStatus.RanToCompletion);
            var replyMsg = ret.Result as ISomeServiceComplexReply;
            replyMsg.Should().NotBeNull();
            replyMsg.RetVal.Should().Be(output);
        }
        public void ProfilerExtensions_SerializeDeserialize_Test()
        {
            // Arrange
            var fixture = new Fixture();
            var throwingRecursionBehavior = fixture.Behaviors.OfType<ThrowingRecursionBehavior>().FirstOrDefault();
            if (throwingRecursionBehavior != null)
                fixture.Behaviors.Remove(throwingRecursionBehavior);

            fixture.Behaviors.Add(new OmitOnRecursionBehavior());

            var expected = fixture.CreateAnonymous<MiniProfiler>();

            // The date serialization loses precision beyond millisecond.
            expected.Started =
                new DateTime(expected.Started.Year, expected.Started.Month, expected.Started.Day,
                             expected.Started.Hour, expected.Started.Minute, expected.Started.Second,
                             expected.Started.Millisecond%1000);

            // Act
            MiniProfiler actual = ProfilerExtensions.Deserialize(expected.Serialize());

            // Assert
            actual.AsSource()
                  .OfLikeness<MiniProfiler>()
                  .Without(m => m.ClientTimings)
                  .Without(m => m.Head)
                  .Without(m => m.HasDuplicateSqlTimings)
                  .ShouldEqual(expected);
        }
Example #28
0
        public void IssueReduced()
        {
            var fixture = new Fixture().Customize(new MultipleCustomization());
            fixture.Register<ItemBase>(fixture.CreateAnonymous<FunkyItem>);

            Assert.DoesNotThrow(() => fixture.CreateAnonymous<FunkyItem>());
        }
        public void SynchronizeEncounter_EncounterDoesNotExist_CreatesEncounterCorrectly()
        {
            // Setup
            var fixture = new Fixture().Customize(new AutoMoqCustomization());

            var patientAccount = new Mock<PatientAccount>();
            var visit = new Mock<Visit>();
            var serviceProvider = new Mock<Staff>();
            var placeOfService = new Mock<Location> ();
            visit.SetupGet ( p => p.ServiceLocation ).Returns ( placeOfService.Object );
            visit.SetupGet ( p => p.Staff ).Returns ( serviceProvider.Object );

            var encounterRepository = new Mock<IEncounterRepository>();
            encounterRepository.Setup(p => p.GetByTrackingNumber(It.IsAny<long>())).Returns<Encounter>(null);
            fixture.Register(() => encounterRepository.Object);

            var encounterFactory = new Mock<IEncounterFactory> ();
            encounterFactory.Setup (
                p =>
                p.CreateEncounter (
                    patientAccount.Object,
                    placeOfService.Object,
                    serviceProvider.Object,
                    visit.Object.Key,
                    It.IsAny<DateTime>() ) ).Returns ( new Mock<Encounter> ().Object );
            fixture.Register(() => encounterFactory.Object);

            var encounterSynchronizationService = fixture.CreateAnonymous<EncounterSynchronizationService>();

            // Exercise
            var encounter = encounterSynchronizationService.SynchronizeEncounter(patientAccount.Object, visit.Object);

            // Verify
            encounterFactory.Verify(p => p.CreateEncounter(patientAccount.Object, placeOfService.Object, serviceProvider.Object, visit.Object.Key, It.IsAny<DateTime>()));
        }
        public void Should_return_queue_when_created()
        {
            //var resetEvent = new ManualResetEvent(false);
            var fixture = new Fixture().Customize(new AutoFakeItEasyCustomization());
            var msg = fixture.CreateAnonymous<Message>();
            var sut = fixture.Freeze<InMemoryMessageChannel>();

            object msg2 = null;

            int count = 1;
            var watch = new Stopwatch();
            watch.Start();

            for (int i = 0; i < count; i++)
            {
                sut.BeginReceive(TimeSpan.FromSeconds(1), ar =>
                                                               {
                                                                   msg2 = sut.EndReceive(ar);
                                                                   //resetEvent.Set();
                                                               },
                                 null);

                sut.Send(sut.QueueId, msg);
                //resetEvent.WaitOne(TimeSpan.FromSeconds(5));
            }

            watch.Stop();
            //int rate = count / (int)watch.Elapsed.TotalSeconds;

            Assert.AreSame(msg, msg2);
        }
        public void TestThatAsStringReturnsStringCriteriaForStringValues()
        {
            var fixture   = new Fixture();
            var fromValue = fixture.CreateAnonymous <string>();
            var toValue   = fixture.CreateAnonymous <string>();

            var fieldMock = MockRepository.GenerateMock <IField>();

            fieldMock.Expect(m => m.NameSource)
            .Return(fixture.CreateAnonymous <string>())
            .Repeat.Any();

            var criteria = new IntervalCriteria <string>(fieldMock, fromValue, toValue);

            Assert.That(criteria, Is.Not.Null);

            var stringCriteria = criteria.AsString();

            Assert.That(stringCriteria, Is.Not.Null);
            Assert.That(stringCriteria, Is.Not.Empty);

            Assert.That(stringCriteria, Is.EqualTo(string.Format("{0}.Value.CompareTo(\"{1}\") >= 0\r\n{0}.Value.CompareTo(\"{2}\") <= 0", fieldMock.NameSource, fromValue, toValue)));
        }
Example #32
0
        public void Can_Upload_File()
        {
            _client.Login(TestVariables.Email, TestVariables.Password);

            var localFile    = new FileInfo(fixture.CreateAnonymous <string>());
            var localContent = fixture.CreateAnonymous <string>();

            File.WriteAllText(localFile.FullName, localContent, System.Text.Encoding.UTF8);
            Assert.IsTrue(File.Exists(localFile.FullName));
            byte[] content = _client.GetFileContentFromFS(localFile);

            var uploaded = _client.UploadFile("/", localFile.Name, content);

            Assert.IsTrue(uploaded);
            File.Delete(localFile.FullName);
        }
Example #33
0
        public void TestThatUpdateSourceValueCanSetSourceValueToNull()
        {
            var fixture = new Fixture();

            var fieldMock = MockRepository.GenerateMock <IField>();

            var fieldData = new FieldData <string, string>(fieldMock, fixture.CreateAnonymous <string>());

            Assert.That(fieldData, Is.Not.Null);

            fieldData.UpdateSourceValue <object>(null);

            Assert.That(fieldData.GetSourceValue <string>(), Is.Null);
        }
Example #34
0
        public void TestThatGetSourceValueGetsTheSourceValue()
        {
            var fixture = new Fixture();

            var fieldMock = MockRepository.GenerateMock <IField>();

            var fieldData = new FieldData <int, string>(fieldMock, fixture.CreateAnonymous <int>());

            Assert.That(fieldData, Is.Not.Null);

            var sourceValue = fieldData.GetSourceValue <int>();

            Assert.That(sourceValue, Is.EqualTo(fieldData.SourceValue));
        }
        public void TestThatEqualsReturnsTrueIfTargetNameIsEqualOnNameObjects()
        {
            var fixture = new Fixture();

            fixture.Customize <INamedObject>(e => e.FromFactory(() =>
            {
                var nameObjectMock = MockRepository.GenerateMock <INamedObject>();
                nameObjectMock.Expect(m => m.NameTarget)
                .Return(fixture.CreateAnonymous <string>())
                .Repeat.Any();
                return(nameObjectMock);
            }));

            var comparer = new NameTargetComparer();

            Assert.That(comparer, Is.Not.Null);

            var x = fixture.CreateAnonymous <INamedObject>();

            Assert.That(comparer.Equals(x, x), Is.True);

            x.AssertWasCalled(m => m.NameTarget, opt => opt.Repeat.Times(2));
        }
        public void TestThatAsSqlReturnsSqlCriteriaForIntegerValues()
        {
            var fixture   = new Fixture();
            var fromValue = fixture.CreateAnonymous <int>();
            var toValue   = fixture.CreateAnonymous <int>();

            var fieldMock = MockRepository.GenerateMock <IField>();

            fieldMock.Expect(m => m.NameSource)
            .Return(fixture.CreateAnonymous <string>())
            .Repeat.Any();

            var criteria = new IntervalCriteria <int>(fieldMock, fromValue, toValue);

            Assert.That(criteria, Is.Not.Null);

            var stringCriteria = criteria.AsSql();

            Assert.That(stringCriteria, Is.Not.Null);
            Assert.That(stringCriteria, Is.Not.Empty);

            Assert.That(stringCriteria, Is.EqualTo(string.Format("{0} BETWEEN {1} AND {2}", fieldMock.NameSource, fromValue, toValue)));
        }
        public void TestThatGetHashCodeGetsHashCode()
        {
            var fixture = new Fixture();

            fixture.Customize <INamedObject>(e => e.FromFactory(() =>
            {
                var nameObjectMock = MockRepository.GenerateMock <INamedObject>();
                nameObjectMock.Expect(m => m.NameTarget)
                .Return(fixture.CreateAnonymous <string>())
                .Repeat.Any();
                return(nameObjectMock);
            }));

            var comparer = new NameTargetComparer();

            Assert.That(comparer, Is.Not.Null);

            var namedObject = fixture.CreateAnonymous <INamedObject>();

            Assert.That(comparer.GetHashCode(namedObject), Is.EqualTo(namedObject.NameTarget.GetHashCode()));

            namedObject.AssertWasCalled(m => m.NameTarget, opt => opt.Repeat.Times(3));
        }
Example #38
0
        public void TestThatConstructorInitializeViewWithDescription()
        {
            var fixture     = new Fixture();
            var nameSource  = fixture.CreateAnonymous <string>();
            var nameTarget  = fixture.CreateAnonymous <string>();
            var sqlQuery    = fixture.CreateAnonymous <string>();
            var description = fixture.CreateAnonymous <string>();
            var view        = new View(nameSource, nameTarget, sqlQuery, description);

            Assert.That(view, Is.Not.Null);
            Assert.That(view.NameSource, Is.Not.Null);
            Assert.That(view.NameSource, Is.Not.Empty);
            Assert.That(view.NameSource, Is.EqualTo(nameSource));
            Assert.That(view.NameTarget, Is.Not.Null);
            Assert.That(view.NameTarget, Is.Not.Empty);
            Assert.That(view.NameTarget, Is.EqualTo(nameTarget));
            Assert.That(view.SqlQuery, Is.Not.Null);
            Assert.That(view.SqlQuery, Is.Not.Empty);
            Assert.That(view.SqlQuery, Is.EqualTo(sqlQuery));
            Assert.That(view.Description, Is.Not.Null);
            Assert.That(view.Description, Is.Not.Empty);
            Assert.That(view.Description, Is.EqualTo(description));
        }
Example #39
0
        public void TestThatConstructorInitializeDocumentWithoutDescription()
        {
            var fixture = new Fixture();

            var id         = fixture.CreateAnonymous <int>();
            var nameSource = fixture.CreateAnonymous <string>();
            var nameTarget = fixture.CreateAnonymous <string>();
            var reference  = fixture.CreateAnonymous <string>();
            var document   = new MyDocument(id, nameSource, nameTarget, reference);

            Assert.That(document, Is.Not.Null);
            Assert.That(document.Id, Is.EqualTo(id));
            Assert.That(document.NameSource, Is.Not.Null);
            Assert.That(document.NameSource, Is.Not.Empty);
            Assert.That(document.NameSource, Is.EqualTo(nameSource));
            Assert.That(document.NameTarget, Is.Not.Null);
            Assert.That(document.NameTarget, Is.Not.Empty);
            Assert.That(document.NameTarget, Is.EqualTo(nameTarget));
            Assert.That(document.Reference, Is.Not.Null);
            Assert.That(document.Reference, Is.Not.Empty);
            Assert.That(document.Reference, Is.EqualTo(reference));
            Assert.That(document.Description, Is.Null);
        }
Example #40
0
        public void MultiplyWillReturnCorrectResult()
        {
            // Fixture setup
            var fixture       = new Fixture();
            var multiplier    = fixture.CreateMany <decimal>().Sum(); // Ensures that the multiplier is greater than 1
            var sut           = fixture.CreateAnonymous <Money>();
            var expectedMoney = new Money(sut.Amount * multiplier, sut.CurrencyCode);
            // Exercise system
            Money result = sut.Multiply(multiplier);

            // Verify outcome
            Assert.Equal <Money>(expectedMoney, result);
            // Teardown
        }
Example #41
0
        public void TestThatConstructorInitializeCreatorWithoutDescription()
        {
            var fixture = new Fixture();

            fixture.Customize <DateTime>(e => e.FromFactory(() => DateTime.Now));

            var nameSource  = fixture.CreateAnonymous <string>();
            var nameTarget  = fixture.CreateAnonymous <string>();
            var periodStart = fixture.CreateAnonymous <DateTime>();
            var periodEnd   = fixture.CreateAnonymous <DateTime>().AddDays(7);
            var creator     = new Creator(nameSource, nameTarget, periodStart, periodEnd);

            Assert.That(creator, Is.Not.Null);
            Assert.That(creator.NameSource, Is.Not.Null);
            Assert.That(creator.NameSource, Is.Not.Empty);
            Assert.That(creator.NameSource, Is.EqualTo(nameSource));
            Assert.That(creator.NameTarget, Is.Not.Null);
            Assert.That(creator.NameTarget, Is.Not.Empty);
            Assert.That(creator.NameTarget, Is.EqualTo(nameTarget));
            Assert.That(creator.Description, Is.Null);
            Assert.That(creator.PeriodStart, Is.EqualTo(periodStart));
            Assert.That(creator.PeriodEnd, Is.EqualTo(periodEnd));
        }
        public void TestThatIsManipulatingFieldReturnsTrueIfDataManipulatorIsManipulatingFieldName()
        {
            var fixture = new Fixture();

            fixture.Customize <Tuple <string, object> >(e => e.FromFactory(() => new Tuple <string, object>(fixture.CreateAnonymous <string>(), fixture.CreateAnonymous <int>())));
            fixture.Customize <Tuple <Type, string, object> >(e => e.FromFactory(() => new Tuple <Type, string, object>(typeof(EqualCriteria <>), fixture.CreateAnonymous <string>(), fixture.CreateAnonymous <int>())));

            var fieldUpdates  = fixture.CreateMany <Tuple <string, object> >(5).ToList();
            var rowDuplicator = new RowDuplicator(fixture.CreateAnonymous <string>(), fieldUpdates);

            Assert.That(rowDuplicator, Is.Not.Null);

            Assert.That(rowDuplicator.IsManipulatingField(fieldUpdates.ElementAt(0).Item1), Is.True);
        }
Example #43
0
        public void CreateWithAnonymousNumberStringWillSucceed()
        {
            // Fixture setup
            Fixture fixture = new Fixture();

            fixture.Register <int, string>(i => i.ToString());
            Contact sut = fixture.CreateAnonymous <Contact>();
            // Exercise system
            int result = sut.PhoneNumber;

            // Verify outcome
            Assert.NotEqual <int>(default(int), result);
            // Teardown
        }
Example #44
0
        public void DiscountPriceCanBeNull()
        {
            // Fixture setup
            var fixture = new Fixture();

            fixture.Inject((Money)null);
            var sut = fixture.CreateAnonymous <CampaignItem>();
            // Exercise system
            var result = sut.DiscountPrice;

            // Verify outcome
            Assert.Null(result);
            // Teardown
        }
Example #45
0
        public void TestThatManipulateDataReturnsWithoutManipulatingDataIfTableSourceNameDoesNotMatchTableNameInTheConstructor()
        {
            var fixture = new Fixture();

            fixture.Customize <Type>(e => e.FromFactory(() => typeof(object)));
            fixture.Customize <Regex>(e => e.FromFactory(() => new Regex("^[JjNn]$", RegexOptions.Compiled)));
            fixture.Customize <RegularExpressionApplyOn>(e => e.FromFactory(() => RegularExpressionApplyOn.ApplyOnMatch));
            fixture.Customize <IMap>(e => e.FromFactory(() => MockRepository.GenerateMock <IMap>()));
            fixture.Customize <IField>(e => e.FromFactory(() => MockRepository.GenerateMock <IField>()));

            var tableMock = MockRepository.GenerateMock <ITable>();

            tableMock.Expect(m => m.NameSource)
            .Return(fixture.CreateAnonymous <string>())
            .Repeat.Any();
            tableMock.Expect(m => m.Fields)
            .Return(new ReadOnlyObservableCollection <IField>(new ObservableCollection <IField>(fixture.CreateMany <IField>(5).ToList())))
            .Repeat.Any();
            fixture.Customize <ITable>(e => e.FromFactory(() => tableMock));

            var tableData = new List <IEnumerable <IDataObjectBase> >(250);

            while (tableData.Count < tableData.Capacity)
            {
                tableData.Add(tableMock.Fields.Select(field => MockRepository.GenerateMock <IDataObjectBase>()).ToList());
            }

            var regularExpressionReplacer = new RegularExpressionReplacer(fixture.CreateAnonymous <string>(), fixture.CreateAnonymous <Regex>(), fixture.CreateAnonymous <RegularExpressionApplyOn>(), fixture.CreateAnonymous <string>(), fixture.CreateAnonymous <object>());

            Assert.That(regularExpressionReplacer, Is.Not.Null);

            regularExpressionReplacer.ManipulateData(fixture.CreateAnonymous <ITable>(), tableData);
            foreach (var tableRow in tableData)
            {
                tableRow.ToList().ForEach(dataObject => dataObject.AssertWasNotCalled(m => m.UpdateSourceValue(Arg <object> .Is.NotNull)));
            }
        }
Example #46
0
        public void DoStuffWillThrowOnNullValue()
        {
            // Fixture setup
            var fixture = new Fixture();

            fixture.Inject(Enumerable.Empty <IAddIn>());
            var       sut       = fixture.CreateAnonymous <AddInClient>();
            SomeValue nullValue = null;

            // Exercise system
            Assert.Throws <ArgumentNullException>(() =>
                                                  sut.DoStuff(nullValue));
            // Verify outcome (expected exception)
            // Teardown
        }
Example #47
0
        public void DoStuffWillReturnValueWithMessageConstructedByAddIns()
        {
            // Fixture setup
            var fixture         = new Fixture();
            var expectedMessage = fixture.CreateAnonymous("Message");

            var addInStub1 = new Mock <IAddIn>();

            addInStub1.Setup(ai => ai.DoStuff(It.IsAny <SomeValue>(), It.IsAny <ISomeContext>())).Returns(fixture.CreateAnonymous("Message"));

            var addInStub2 = new Mock <IAddIn>();

            addInStub2.Setup(ai => ai.DoStuff(It.IsAny <SomeValue>(), It.IsAny <ISomeContext>())).Returns(expectedMessage);

            fixture.Register <IEnumerable <IAddIn> >(() => new[] { addInStub1.Object, addInStub2.Object });

            var sut = fixture.CreateAnonymous <AddInClient>();
            // Exercise system
            SomeValue result = fixture.Get((SomeValue sv) => sut.DoStuff(sv));

            // Verify outcome
            Assert.Equal <string>(expectedMessage, result.Message);
            // Teardown
        }
Example #48
0
        public void Poison_GetPoisoned_QueuesMatch()
        {
            var storage = JobStorageFactory();

            var item = Fixture.CreateAnonymous <TQueue>();

            storage.Queue(item);
            storage.NextQueuedItem();
            var poison = _poisonConverter(item);

            storage.Poison(item, poison);

            Assert.True(storage.GetPoisoned().SequenceEqual(new [] { poison }, GenericEqualityComparer <TQueuePoison> .
                                                            ByAllMembers()));
        }
        public void TestThatExcludeReturnTrueIfValueIsNull()
        {
            var fixture = new Fixture();

            fixture.Customize <Type>(e => e.FromFactory(() => typeof(object)));
            fixture.Customize <ITable>(e => e.FromFactory(() => MockRepository.GenerateMock <ITable>()));
            fixture.Customize <IField>(e => e.FromFactory(() => MockRepository.GenerateMock <IField>()));
            fixture.Customize <IMap>(e => e.FromFactory(() => MockRepository.GenerateMock <IMap>()));

            var criteria = new ExcludeFieldCriteria(fixture.CreateAnonymous <IField>());

            Assert.That(criteria, Is.Not.Null);

            Assert.That(criteria.Exclude(null), Is.True);
        }
        public void CreateWithOmitOnRecursionThrowsAppriateException()
        {
            // Fixture setup
            var fixture = new Fixture();

            fixture.Behaviors
            .OfType <ThrowingRecursionBehavior>()
            .ToList()
            .ForEach(b => fixture.Behaviors.Remove(b));
            fixture.Behaviors.Add(new OmitOnRecursionBehavior());
            // Exercise system and verify outcome
            Assert.Throws <ObjectCreationException>(() =>
                                                    fixture.CreateAnonymous <ClosureOfOperationsHost>());
            // Teardown
        }
Example #51
0
        public void ChangingFromInvalidToValidStateWillRaiseNotifyEvent()
        {
            // Fixture setup
            var fixture         = new Fixture();
            var correctCurrency = "DKK";
            var correctPrice    = fixture.CreateAnonymous <decimal>().ToString();

            var sut = fixture.Build <ProductEditorViewModel>()
                      .With(s => s.Price, correctPrice)
                      .CreateAnonymous();

            // Exercise system and verify outcome
            sut.ShouldNotifyOn(s => s.IsValid).When(s => s.Currency = correctCurrency);
            // Teardown
        }
Example #52
0
        public void ResetTotalWillResetToDefault()
        {
            // Fixture setup
            var   fixture       = new Fixture();
            var   sut           = fixture.CreateAnonymous <Extent>();
            Money expectedTotal = sut.Product.UnitPrice.Multiply(sut.Quantity);

            // Exercise system
            sut.ResetTotal();
            var result = sut.Total;

            // Verify outcome
            Assert.Equal <Money>(expectedTotal, result);
            // Teardown
        }
        public void TestThatAlternativeSystemNamesGetsConfiguredValue()
        {
            var fixture = new Fixture();

            fixture.Customize <IConfigurationValues>(e => e.FromFactory(() => new ConfigurationValues()));

            var configurationValues = fixture.CreateAnonymous <IConfigurationValues>();

            Assert.That(configurationValues, Is.Not.Null);

            var value = configurationValues.AlternativeSystemNames;

            Assert.That(value, Is.Not.Null);
            Assert.That(value.Count(), Is.EqualTo(2));
        }
Example #54
0
        public void SynchronizeService_GivenNullDiagnosis_ThrowsArgumentException()
        {
            // Setup
            var fixture = new Fixture().Customize(new AutoMoqCustomization());

            var encounter = new Mock <Encounter> ();
            var procedure = new Mock <Procedure> ();

            var serviceSynchronizationService = fixture.CreateAnonymous <ServiceSynchronizationService>();

            // Exercise
            serviceSynchronizationService.SynchronizeService(encounter.Object, procedure.Object, null);

            // Verify
        }
Example #55
0
        public void MapCampaignItemWithoutDiscountWillReturnCorrectResult()
        {
            // Fixture setup
            var fixture = new Fixture();

            fixture.Freeze <Product>();
            fixture.Inject((Money)null);

            var item = fixture.CreateAnonymous <CampaignItem>();

            var expectedPresenter = item.AsSource().OfLikeness <CampaignItemPresenter>()
                                    .With(d => d.Id).EqualsWhen((s, d) => s.Product.Id == d.Id)
                                    .With(d => d.ProductName).EqualsWhen((s, d) => s.Product.Name == d.ProductName)
                                    .With(d => d.UnitPrice).EqualsWhen((s, d) => s.Product.UnitPrice.Amount == d.UnitPrice)
                                    .With(d => d.DiscountPrice).EqualsWhen((s, d) => object.Equals(s.DiscountPrice, d.DiscountPrice));

            var sut = fixture.CreateAnonymous <PresentationMapper>();
            // Exercise system
            var result = sut.Map(item);

            // Verify outcome
            Assert.True(expectedPresenter.Equals(result));
            // Teardown
        }
Example #56
0
        public void RegisterArrayWillProperlyPopulateItems()
        {
            // Fixture setup
            var fixture = new Fixture();

            fixture.Register <MyClassB[]>(() =>
                                          fixture.CreateMany <MyClassB>().ToArray());
            // Exercise system
            var mc = fixture.CreateAnonymous <MyClassA>();

            // Verify outcome
            Assert.True(mc.Items.Length > 0, "Non-empty array");
            Assert.True(mc.Items.All(x => x != null), "No item should be null");
            // Teardown
        }
Example #57
0
        public void CreateWillPopulatePhoneNumber()
        {
            // Fixture setup
            Fixture fixture = new Fixture();

            fixture.Register <int, DanishPhoneNumber>(i =>
                                                      new DanishPhoneNumber(i + 112));
            Contact sut = fixture.CreateAnonymous <Contact>();
            // Exercise system
            int result = sut.PhoneNumber.RawNumber;

            // Verify outcome
            Assert.NotEqual <int>(default(int), result);
            // Teardown
        }
Example #58
0
        public void Translate_PatientPhoneListIsNull_ReturnsNullPatientAccountPhoneList()
        {
            // Setup
            var fixture = new Fixture().Customize(new AutoMoqCustomization());

            var sut = fixture.CreateAnonymous <PatientAccountPhoneTranslator>();

            IList <PatientPhone> patientPhoneList = null;

            // Exercise
            var patientAccountPhoneList = sut.Translate(patientPhoneList);

            // Verify
            Assert.IsNull(patientAccountPhoneList);
        }
Example #59
0
        public void BuildMyViewModelWillSucceed()
        {
            // Fixture setup
            var fixture = new Fixture();
            // Exercise system
            var mc  = fixture.CreateAnonymous <MyClass>();
            var mvm = fixture.Build <MyViewModel>()
                      .Do(x => x.AvailableItems.Add(mc))
                      .With(x => x.SelectedItem, mc)
                      .CreateAnonymous();

            // Verify outcome
            Assert.Equal <MyClass>(mc, mvm.SelectedItem);
            // Teardown
        }
Example #60
0
        public void SynchronizeService_ServiceDoesNotExist_CreatesServiceCorrectly()
        {
            // Setup
            var fixture = new Fixture().Customize(new AutoMoqCustomization());

            var encounter = new Mock <Encounter> ();
            var procedure = new Mock <Procedure>();

            procedure.SetupGet(p => p.ProcedureType).Returns(ProcedureType.Activity);
            var diagnosis = fixture.CreateAnonymous <CodedConcept> ();

            var serviceRepository = new Mock <IServiceRepository> ();

            serviceRepository.Setup(p => p.GetByTrackingNumber(It.IsAny <long> ())).Returns <Service> (null);
            fixture.Register(() => serviceRepository.Object);

            var medicalProcedure           = fixture.CreateAnonymous <MedicalProcedure> ();
            var medicalProcedureTranslator = new Mock <IMedicalProcedureTranslator> ();

            medicalProcedureTranslator.Setup(p => p.Translate(It.IsAny <Procedure> ())).Returns(medicalProcedure);
            fixture.Register(() => medicalProcedureTranslator);

            var serviceFactory = new Mock <IServiceFactory> ();

            serviceFactory.Setup(p => p.CreateService(encounter.Object, diagnosis, medicalProcedure, false, procedure.Object.Key)).Returns(
                new Mock <Service>().Object);
            fixture.Register(() => serviceFactory);

            var serviceSynchronizationService = fixture.CreateAnonymous <ServiceSynchronizationService>();

            // Exercise
            serviceSynchronizationService.SynchronizeService(encounter.Object, procedure.Object, diagnosis);

            // Verify
            serviceFactory.Verify(p => p.CreateService(encounter.Object, diagnosis, medicalProcedure, false, procedure.Object.Key));
        }