From 7a1d6743e1b1c59d7315914f72f523509808ad1f Mon Sep 17 00:00:00 2001 From: Skye Deving <76892045+skyedeving@users.noreply.github.com> Date: Tue, 5 Jan 2021 22:51:15 -0600 Subject: [PATCH] Refactor aopacket tests --- test/test_aopacket.cpp | 50 +++++++++++++++++++----------------------- 1 file changed, 23 insertions(+), 27 deletions(-) diff --git a/test/test_aopacket.cpp b/test/test_aopacket.cpp index a5aeb43..b289f85 100644 --- a/test/test_aopacket.cpp +++ b/test/test_aopacket.cpp @@ -6,42 +6,38 @@ TEST_CASE("AOPacket construct", "[aopacket]") { // Parameters QString packet_string = "CT#MY_OOC_NAME#/doc https://docs.google.com/document/d/123/edit##%"; - QString header = "CT"; - QStringList contents = {"MY_OOC_NAME", "/doc https://docs.google.com/document/d/123/edit#"}; - // Packet string only - AOPacket p(packet_string); - REQUIRE(p.to_string() == packet_string); - - // Header and Contents Separate - AOPacket p2(header, contents); - REQUIRE(p2.to_string() == packet_string); + SECTION("Packet string") { + AOPacket p(packet_string); + REQUIRE(p.to_string() == packet_string); + } + SECTION("Header and contents") { + AOPacket p("CT", {"MY_OOC_NAME", "/doc https://docs.google.com/document/d/123/edit#"}); + REQUIRE(p.to_string() == packet_string); + } } TEST_CASE("AOPacket encode/decode", "[aopacket]") { // Parameters QString packet_string = "CT#MY_OOC_NAME#/doc https://docs.google.com/document/d/%$&/edit##%"; - QString header = "CT"; - QStringList contents = {"MY_OOC_NAME", "/doc https://docs.google.com/document/d/%$&/edit#"}; + QString good_encode = "CT#MY_OOC_NAME#/doc https://docs.google.com/document/d//edit#%"; - // Encodes that get "sent" to the server - QString bad_send = "CT#MY_OOC_NAME#/doc https://docs.google.com/document/d//edit##%"; - QString good_send = "CT#MY_OOC_NAME#/doc https://docs.google.com/document/d//edit#%"; + SECTION("Bad encode/decode because packet string constructor splits the '#' after 'edit'") { + AOPacket p(packet_string); + p.net_encode(); + REQUIRE(p.to_string() != good_encode); - // Bad encode/decode for docs because the split on '#' after "edit" in the doc url - AOPacket p(packet_string); - p.net_encode(); - REQUIRE(p.to_string() == bad_send); + p.net_decode(); + REQUIRE(p.to_string() == packet_string); + } - p.net_decode(); - REQUIRE(p.to_string() == packet_string); + SECTION("Good encode/decode with header and contents constructor") { + AOPacket p("CT", {"MY_OOC_NAME", "/doc https://docs.google.com/document/d/%$&/edit#"}); - // Good encode/decode for docs because header and contents are separate - AOPacket p2(header, contents); + p.net_encode(); + REQUIRE(p.to_string() == good_encode); - p2.net_encode(); - REQUIRE(p2.to_string() == good_send); - - p2.net_decode(); - REQUIRE(p2.to_string() == packet_string); + p.net_decode(); + REQUIRE(p.to_string() == packet_string); + } }