Skip to content

Commit 8b535f6

Browse files
author
Vyacheslav
committed
feat:
+ tests for queue on composite items: expand tests
1 parent 8a3d78f commit 8b535f6

File tree

1 file changed

+208
-71
lines changed

1 file changed

+208
-71
lines changed

Src/Tests/QueueOfTestStructFixture.cs

Lines changed: 208 additions & 71 deletions
Original file line numberDiff line numberDiff line change
@@ -631,7 +631,7 @@ public void ExpandCapacityHeadAfterTailTest()
631631
{
632632
var queue = new Tests.Struct.QueueOfTestStruct(5, &memory);
633633

634-
queue.Push(new TestStruct(1, 3, new TestClass(11, 11)));
634+
queue.Push(new TestStruct(1, 1, new TestClass(11, 11)));
635635
queue.Push(new TestStruct(2, 2, new TestClass(22, 22)));
636636
queue.Push(new TestStruct(3, 3, new TestClass(33, 33)));
637637
queue.Push(new TestStruct(4, 4, new TestClass(44, 44)));
@@ -736,54 +736,87 @@ public void ExpandCapacityHeadAfterTailTest()
736736
}
737737
}
738738

739-
//TODO rewrite tests________________________________________________after line
740739
[Test]
741740
public void ExpandCapacityHeadAfterTailOwnTest()
742741
{
743742
unsafe
744743
{
745-
var queue = new StackMemoryCollections.Struct.QueueOfUInt32();
746-
747-
queue.Push(15);
748-
749-
queue.Push(45);
750-
751-
queue.Push(0);
744+
using var queue = new Tests.Struct.QueueOfTestStruct();
752745

753-
queue.Push(34);
746+
queue.Push(new TestStruct(1, 1, new TestClass(11, 11)));
747+
queue.Push(new TestStruct(2, 2, new TestClass(22, 22)));
748+
queue.Push(new TestStruct(3, 3, new TestClass(33, 33)));
749+
queue.Push(new TestStruct(4, 4, new TestClass(44, 44)));
754750

755751
queue.Pop();
756752
queue.Pop();
757753

758-
queue.Push(15);
759-
760-
queue.Push(45);
754+
queue.Push(new TestStruct(5, 5, new TestClass(55, 55)));
755+
queue.Push(new TestStruct(6, 6, new TestClass(66, 66)));
761756

762757
queue.ExpandCapacity(3);
763-
Assert.That(queue.Back(), Is.EqualTo(45));
764-
queue.Push(140);
765-
766-
Assert.That(queue.Front(), Is.EqualTo(0));
758+
queue.Push(new TestStruct(7, 7, new TestClass(77, 77)));
759+
760+
var front = queue.Front();
761+
var back = queue.Back();
762+
Assert.That(front.Int32, Is.EqualTo(3));
763+
Assert.That(front.Int64, Is.EqualTo(3));
764+
Assert.That(front.TestClass.Int32, Is.EqualTo(33));
765+
Assert.That(front.TestClass.Int64, Is.EqualTo(33));
766+
Assert.That(back.Int32, Is.EqualTo(7));
767+
Assert.That(back.Int64, Is.EqualTo(7));
768+
Assert.That(back.TestClass.Int32, Is.EqualTo(77));
769+
Assert.That(back.TestClass.Int64, Is.EqualTo(77));
767770
queue.Pop();
768-
Assert.That(queue.Back(), Is.EqualTo(140));
769771

770-
Assert.That(queue.Front(), Is.EqualTo(34));
772+
front = queue.Front();
773+
back = queue.Back();
774+
Assert.That(front.Int32, Is.EqualTo(4));
775+
Assert.That(front.Int64, Is.EqualTo(4));
776+
Assert.That(front.TestClass.Int32, Is.EqualTo(44));
777+
Assert.That(front.TestClass.Int64, Is.EqualTo(44));
778+
Assert.That(back.Int32, Is.EqualTo(7));
779+
Assert.That(back.Int64, Is.EqualTo(7));
780+
Assert.That(back.TestClass.Int32, Is.EqualTo(77));
781+
Assert.That(back.TestClass.Int64, Is.EqualTo(77));
771782
queue.Pop();
772-
Assert.That(queue.Back(), Is.EqualTo(140));
773783

774-
Assert.That(queue.Front(), Is.EqualTo(15));
784+
front = queue.Front();
785+
back = queue.Back();
786+
Assert.That(front.Int32, Is.EqualTo(5));
787+
Assert.That(front.Int64, Is.EqualTo(5));
788+
Assert.That(front.TestClass.Int32, Is.EqualTo(55));
789+
Assert.That(front.TestClass.Int64, Is.EqualTo(55));
790+
Assert.That(back.Int32, Is.EqualTo(7));
791+
Assert.That(back.Int64, Is.EqualTo(7));
792+
Assert.That(back.TestClass.Int32, Is.EqualTo(77));
793+
Assert.That(back.TestClass.Int64, Is.EqualTo(77));
775794
queue.Pop();
776-
Assert.That(queue.Back(), Is.EqualTo(140));
777795

778-
Assert.That(queue.Front(), Is.EqualTo(45));
796+
front = queue.Front();
797+
back = queue.Back();
798+
Assert.That(front.Int32, Is.EqualTo(6));
799+
Assert.That(front.Int64, Is.EqualTo(6));
800+
Assert.That(front.TestClass.Int32, Is.EqualTo(66));
801+
Assert.That(front.TestClass.Int64, Is.EqualTo(66));
802+
Assert.That(back.Int32, Is.EqualTo(7));
803+
Assert.That(back.Int64, Is.EqualTo(7));
804+
Assert.That(back.TestClass.Int32, Is.EqualTo(77));
805+
Assert.That(back.TestClass.Int64, Is.EqualTo(77));
779806
queue.Pop();
780-
Assert.That(queue.Back(), Is.EqualTo(140));
781807

782-
Assert.That(queue.Front(), Is.EqualTo(140));
808+
front = queue.Front();
809+
back = queue.Back();
810+
Assert.That(front.Int32, Is.EqualTo(7));
811+
Assert.That(front.Int64, Is.EqualTo(7));
812+
Assert.That(front.TestClass.Int32, Is.EqualTo(77));
813+
Assert.That(front.TestClass.Int64, Is.EqualTo(77));
814+
Assert.That(back.Int32, Is.EqualTo(7));
815+
Assert.That(back.Int64, Is.EqualTo(7));
816+
Assert.That(back.TestClass.Int32, Is.EqualTo(77));
817+
Assert.That(back.TestClass.Int64, Is.EqualTo(77));
783818
queue.Pop();
784819

785-
queue.Dispose();
786-
787820
Assert.That(queue.Size, Is.EqualTo((nuint)0));
788821
}
789822
}
@@ -793,46 +826,103 @@ public void ExpandCapacityHeadBeforeTailTest()
793826
{
794827
unsafe
795828
{
796-
using (var memory = new StackMemoryCollections.Struct.StackMemory(sizeof(UInt32) * 8))
829+
using (var memory = new StackMemoryCollections.Struct.StackMemory(TestStructHelper.SizeOf * 8))
797830
{
798-
var queue = new StackMemoryCollections.Struct.QueueOfUInt32(5, &memory);
799-
800-
queue.Push(15);
801-
802-
queue.Push(45);
831+
var queue = new Tests.Struct.QueueOfTestStruct(5, &memory);
803832

804-
queue.Push(0);
833+
queue.Push(new TestStruct(1, 1, new TestClass(11, 11)));
834+
queue.Push(new TestStruct(2, 2, new TestClass(22, 22)));
835+
queue.Push(new TestStruct(3, 3, new TestClass(33, 33)));
836+
queue.Push(new TestStruct(4, 4, new TestClass(44, 44)));
837+
queue.Push(new TestStruct(5, 5, new TestClass(55, 55)));
805838

806-
queue.Push(34);
839+
queue.ExpandCapacity(3);
807840

808-
queue.Push(140);
841+
var front = queue.Front();
842+
var back = queue.Back();
843+
Assert.That(front.Int32, Is.EqualTo(1));
844+
Assert.That(front.Int64, Is.EqualTo(1));
845+
Assert.That(front.TestClass.Int32, Is.EqualTo(11));
846+
Assert.That(front.TestClass.Int64, Is.EqualTo(11));
847+
Assert.That(back.Int32, Is.EqualTo(5));
848+
Assert.That(back.Int64, Is.EqualTo(5));
849+
Assert.That(back.TestClass.Int32, Is.EqualTo(55));
850+
Assert.That(back.TestClass.Int64, Is.EqualTo(55));
809851

810-
queue.ExpandCapacity(3);
811-
Assert.That(queue.Back(), Is.EqualTo(140));
812-
queue.Push(140);
852+
queue.Push(new TestStruct(6, 6, new TestClass(66, 66)));
813853

814-
Assert.That(queue.Front(), Is.EqualTo(15));
854+
front = queue.Front();
855+
back = queue.Back();
856+
Assert.That(front.Int32, Is.EqualTo(1));
857+
Assert.That(front.Int64, Is.EqualTo(1));
858+
Assert.That(front.TestClass.Int32, Is.EqualTo(11));
859+
Assert.That(front.TestClass.Int64, Is.EqualTo(11));
860+
Assert.That(back.Int32, Is.EqualTo(6));
861+
Assert.That(back.Int64, Is.EqualTo(6));
862+
Assert.That(back.TestClass.Int32, Is.EqualTo(66));
863+
Assert.That(back.TestClass.Int64, Is.EqualTo(66));
815864
queue.Pop();
816-
Assert.That(queue.Back(), Is.EqualTo(140));
817865

818-
Assert.That(queue.Front(), Is.EqualTo(45));
866+
front = queue.Front();
867+
back = queue.Back();
868+
Assert.That(front.Int32, Is.EqualTo(2));
869+
Assert.That(front.Int64, Is.EqualTo(2));
870+
Assert.That(front.TestClass.Int32, Is.EqualTo(22));
871+
Assert.That(front.TestClass.Int64, Is.EqualTo(22));
872+
Assert.That(back.Int32, Is.EqualTo(6));
873+
Assert.That(back.Int64, Is.EqualTo(6));
874+
Assert.That(back.TestClass.Int32, Is.EqualTo(66));
875+
Assert.That(back.TestClass.Int64, Is.EqualTo(66));
819876
queue.Pop();
820-
Assert.That(queue.Back(), Is.EqualTo(140));
821877

822-
Assert.That(queue.Front(), Is.EqualTo(0));
878+
front = queue.Front();
879+
back = queue.Back();
880+
Assert.That(front.Int32, Is.EqualTo(3));
881+
Assert.That(front.Int64, Is.EqualTo(3));
882+
Assert.That(front.TestClass.Int32, Is.EqualTo(33));
883+
Assert.That(front.TestClass.Int64, Is.EqualTo(33));
884+
Assert.That(back.Int32, Is.EqualTo(6));
885+
Assert.That(back.Int64, Is.EqualTo(6));
886+
Assert.That(back.TestClass.Int32, Is.EqualTo(66));
887+
Assert.That(back.TestClass.Int64, Is.EqualTo(66));
823888
queue.Pop();
824-
Assert.That(queue.Back(), Is.EqualTo(140));
825889

826-
Assert.That(queue.Front(), Is.EqualTo(34));
890+
front = queue.Front();
891+
back = queue.Back();
892+
Assert.That(front.Int32, Is.EqualTo(4));
893+
Assert.That(front.Int64, Is.EqualTo(4));
894+
Assert.That(front.TestClass.Int32, Is.EqualTo(44));
895+
Assert.That(front.TestClass.Int64, Is.EqualTo(44));
896+
Assert.That(back.Int32, Is.EqualTo(6));
897+
Assert.That(back.Int64, Is.EqualTo(6));
898+
Assert.That(back.TestClass.Int32, Is.EqualTo(66));
899+
Assert.That(back.TestClass.Int64, Is.EqualTo(66));
827900
queue.Pop();
828-
Assert.That(queue.Back(), Is.EqualTo(140));
829901

830-
Assert.That(queue.Front(), Is.EqualTo(140));
902+
front = queue.Front();
903+
back = queue.Back();
904+
Assert.That(front.Int32, Is.EqualTo(5));
905+
Assert.That(front.Int64, Is.EqualTo(5));
906+
Assert.That(front.TestClass.Int32, Is.EqualTo(55));
907+
Assert.That(front.TestClass.Int64, Is.EqualTo(55));
908+
Assert.That(back.Int32, Is.EqualTo(6));
909+
Assert.That(back.Int64, Is.EqualTo(6));
910+
Assert.That(back.TestClass.Int32, Is.EqualTo(66));
911+
Assert.That(back.TestClass.Int64, Is.EqualTo(66));
831912
queue.Pop();
832-
Assert.That(queue.Back(), Is.EqualTo(140));
833913

834-
Assert.That(queue.Front(), Is.EqualTo(140));
914+
front = queue.Front();
915+
back = queue.Back();
916+
Assert.That(front.Int32, Is.EqualTo(6));
917+
Assert.That(front.Int64, Is.EqualTo(6));
918+
Assert.That(front.TestClass.Int32, Is.EqualTo(66));
919+
Assert.That(front.TestClass.Int64, Is.EqualTo(66));
920+
Assert.That(back.Int32, Is.EqualTo(6));
921+
Assert.That(back.Int64, Is.EqualTo(6));
922+
Assert.That(back.TestClass.Int32, Is.EqualTo(66));
923+
Assert.That(back.TestClass.Int64, Is.EqualTo(66));
835924
queue.Pop();
925+
836926
Assert.That(queue.Size, Is.EqualTo((nuint)0));
837927
}
838928
}
@@ -843,41 +933,88 @@ public void ExpandCapacityHeadBeforeTailOwnTest()
843933
{
844934
unsafe
845935
{
846-
var queue = new StackMemoryCollections.Struct.QueueOfUInt32();
847-
848-
queue.Push(15);
849-
850-
queue.Push(45);
851-
852-
queue.Push(0);
936+
var queue = new Tests.Struct.QueueOfTestStruct();
853937

854-
queue.Push(34);
938+
queue.Push(new TestStruct(1, 1, new TestClass(11, 11)));
939+
queue.Push(new TestStruct(2, 2, new TestClass(22, 22)));
940+
queue.Push(new TestStruct(3, 3, new TestClass(33, 33)));
941+
queue.Push(new TestStruct(4, 4, new TestClass(44, 44)));
855942

856943
queue.ExpandCapacity(3);
857-
Assert.That(queue.Back(), Is.EqualTo(34));
858-
queue.Push(140);
859944

860-
Assert.That(queue.Front(), Is.EqualTo(15));
945+
var front = queue.Front();
946+
var back = queue.Back();
947+
Assert.That(front.Int32, Is.EqualTo(1));
948+
Assert.That(front.Int64, Is.EqualTo(1));
949+
Assert.That(front.TestClass.Int32, Is.EqualTo(11));
950+
Assert.That(front.TestClass.Int64, Is.EqualTo(11));
951+
Assert.That(back.Int32, Is.EqualTo(4));
952+
Assert.That(back.Int64, Is.EqualTo(4));
953+
Assert.That(back.TestClass.Int32, Is.EqualTo(44));
954+
Assert.That(back.TestClass.Int64, Is.EqualTo(44));
955+
956+
queue.Push(new TestStruct(5, 5, new TestClass(55, 55)));
957+
958+
front = queue.Front();
959+
back = queue.Back();
960+
Assert.That(front.Int32, Is.EqualTo(1));
961+
Assert.That(front.Int64, Is.EqualTo(1));
962+
Assert.That(front.TestClass.Int32, Is.EqualTo(11));
963+
Assert.That(front.TestClass.Int64, Is.EqualTo(11));
964+
Assert.That(back.Int32, Is.EqualTo(5));
965+
Assert.That(back.Int64, Is.EqualTo(5));
966+
Assert.That(back.TestClass.Int32, Is.EqualTo(55));
967+
Assert.That(back.TestClass.Int64, Is.EqualTo(55));
861968
queue.Pop();
862-
Assert.That(queue.Back(), Is.EqualTo(140));
863969

864-
Assert.That(queue.Front(), Is.EqualTo(45));
970+
front = queue.Front();
971+
back = queue.Back();
972+
Assert.That(front.Int32, Is.EqualTo(2));
973+
Assert.That(front.Int64, Is.EqualTo(2));
974+
Assert.That(front.TestClass.Int32, Is.EqualTo(22));
975+
Assert.That(front.TestClass.Int64, Is.EqualTo(22));
976+
Assert.That(back.Int32, Is.EqualTo(5));
977+
Assert.That(back.Int64, Is.EqualTo(5));
978+
Assert.That(back.TestClass.Int32, Is.EqualTo(55));
979+
Assert.That(back.TestClass.Int64, Is.EqualTo(55));
865980
queue.Pop();
866-
Assert.That(queue.Back(), Is.EqualTo(140));
867981

868-
Assert.That(queue.Front(), Is.EqualTo(0));
982+
front = queue.Front();
983+
back = queue.Back();
984+
Assert.That(front.Int32, Is.EqualTo(3));
985+
Assert.That(front.Int64, Is.EqualTo(3));
986+
Assert.That(front.TestClass.Int32, Is.EqualTo(33));
987+
Assert.That(front.TestClass.Int64, Is.EqualTo(33));
988+
Assert.That(back.Int32, Is.EqualTo(5));
989+
Assert.That(back.Int64, Is.EqualTo(5));
990+
Assert.That(back.TestClass.Int32, Is.EqualTo(55));
991+
Assert.That(back.TestClass.Int64, Is.EqualTo(55));
869992
queue.Pop();
870-
Assert.That(queue.Back(), Is.EqualTo(140));
871993

872-
Assert.That(queue.Front(), Is.EqualTo(34));
994+
front = queue.Front();
995+
back = queue.Back();
996+
Assert.That(front.Int32, Is.EqualTo(4));
997+
Assert.That(front.Int64, Is.EqualTo(4));
998+
Assert.That(front.TestClass.Int32, Is.EqualTo(44));
999+
Assert.That(front.TestClass.Int64, Is.EqualTo(44));
1000+
Assert.That(back.Int32, Is.EqualTo(5));
1001+
Assert.That(back.Int64, Is.EqualTo(5));
1002+
Assert.That(back.TestClass.Int32, Is.EqualTo(55));
1003+
Assert.That(back.TestClass.Int64, Is.EqualTo(55));
8731004
queue.Pop();
874-
Assert.That(queue.Back(), Is.EqualTo(140));
8751005

876-
Assert.That(queue.Front(), Is.EqualTo(140));
1006+
front = queue.Front();
1007+
back = queue.Back();
1008+
Assert.That(front.Int32, Is.EqualTo(5));
1009+
Assert.That(front.Int64, Is.EqualTo(5));
1010+
Assert.That(front.TestClass.Int32, Is.EqualTo(55));
1011+
Assert.That(front.TestClass.Int64, Is.EqualTo(55));
1012+
Assert.That(back.Int32, Is.EqualTo(5));
1013+
Assert.That(back.Int64, Is.EqualTo(5));
1014+
Assert.That(back.TestClass.Int32, Is.EqualTo(55));
1015+
Assert.That(back.TestClass.Int64, Is.EqualTo(55));
8771016
queue.Pop();
8781017

879-
queue.Dispose();
880-
8811018
Assert.That(queue.Size, Is.EqualTo((nuint)0));
8821019
}
8831020
}

0 commit comments

Comments
 (0)