예제 #1
0
파일: Form1.cs 프로젝트: jonrgrover/ideas
        public ForeignKey(string tableName, string columnLabel, string toTableName, string toPrimaryKey)
        {
            ForeignTableColumn = new GraphNode(columnLabel);
            ForeignTableColumn.Container = tableName;

            PrimaryTableColumn = new GraphNode(toPrimaryKey);
            PrimaryTableColumn.Container = toTableName;

            FromForeignToPrimary = new GraphEdge(ForeignTableColumn, PrimaryTableColumn, "Foreign Key");
        }
예제 #2
0
파일: Form1.cs 프로젝트: jonrgrover/ideas
        // ----------------------------------------------------------------------------------------
        /// <!-- btnRun_Click -->
        /// <summary>
        ///      basing L4 on L2
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnRun_Click(object sender, EventArgs e)
        {
            // --------------------------------------------------------------------------
            // L4: (constructs at this level should be able to subsume the other levels)
            // --------------------------------------------------------------------------
            Graph     graph = new Graph();
            GraphNode node1 = new GraphNode("Jon");
            GraphNode node2 = new GraphNode("Grover");
            GraphEdge edge  = new GraphEdge(node1, node2);

            graph.Add(node1);
            graph.Add(node2);
            graph.Add(edge);
            string strEdge = edge.ToString();
            Assert.That(strEdge == "Jon -> Grover");


            // --------------------------------------------------------------------------
            // L3 concrete class: (there is no language, system or tool yet)
            // --------------------------------------------------------------------------
            MemberListConcrete dog = new MemberListConcrete("AnimalNamespace", "Dog");
            dog.Add("AnimalNamespace", "AppendageList", "Paws");
            dog.Add("AnimalNamespace", "Sense"        , "Nose");
            string strMemberList = dog.ToString();
            Assert.That(strMemberList  == "Dog : Paws, Nose");

            // --------------------------------------------------------------------------
            // L3 abstract class: (there is no language, system or tool yet)
            // --------------------------------------------------------------------------
            MemberList dog2 = new MemberList("AnimalNamespace", "Dog");



            // --------------------------------------------------------------------------
            // L2 concrete class: (oo languages)
            // --------------------------------------------------------------------------
            InheritClassConcrete inheritRelation = new InheritClassConcrete("Dog", "Animal");
            Assert.That(inheritRelation.ToString() == "Dog : Animal");
            inheritRelation = new InheritClassConcrete("AnimalNamespace", "Dog", "AnimalNamespace", "Animal");
            Assert.That(inheritRelation.ToString() == "AnimalNamespace.Dog : AnimalNamespace.Animal");

            // --------------------------------------------------------------------------
            // L2 abstract class: (oo languages) - basing L2 on L4
            // --------------------------------------------------------------------------
            InheritClass inheritRelation2 = new InheritClass("Dog", "Animal");
            Assert.That(inheritRelation2.ToString() == "Dog : Animal");
            inheritRelation2 = new InheritClass("AnimalNamespace", "Dog", "AnimalNamespace", "Animal");
            Assert.That(inheritRelation2.ToString() == "AnimalNamespace.Dog : AnimalNamespace.Animal");



            // --------------------------------------------------------------------------
            // L1 concrete class: (databases)
            // --------------------------------------------------------------------------
            ForeignKeyConcrete join = new ForeignKeyConcrete("EggDetail", "ParentEggID", "EggMaster", "EggID");
            string strJoin = join.ToString();
            Assert.That(strJoin == "EggDetail.ParentEggID >- EggMaster.EggID");

            // --------------------------------------------------------------------------
            // L1 abstract class: (databases) basing L1 on L4
            // --------------------------------------------------------------------------
            ForeignKey join2 = new ForeignKey("EggDetail", "ParentEggID", "EggMaster", "EggID");
            string strJoin2 = join2.ToString();
            Assert.That(strJoin2 == "EggDetail.ParentEggID >- EggMaster.EggID");



            btnRun.Text = "Success";
        }
예제 #3
0
파일: Form1.cs 프로젝트: jonrgrover/ideas
 public InheritClass(string name, string parent)
 {
     MyClass     = new GraphNode(name  );
     ParentClass = new GraphNode(parent);
     Inheritance = new GraphEdge(ParentClass, MyClass, "Inherits");
 }
예제 #4
0
파일: Form1.cs 프로젝트: jonrgrover/ideas
 public InheritClass(string myNamespace, string className, string parentNamespace, string parentName)
 {
     MyClass     = new GraphNode(className ); MyClass.Container     = myNamespace    ;
     ParentClass = new GraphNode(parentName); ParentClass.Container = parentNamespace;
     Inheritance = new GraphEdge(ParentClass, MyClass, "Inherits");
 }
예제 #5
0
파일: Form1.cs 프로젝트: jonrgrover/ideas
 public void Add(GraphEdge edge1)
 {
     _edge.Add(edge1);
 }