示例#1
0
        static void Main(string[] args)
        {
            var path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory,
                                    ConfigurationManager.AppSettings["output"]);

            var validator = new ArtifactValidator();
            var manager   = new LibraryManager(validator);

            using (var stream = File.Open(path, FileMode.OpenOrCreate, FileAccess.Write, FileShare.None))
            {
                manager.Write(ArtifactInitializer.Initializer(1000, 0), stream);
            }

            using (var stream = File.Open(path, FileMode.Open, FileAccess.Read, FileShare.None))
            {
                foreach (var artifact in manager.Read(stream))
                {
                    Console.WriteLine(artifact.ToString());
                }
            }
        }
        public void Write_Artifacts_Stream_Write_Without_NotLibraryArtifacts()
        {
            var validArtifacts    = 1000;
            var notValidArtifacts = 10;

            var validator = new ArtifactValidator();

            var manager = new LibraryManager(validator);

            using (var stream = File.Open(_path, FileMode.Create, FileAccess.Write, FileShare.None))
            {
                manager.Write(ArtifactInitializer.Initializer(validArtifacts, notValidArtifacts), stream);
            }

            using (var stream = File.Open(_path, FileMode.Open, FileAccess.Read, FileShare.None))
            {
                var result = manager.Read(stream).ToArray();

                Assert.AreEqual(validArtifacts, result.Length);
            }
        }