[Test] public void ExecuteMakeBadClassReturnsException() { var executeMake = new ExecuteMake(); var input = new TreeList <string>().AddBranchValue("step").AddBranchValue("make").AddBranchValue("variable").AddBranchValue("garbage"); ExecuteOperation(executeMake, input, 2); CheckForException("message<<NO_CLASS garbage>>"); }
private void MakeSampleClass(string sampleData) { var executeMake = new ExecuteMake { Processor = processor }; var input = new SlimTree().AddBranchValue("step").AddBranchValue("make").AddBranchValue("scriptTableActor").AddBranchValue("fitSharp.Test.NUnit.Slim.SampleClass").AddBranchValue(sampleData); ExecuteOperation(executeMake, input, 2); }
[Test] public void ExecuteMakeBadClassReturnsException() { var executeMake = new ExecuteMake { Processor = processor }; var input = new SlimTree().AddBranchValue("step").AddBranchValue("make").AddBranchValue("variable").AddBranchValue("garbage"); ExecuteOperation(executeMake, input, 2); CheckForException("message:<<NO_CLASS garbage>>"); }
[Test] public void ExecuteMakeUsesSymbolInClassName() { processor.Store(new Symbol("symbol", "NUnit")); var executeMake = new ExecuteMake { Processor = processor }; var input = new SlimTree().AddBranchValue("step").AddBranchValue("make").AddBranchValue("variable").AddBranchValue("fitSharp.Test.$symbol.Slim.SampleClass"); ExecuteOperation(executeMake, input, 2); Assert.IsTrue(processor.Load(new SavedInstance("variable")).Instance is SampleClass); }
[Test] public void ExecuteMakeUsesSymbolAsFullClassName() { processor.Get <Symbols>().Save("symbol", "fitSharp.Test.NUnit.Slim.SampleClass"); var executeMake = new ExecuteMake { Processor = processor }; var input = new SlimTree().AddBranchValue("step").AddBranchValue("make").AddBranchValue("variable").AddBranchValue("$symbol"); ExecuteOperation(executeMake, input, 2); Assert.IsTrue(processor.Get <SavedInstances>().GetValue("variable") is SampleClass); }
[Test] public void ExecuteMakeUsesSymbolAsObject() { var newClass = new SampleClass(); processor.Store(new Symbol("symbol", newClass)); var executeMake = new ExecuteMake { Processor = processor }; var input = new SlimTree().AddBranchValue("step").AddBranchValue("make").AddBranchValue("variable").AddBranchValue("$symbol"); ExecuteOperation(executeMake, input, 2); Assert.AreEqual(newClass, processor.Load(new SavedInstance("variable")).Instance); }
[Test] public void ExecuteMakeLibraryIsStacked() { var executeMake = new ExecuteMake { Processor = processor }; var input = new SlimTree().AddBranchValue("step").AddBranchValue("make").AddBranchValue("librarystuff").AddBranchValue("fitSharp.Test.NUnit.Slim.SampleClass"); ExecuteOperation(executeMake, input, 2); foreach (TypedValue libraryInstance in processor.LibraryInstances) { Assert.IsTrue(libraryInstance.Value is SampleClass); return; } Assert.Fail(); }
[Test] public void ExecuteCallOnMissingInstanceUsesLibrary() { var executeMake = new ExecuteMake { Processor = processor }; var input = new SlimTree().AddBranchValue("step").AddBranchValue("make").AddBranchValue("librarystuff").AddBranchValue("fitSharp.Test.NUnit.Slim.SampleClass"); ExecuteOperation(executeMake, input, 2); var executeCall = new ExecuteCall { Processor = processor }; input = new SlimTree().AddBranchValue("step").AddBranchValue("call").AddBranchValue("garbage").AddBranchValue("SampleMethod"); SampleClass.MethodCount = 0; ExecuteOperation(executeCall, input, 2); Assert.AreEqual(1, SampleClass.MethodCount); }