diff options
author | Jed Barber <jjbarber@y7mail.com> | 2020-05-21 21:24:25 +1000 |
---|---|---|
committer | Jed Barber <jjbarber@y7mail.com> | 2020-05-21 21:24:25 +1000 |
commit | 82a42674ba64c6386152a5910fd7345a92b135e8 (patch) | |
tree | be453540ca12e0679f9ea741f99c592696ce3b96 /test/graph_tests-basic.adb | |
parent | d07979218ea80c58e64148d9638ed3e6195ff6ed (diff) |
Tests complete, minor bugs fixed
Diffstat (limited to 'test/graph_tests-basic.adb')
-rw-r--r-- | test/graph_tests-basic.adb | 82 |
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; |