summaryrefslogtreecommitdiff
path: root/test/graph_tests-basic.adb
diff options
context:
space:
mode:
Diffstat (limited to 'test/graph_tests-basic.adb')
-rw-r--r--test/graph_tests-basic.adb82
1 files changed, 67 insertions, 15 deletions
diff --git a/test/graph_tests-basic.adb b/test/graph_tests-basic.adb
index b0292a8..5d3aa33 100644
--- a/test/graph_tests-basic.adb
+++ b/test/graph_tests-basic.adb
@@ -1,25 +1,12 @@
--- Remove these when all tests are written
-with Ada.Text_IO, Ada.Exceptions;
-use Ada.Text_IO, Ada.Exceptions;
+-- with Ada.Text_IO, Ada.Exceptions;
+-- use Ada.Text_IO, Ada.Exceptions;
package body Graph_Tests.Basic is
- No_Nodes : Graphs.Node_Array (1 .. 0);
- No_Edges : Graphs.Edge_Array (1 .. 0);
-
- Dup_Nodes : Graphs.Node_Array := (1, 2, 2, 3, 5, 9, 9, 9);
-
- Some_Nodes : Graphs.Node_Array := (1, 2, 5, 9);
- Some_Edges : Graphs.Edge_Array := ((1, 1, 2), (2, 5, 9), (5, 9, 1));
-
- My_Empty_Graph : Graphs.Graph := Graphs.To_Graph (No_Nodes, No_Edges);
- My_Nonempty_Graph : Graphs.Graph := Graphs.To_Graph (Some_Nodes, Some_Edges);
-
-
function To_Graph_Check
return Test_Result
is
@@ -91,6 +78,71 @@ package body Graph_Tests.Basic is
end Cursor_Element_Check;
+ function Equals_Check
+ return Test_Result
+ is
+ use type Graphs.Graph;
+ Other_Nonempty_Graph : Graphs.Graph := Graphs.To_Graph (Some_Nodes, Some_Edges);
+ begin
+ if not (Graphs.Empty_Graph = My_Empty_Graph) or
+ My_Empty_Graph = My_Nonempty_Graph or
+ not (My_Nonempty_Graph = Other_Nonempty_Graph)
+ then
+ return Fail;
+ else
+ return Pass;
+ end if;
+ end Equals_Check;
+
+
+ function Assign_Check
+ return Test_Result
+ is
+ use type Graphs.Graph;
+ Target_Graph : Graphs.Graph := Graphs.Empty_Graph;
+ begin
+ if Target_Graph = My_Nonempty_Graph then
+ return Fail;
+ end if;
+ Target_Graph.Assign (My_Nonempty_Graph);
+ if not (Target_Graph = My_Nonempty_Graph) then
+ return Fail;
+ end if;
+ return Pass;
+ end Assign_Check;
+
+
+ function Copy_Check
+ return Test_Result
+ is
+ use type Graphs.Graph;
+ begin
+ if My_Nonempty_Graph.Copy = My_Empty_Graph or
+ not (My_Nonempty_Graph.Copy = My_Nonempty_Graph)
+ then
+ return Fail;
+ end if;
+ return Pass;
+ end Copy_Check;
+
+
+ function Move_Check
+ return Test_Result
+ is
+ use type Graphs.Graph;
+ Source_Graph : Graphs.Graph := My_Nonempty_Graph;
+ Target_Graph : Graphs.Graph := Graphs.Empty_Graph;
+ begin
+ Target_Graph.Move (Source_Graph);
+ if not (Source_Graph = Graphs.Empty_Graph) or
+ not (Target_Graph = My_Nonempty_Graph)
+ then
+ return Fail;
+ end if;
+ return Pass;
+ end Move_Check;
+
+
end Graph_Tests.Basic;