コード例 #1
0
        public void Publish_publishes_file_to_GlossaryFileWriter()
        {
            // Arrange

            var fixture            = new Fixture();
            var glossary           = fixture.Create <Glossary>();
            var serializedGlossary = JsonConvert.SerializeObject(glossary);
            var inputModel         = fixture.Create <GlossaryInputModel>();

            var compositionService = Substitute.For <ICompositionService>();

            compositionService.CreateGlossary(Arg.Any <string>()).Returns(glossary);

            string glossaryOutput = string.Empty;
            var    fileWriter     = Substitute.For <IGlossaryFileWriter>();

            fileWriter.WriteGlossaryToFile(Arg.Do <string>(s => glossaryOutput = s), Arg.Any <string>());

            var sut = new JsonGlossaryPublishingService(compositionService, fileWriter);

            // Act

            sut.Publish(inputModel);

            // Assert

            glossaryOutput.ShouldBe(serializedGlossary);
        }
コード例 #2
0
        public static void WriteGlossary(string domainAssembly, string outputFile)
        {
            var publisher = new JsonGlossaryPublishingService();

            var inputModel = new GlossaryInputModel {
                DomainAssemblyFile = domainAssembly, GlossaryOutputFile = outputFile
            };

            publisher.Publish(inputModel);
        }
コード例 #3
0
        public void Publish_invalid_GlossaryOutputFile_throws_exception(string invalidGlossaryOutputFile)
        {
            var inputModel = new GlossaryInputModel {
                DomainAssemblyFile = "c:/temp/dll", GlossaryOutputFile = invalidGlossaryOutputFile
            };

            var sut = new JsonGlossaryPublishingService();

            Should.Throw <ArgumentException>(() => sut.Publish(inputModel));
        }
        public void Publish_publishes_file_to_GlossaryFileWriter()
        {
            // Arrange

            var directory  = Directory.GetCurrentDirectory() + "/../../../../Sample/";
            var outputFile = directory + "output.json";
            var sut        = new JsonGlossaryPublishingService();
            var inputModel = new GlossaryInputModel {
                DomainAssemblyFile = directory + InputAssembly, GlossaryOutputFile = outputFile
            };

            // Act

            sut.Publish(inputModel);

            // Assert

            var outputContents = File.ReadAllText(outputFile);

            outputContents.Contains("Customer").ShouldBeTrue();
        }