public void finds_property_name() { var description = FixtureAnalyzer.ExtractSpecification(_sampleTestFile); Assert.IsTrue(description.Properties.Any(p => p.Name == "Blah")); Assert.IsTrue(description.Properties.Any(p => p.Name == "Wololo")); }
public void finds_function_names() { var description = FixtureAnalyzer.ExtractSpecification(_sampleTestFile); Assert.IsTrue(description.Functions.Any(f => f.Name == "DoSmth")); Assert.IsTrue(description.Functions.Any(f => f.Name == "DoSmthElse")); }
static void Main(string[] args) { if (args.Length != 1 || !File.Exists(args[0])) { Console.WriteLine($"Usage: {Environment.CommandLine.Split(' ')[0]} path_to_test_file"); return; } var fixtureContent = File.ReadAllText(args[0]); var description = FixtureAnalyzer.ExtractSpecification(fixtureContent); var generator = new ClassGenerator(description); var code = generator.GenerateClass(); var classPath = description.Name + ".cs"; if (File.Exists(classPath)) { Console.WriteLine($"{classPath} already exists. Overwrite? [Y]es / [N]o "); var key = Console.ReadKey(); if (key.KeyChar != 'Y' && key.KeyChar != 'y') { return; } } File.WriteAllText(classPath, code); }
public void default_argument_type_is_object() { var description = FixtureAnalyzer.ExtractSpecification(_sampleTestFile); Assert.AreEqual("object", description.Functions.First(f => f.Name == "DoSmthElse").Arguments.First()); }
public void recognizes_argument_type() { var description = FixtureAnalyzer.ExtractSpecification(_sampleTestFile); Assert.AreEqual("string", description.Functions.First(f => f.Name == "DoSmth").Arguments.First()); }
public void finds_arguments_number() { var description = FixtureAnalyzer.ExtractSpecification(_sampleTestFile); Assert.AreEqual(1, description.Functions.First(f => f.Name == "DoSmth").Arguments.Count()); }
public void finds_return_types() { var description = FixtureAnalyzer.ExtractSpecification(_sampleTestFile); Assert.AreEqual("int", description.Functions.First(f => f.Name == "DoSmthElse").ReturnType); }
public void default_function_return_type_is_void() { var description = FixtureAnalyzer.ExtractSpecification(_sampleTestFile); Assert.AreEqual("void", description.Functions.First(f => f.Name == "DoSmth").ReturnType); }
public void finds_functions() { var description = FixtureAnalyzer.ExtractSpecification(_sampleTestFile); Assert.AreEqual(2, description.Functions.Count()); }
public void parses_name() { var description = FixtureAnalyzer.ExtractSpecification(_sampleTestFile); Assert.AreEqual("SampleClass", description.Name); }
public void does_not_throw_on_sample_use() { FixtureAnalyzer.ExtractSpecification(_sampleTestFile); }
public void property_is_object_by_default() { var description = FixtureAnalyzer.ExtractSpecification(_sampleTestFile); Assert.AreEqual("object", description.Properties.First(p => p.Name == "Wololo").Type); }
public void finds_property_type() { var description = FixtureAnalyzer.ExtractSpecification(_sampleTestFile); Assert.AreEqual("string", description.Properties.First(p => p.Name == "Blah").Type); }
public void recognizes_settable_properties() { var description = FixtureAnalyzer.ExtractSpecification(_sampleTestFile); Assert.IsTrue(description.Properties.First(p => p.Name == "Blah").HasSetter); }
public void property_is_readonly_by_default() { var description = FixtureAnalyzer.ExtractSpecification(_sampleTestFile); Assert.IsFalse(description.Properties.First(p => p.Name == "Wololo").HasSetter); }