public void DbStoredProcedureHandler_Execute() { var commander = new EchoProcedureEmulator(); var test = new DbStoredProcedureHandler(); test.Database = commander.Database; test.OperationName = commander.OperationName; test.MetadataBuilder = commander.MetadataBuilder; var arg1 = new AtomData("String", "The quick brown fox etc. etc."); var arg2 = new AtomData("Integer", 123456); var arg3 = new AtomData("Decimal", 3.14159m); var arguments = new AtomCollectionData(); arguments.AddAtom(arg1); arguments.AddAtom(arg2); arguments.AddAtom(arg3); var result = test.Execute(arguments); var rowsets = result.RowSets.ToArray(); Assert.AreEqual(3, rowsets.Length); Assert.AreEqual(arg1.Name, rowsets[0].Rows.First().Atoms.First().Name); Assert.AreEqual(arg2.Name, rowsets[1].Rows.First().Atoms.First().Name); Assert.AreEqual(arg3.Name, rowsets[2].Rows.First().Atoms.First().Name); Assert.AreEqual(arg1.Value, rowsets[0].Rows.First().Atoms.First().Value); Assert.AreEqual(arg2.Value, rowsets[1].Rows.First().Atoms.First().Value); Assert.AreEqual(arg3.Value, rowsets[2].Rows.First().Atoms.First().Value); }
public void JsonResult_SerializeData_Good() { var data = new RowSetCollectionData(); var rowset1 = new RowSetData(); data.AddRowSet(rowset1); var row11 = new AtomCollectionData(); row11.AddAtom(new AtomData(Name11, StringValue)); rowset1.AddRow(row11); var row12 = new AtomCollectionData(); row12.AddAtom(new AtomData(Name11, DecimalValue)); rowset1.AddRow(row12); var row13 = new AtomCollectionData(); row13.AddAtom(new AtomData(Name11, IntegerValue)); rowset1.AddRow(row13); var rowset2 = new RowSetData(); data.AddRowSet(rowset2); var row21 = new AtomCollectionData(); row21.AddAtom(new AtomData(Name21, StringValue)); row21.AddAtom(new AtomData(Name22, DecimalValue)); row21.AddAtom(new AtomData(Name23, IntegerValue)); rowset2.AddRow(row21); using (var writer = new StringWriter()) { _serializer.SerializeData(writer, data); var text = writer.ToString(); Console.WriteLine(text); Assert.AreEqual("{:[[{:}{:}{:}][{:::}]]}", Skeletonize(text, "[]{}:")); Assert.AreEqual(1, GetOccurrenceCount(DataName, text)); Assert.AreEqual(0, GetOccurrenceCount(ErrorName, text)); Assert.AreEqual(3, GetOccurrenceCount(Name11, text)); Assert.AreEqual(1, GetOccurrenceCount(Name21, text)); Assert.AreEqual(1, GetOccurrenceCount(Name22, text)); Assert.AreEqual(1, GetOccurrenceCount(Name23, text)); Assert.AreEqual(2, GetOccurrenceCount(StringValue, text)); Assert.AreEqual(2, GetOccurrenceCount(DecimalValue.ToString(CultureInfo.InvariantCulture), text)); Assert.AreEqual(2, GetOccurrenceCount(IntegerValue.ToString(CultureInfo.InvariantCulture), text)); } }
public void AtomCollectionData_Named() { var named1 = MakeNamedAtom(); var named2 = MakeNamedAtom(); var unnamed = MakeUnnamedAtom(); var data = new AtomCollectionData(); data.AddAtom(named1); AssertPlus.Throws(() => { data.AddAtom(unnamed); }); Assert.IsNull(data[named2.Name]); data.AddAtom(named2); Assert.AreEqual(named2, data[named2.Name]); Assert.AreEqual(2, data.Atoms.Count()); }
public void AtomCollectionData_Unnamed() { var named = MakeNamedAtom(); var unnamed1 = MakeUnnamedAtom(); var unnamed2 = MakeUnnamedAtom(); var data = new AtomCollectionData(); data.AddAtom(unnamed1); data.AddAtom(unnamed2); data.AddAtom(unnamed1); AssertPlus.Throws(() => { data.AddAtom(named); }); AssertPlus.Throws(() => { var atom = data[named.Name]; }); Assert.AreEqual(3, data.Atoms.Count()); var atoms = data.Atoms.ToArray(); Assert.AreEqual(unnamed1, atoms[2]); Assert.AreEqual(unnamed2, atoms[1]); }
public void JsonResult_SerializeData_Bad() { var data = new RowSetCollectionData(); var rowset = new RowSetData(); data.AddRowSet(rowset); var row1 = new AtomCollectionData(); row1.AddAtom(new AtomData()); rowset.AddRow(row1); using (var writer = new StringWriter()) { _serializer.SerializeData(writer, data); var text = writer.ToString(); Console.WriteLine(text); Assert.AreEqual(1, GetOccurrenceCount(ErrorName, text)); } }