public void Run_with_no_input_returns_WasSuccessful_false()
        {
            var packer = new TexturePacker(new TexturePacker.Settings());
            var result = packer.Run();

            Assert.False(result.WasSuccessful);
        }
        public void Run_with_no_input_returns_appropriate_error_message()
        {
            var packer = new TexturePacker(new TexturePacker.Settings());
            var result = packer.Run();

            Assert.Equal(result.ErrorMessage, "No input textures provided");
        }
 public void Add_throws_on_bad_reference()
 {
     var packer = new TexturePacker(new TexturePacker.Settings());
     var image = MockImage(1,1);
     Assert.Throws<ArgumentException>(() => packer.AddImage(image, ""));
     Assert.Throws<ArgumentException>(() => packer.AddImage(image, " "));
     Assert.Throws<ArgumentException>(() => packer.AddImage(image, null));
 }
        public void Run_success_result_includes_all_added_textures()
        {
            var packer = new TexturePacker(new TexturePacker.Settings(), MockTextureAtlasCalculator());
            packer.AddImage(new Bitmap(120, 60), "a");
            packer.AddImage(new Bitmap(80, 100), "b");
            packer.AddImage(new Bitmap(32, 32), "c");

            var result = packer.Run();

            Assert.True(result.Value.Nodes.Count() == 3);
            Assert.True(result.Value.Nodes.Count(n => n.Reference == "a") == 1);
            Assert.True(result.Value.Nodes.Count(n => n.Reference == "b") == 1);
            Assert.True(result.Value.Nodes.Count(n => n.Reference == "c") == 1);
        }
Пример #5
0
        private void btnRun_Click(object sender, EventArgs e)
        {
            var settings = GetSettings();
            var packer = new TexturePacker(settings);
            foreach (var file in Directory.GetFiles(txtInputPath.Text))
            {
                packer.AddImage(Bitmap.FromFile(file), file);
            }
            var atlas = packer.Run();
            var result = (new TextureAtlasRenderer(settings.RendererSettings)).Render(atlas.Value);
            result.Save("C:\\ttt.png");

            MessageBox.Show("Complete\n\n" + atlas.ErrorMessage);
        }
        public void Run_success_result_only_contains_explicitly_added_node_references()
        {
            var packer = new TexturePacker(new TexturePacker.Settings(), MockTextureAtlasCalculator());
            packer.AddImage(new Bitmap(120, 60), "a");
            packer.AddImage(new Bitmap(80, 100), "b");
            packer.AddImage(new Bitmap(32, 32), "c");

            var result = packer.Run();

            var wrongCount = result.Value.Nodes
                .Select(n => n.Reference)
                .Count(s => !new[] {"a", "b", "c"}.Contains(s));

            Assert.Equal(wrongCount, 0);
        }
        public void Run_with_valid_input_returns_no_error_message()
        {
            var packer = new TexturePacker(new TexturePacker.Settings(), MockTextureAtlasCalculator());
            packer.AddImage(new Bitmap(120, 60), "a");
            packer.AddImage(new Bitmap(80, 100), "b");
            packer.AddImage(new Bitmap(32, 32), "c");

            var result = packer.Run();

            Assert.Equal(result.ErrorMessage, "");
        }
 public void Add_throws_on_bad_image()
 {
     var packer = new TexturePacker(new TexturePacker.Settings());
     Assert.Throws<ArgumentNullException>(() => packer.AddImage(null, "test"));
 }
        public void Run_with_valid_input_returns_WasSuccessful_true()
        {
            var packer = new TexturePacker(new TexturePacker.Settings(), MockTextureAtlasCalculator());
            packer.AddImage(new Bitmap(120, 60), "a");
            packer.AddImage(new Bitmap(80, 100), "b");
            packer.AddImage(new Bitmap(32, 32), "c");

            var result = packer.Run();

            Assert.True(result.WasSuccessful);
        }