public void TestDeserialize1() { string code = "a=1;"; Dictionary <int, List <VariableLine> > unboundIdentifiers = null; List <ProtoCore.AST.Node> astNodes = null; GraphUtilities.ParseCodeBlockNodeStatements(code, unboundIdentifiers, out astNodes); Ui.Statement statement = new Ui.Statement(astNodes[0]); IStorage storage = new BinaryStorage(); statement.Serialize(storage); Ui.Statement newStatement = new Ui.Statement(storage); storage.Seek(0, SeekOrigin.Begin); newStatement.Deserialize(storage); VariableSlotInfo outputExpression = new VariableSlotInfo("a", 1, uint.MaxValue); Assert.AreEqual("a", statement.DefinedVariable); Assert.AreEqual(outputExpression, statement.OutputExpression); Assert.AreEqual(0, statement.References.Count); Assert.AreEqual(0, statement.Children.Count); Assert.AreEqual(false, statement.IsSwappable); Assert.AreEqual(false, statement.IsComplex); }
public void TestNullObject() { //2 null object, equal VariableSlotInfo varSlotInfo1 = new VariableSlotInfo(); VariableSlotInfo varSlotInfo2 = new VariableSlotInfo(); Assert.AreEqual(varSlotInfo1, varSlotInfo2); }
public void TestDifferentLine() { uint slotId = 0x30000001; VariableSlotInfo varSlotInfo1 = new VariableSlotInfo("a", 1, slotId); VariableSlotInfo varSlotInfo2 = new VariableSlotInfo("a", 2, slotId); Assert.AreNotEqual(varSlotInfo1, varSlotInfo2); }
public void TestDifferentNameLine() { //diff name, diff line, not equal uint slotId = 0x30000001; VariableSlotInfo varSlotInfo1 = new VariableSlotInfo("a", 2, slotId); VariableSlotInfo varSlotInfo2 = new VariableSlotInfo("b", 1, slotId); Assert.AreNotEqual(varSlotInfo1, varSlotInfo2); }
public void Test1NullObject() { //1 null object, not equal uint slotId = 0x30000001; VariableSlotInfo varSlotInfo1 = new VariableSlotInfo("a", 2, slotId); VariableSlotInfo varSlotInfo2 = new VariableSlotInfo(); Assert.AreNotEqual(varSlotInfo1, varSlotInfo2); }
public void TestDifferentSlot() { uint slotId1 = 0x30000001; uint slotId2 = 0x30000002; VariableSlotInfo varSlotInfo1 = new VariableSlotInfo("a", 1, slotId1); VariableSlotInfo varSlotInfo2 = new VariableSlotInfo("a", 1, slotId2); Assert.AreNotEqual(varSlotInfo1, varSlotInfo2); }
public void TestEqual() { //same name, same line, equal IdGenerator idGenerator = new IdGenerator(); uint slotId = idGenerator.GetNextId(ComponentType.Slot); VariableSlotInfo varSlotInfo1 = new VariableSlotInfo("a", 1, slotId); VariableSlotInfo varSlotInfo2 = new VariableSlotInfo("a", 1, slotId); Assert.AreEqual(varSlotInfo1, varSlotInfo2); }
public void TestGetProperties() { uint slotId = 0x30000001; string varName = "a"; int line = 123; VariableSlotInfo varSlotInfo = new VariableSlotInfo(varName, line, slotId); Assert.AreEqual(varName, varSlotInfo.Variable); Assert.AreEqual(line, varSlotInfo.Line); Assert.AreEqual(slotId, varSlotInfo.SlotId); }
public void TestArgumentValidation() { Assert.Throws <ArgumentException>(() => { VariableSlotInfo v = new VariableSlotInfo("variable", -100, 0x01); }); Assert.Throws <ArgumentException>(() => { VariableSlotInfo v = new VariableSlotInfo("", 100, 0x01); }); // null, invalid slot id }
public void TestCapitalLetter() { uint slotId = 0x30000001; //diff name, same line not equal VariableSlotInfo varSlotInfo1 = new VariableSlotInfo("VARIablE", 123312, slotId); VariableSlotInfo varSlotInfo2 = new VariableSlotInfo("variable1", 123312, slotId); Assert.AreNotEqual(varSlotInfo1, varSlotInfo2); //same name, same line, equal varSlotInfo1 = new VariableSlotInfo("VARIablE", 123312, slotId); varSlotInfo2 = new VariableSlotInfo("VARIablE", 123312, slotId); Assert.AreEqual(varSlotInfo1, varSlotInfo2); //same name, diff line, not equal varSlotInfo1 = new VariableSlotInfo("VARIablE", 123312, slotId); varSlotInfo2 = new VariableSlotInfo("VARIablE", 68678, slotId); Assert.AreNotEqual(varSlotInfo1, varSlotInfo2); }
public void TestConstructor3() { string code = "a[1][2] = 1;"; Dictionary <int, List <VariableLine> > unboundIdentifiers = null; List <ProtoCore.AST.Node> astNodes = null; GraphUtilities.ParseCodeBlockNodeStatements(code, unboundIdentifiers, out astNodes); Ui.Statement statement = new Ui.Statement(astNodes[0]); VariableSlotInfo outputExpression = new VariableSlotInfo("a[1][2].x[2].p", 1, uint.MaxValue); Assert.AreEqual("a", statement.DefinedVariable); Assert.AreEqual(outputExpression, statement.OutputExpression); Assert.AreEqual(0, statement.References.Count); Assert.AreEqual(0, statement.Children.Count); Assert.AreEqual(false, statement.IsSwappable); Assert.AreEqual(false, statement.IsComplex); }