TEST CASES:
Start with a new Ontology and add a Class named ‘Test_Class’. Add a slot named ‘Test_Instance_Name’ of type String to this class. Go to the forms tab and make this slot the browser key for Test_Class. All classes in the following test cases should be subclasses of Test_Class. In the following test cases, instance name refers to the value of this slot.
|
Test |
Expected Results |
|
1) Search for a Class by Name Add a Class and Name it ‘Test_Class_001’ Search for : a) ‘Test_Class_001’ b) “Test_*’ c) “Test” d) ‘*_Class_001’ e) *_Class_0 |
a) One result returned for Test_Class_001. Double clicking or choosing and clicking on ‘V’ displays the form with class ‘Test_Class_001’ with name slot highlighted b) Two results returned: “Test_Class” and “Test_Class_001” c) Same as ’b’ d) Same as ’a’ e) Same as ’a’
|
|
2) Search for a Slot by Name Add a template slot to Test_Class_001 and Name it ‘Test_Slot_001’. Search for the following: a) “Test_Slot_001” b) “Test_*” c) “*_Slot_001”
|
a) One result returned with Test_Slot_001. Double Clicking or choosing and clicking on ‘V’ displays the Slot with name slot highlighted b) Four results returned: Test_Class, Test_Instance_Name, Test_Class_001 and Test_Slot_001 c) Same as ‘a’ |
|
3) Search for an Instance by Name Create an Instance of ‘Test_Class_001’ and name it ‘Test_Instance_001’. Search for the following (as in Class Search): a) ”Test_ Instance _001” b) “Test_*” c) “*_Instance _001”
|
a) One result returned with Test_Instance_001. Double Clicking or choosing and clicking on ‘V’ displays the Instance with the Test_Instance_Name slot highlighted. b) Five results returned: Test_Class, Test_Instance_Name, Test_Class_001, Test_Slot_001 and Test_Instance_001 c) Same as ‘a’
|
|
4) Search for a Slot Value other than name in an Instance Add slots named ‘Test_Slot_002’ and ‘Test_Slot_003’ of type ‘String” to ‘Test_Class_001’. Open the Instances Tab and assign values ‘Test_Value_001’, ‘Test_Value_002’, and ‘Test_Value_003’ to the three slots for 'Test_Instance_001' (See Figure 1) Search for: a) ‘Test_Value_001’ b) ‘Test_Value_002’ c) ‘Test_Value_003’ d) ‘Test_Value_*’ e) ‘*_Value_001’ |
a) One result returned with values ‘Test_Instance_001’, Test_Class_001’ , Test_Slot_001’, Test_Value_001’ and “” (no graph) b) Same as above except values “Test_Slot_002” and “Test_Value_002” in the matched Slot and Value Columns c) Same as above except values “Test_Slot_003” and “Test_Value_003” in the matched Slot and Value Columns d) Three results returned which are the same as returned in ‘a’,’ b’, and ‘c’ e) Same as 'a' |
|
5) Search for a Slot Value of type Instance Add a second Test Class named ‘Test_Class_002’. Add a slot ‘Test_Slot_004’ to this class and make the allowed value to be an Instance of Type ‘Test_Class_001’. Go to the Instances Tab and create an Instance of ‘Test_Class_002’ named ‘Test_Instance_002’. Assign the value ‘Test_Instance_001’ to the slot ‘Test_Slot_004’ for this Instance. Search for a) “Test_Instance_001” |
a) Two results should be returned. One will be the Instance ‘Test_Instance_001’ where the ‘Test_Instance_name’ slot matched the query and the second one will be ‘Test_Instance_002’ with values ‘Test_Instance_002’ (Instance), ‘Test_Class_002’ (Class), ‘Test_Slot_005’ (matched slot), ‘Test_Instance_001’ (Instance) and “”(no graph). Double Clicking on the Instance or choosing and clicking ‘V’ displays the instance with the slot ‘Test_Slot_004’ highlighted ( See Figure 2) |
|
6) Search for an Slot value on an Instance which appears as a node on a graph Add a new Class “Test_Class_003”. Add a slot “Test_Slot_005” and set its attributes such that it can hold Multiple Instances of classes ‘Test_Class_001’ and ‘Test_Class-002’. Go to the Forms Tab and configure the slot Widget as “GraphWidget” for this slot. Go to the Instances Tab and Add a new Instance for “Test_Class_003” named “Test_Instance_003”. Then Assign Instances “Test_Instance_001” and “Test_Instance_002” to this Slot Search for a) “Test_Instance_001” b) “Test_Instance_002” c) “Test_Instance_*”
|
a) Three results are returned: Test_Instance_001, Test_Instance_002 (from previous test cases) and Test_Instance_003. All three results have the String ‘Test_Instance_003’ in their graph column and displaying any result shows ‘Test_Instance_003’ with both the nodes highlighted on the graph slot b) Two results are returned this time : ‘Test_Instance_002’ and ‘Test_Instance_003’. Both have Test_Instance_003 in their graph columns and display ‘Test_Instance_003’ on double clicking with ‘Test_Instance_002’ node in the graph highlighted. Clicking on the highlighted node in the graph displays Test_Instance_002 with Test_Instance_Name slot highlighted (See Figure 3). c) It should return all the results for both a and b.
|
|
7) Search for an Slot value on an Instance which appears as an arc on a graph Add a new Class ‘Test_Class_004’. Add the ‘:DIRECTED-BINARY-RELATION’ class (find it under :System-Class -> :Relation) as the second parent of this class. Create an Instance ‘Test_Instance_004’ of this class and set slot value for “:From” slot to ‘Test_Instance_001’ and “:TO” slot to ‘Test_Instance_002’. Add a slot to ‘Test_Class_003’ (created for test# 7 above) named ‘Test_Slot_006. Configure it to hold multiple values of type ‘Test_Class_004’. Assign the instance of the relationship we created above (“Test_Instance_004”) to this slot value. Goto the forms tab and configure the graph slot for ‘Test_Class_003’ to have reified relations slot to be ‘Test_Slot_006’. Search for a) “Test_Instance_004” b) “Test_Instance_*”
|
a) Two results are returned: Test_Instance_004 and Test_Instance_003. Double Clicking on either of the results displays Test_Instance_003 with the arc joining the two nodes highlighted (See Figure 4). Clicking on the highlighted arc opens the form displaying “Test_Instance_004” with the name slot highlighted b) This should return all the results as in Test case 6-c above plus the one in 7-a. The graph this time should have both the nodes PLUS the arc connection them as highlighted.
|
|
8) Test that Instances with multiple graph slots are being displayed properly Add a new slot ‘Test_Slot_009’ to class ‘Test_Class_003’ and configure it exactly like Test_Slot_005 in the same class (i.e. it should be configured to display the graph as in Case#7 above with two nodes (Test_Instance_001 and Test_Instance_002) and an arc connecting them (Test_Instance_004).
Search for a) “Test_Instance_001” b) “Test_Instance_002” c) “Test_Instance_*”
|
a) Five results returned (Test_Instance_001, Test_Instance_002, Test_Instance_003, Test_Instance_003 and Test_Instance_004). Test_Instance_003 appears twice since there are two slots in this frame which match the query. Clicking on any result displays Test_Instance_003 with the two graphs this time and all the nodes and arcs highlighted (since all match the query) b) Four results returned (See Figure 5) c) This should display all the results in a and b |
|
9) Sorting a) Search for “Test_*”, many results will be returned. Click on each column header to sort them in first ascending and then descending order.
|
a) Verify that the results are being sorted by that column values properly.
|
|
10) Slots other than the one with the graph are being highlighted properly Add another slot ‘Test_Slot_010’ of type String to the class ‘Test_Class_003’. Assign a value ‘Test_Value_010’ for the Instance “Test_Instance_003”. Search for a) Test_Value_010 b) Test_ *
|
a) One result should be returned with values Test_Instance_003, Test_Class_003, Test_Slot_010, Test_Value_010 and Test_Instance_003. Double Clicking or Choosing and clicking ‘V’ should open up the graph instance with the slot ‘Test_Slot_010’ highlighted. No other slot, node or arc should be highlighted. b) All previous results should show up. Double click on the ones with ‘Test_Instance_003’ in the graph column to display that instance. All nodes, arcs and slots in the instance should be highlighted
|
|
11) Test that Meta Classes are being displayed properly Add a meta class named ‘Test_MetaClass_001’ as a subclass of ‘:Standard-Class’. Add a slot named ‘Test_Slot_011’ to this class. Change meta class for ‘Test_Class_001’ to this new meta class. Search for: a) “Test_MetaClass_001” |
a) One result should be returned displaying the meta class |





Figure 5