<commit_before>import buddy.*;
using buddy.Should;

import haxe.ds.StringMap;
import gltf.GLTF;

class TestPrograms extends BuddySuite {
	public function new(sources:StringMap<String>) {
		describe("Loading programs", {
			var box:GLTF = GLTF.parse(sources.get("box"));
			it("", {});
		});
	}
}<commit_msg>added tests for programs<commit_after>import buddy.*;
using buddy.Should;

import haxe.ds.StringMap;
import gltf.GLTF;

class TestPrograms extends BuddySuite {
	public function new(sources:StringMap<String>) {
		describe("Loading programs", {
			var box:GLTF = GLTF.parse(sources.get("box"));
			it("should reference vertex and fragment shaders", {
				box.programs.get('program_0').vertexShader.should.be('Box0VS');
				box.programs.get('program_0').fragmentShader.should.be('Box0FS');
			});

			it("should list program attributes", {
				box.programs.get('program_0').attributes.length.should.be(2);
				box.programs.get('program_0').attributes[0].should.be('a_normal');
				box.programs.get('program_0').attributes[1].should.be('a_position');
			});
		});
	}
}
{'fraction_non_alphanumeric': 0.16713352007469653, 'fraction_numerical': 0.009337068160597572, 'mean_word_length': 5.1257142857142854, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1265163', 'n_tokens_mistral': 391, 'n_tokens_neox': 351, 'n_words': 59}