private static void test()
        {
            //Första testet från ITHS
            Console.WriteLine(new Position(2, 4) + new Position(1, 2) + "\n");
            Console.WriteLine(new Position(2, 4) - new Position(1, 2) + "\n");
            Console.WriteLine(new Position(1, 2) - new Position(3, 6) + "\n");
            Console.WriteLine(new Position(3, 5) % new Position(1, 3) + "\n");

            SortedPosList list1 = new SortedPosList();
            SortedPosList list2 = new SortedPosList();

            list1.Add(new Position(3, 7));
            list1.Add(new Position(1, 4));
            list1.Add(new Position(2, 6));
            list1.Add(new Position(2, 3));
            Console.WriteLine(list1 + "\n");
            list1.Remove(new Position(2, 6));
            Console.WriteLine(list1 + "\n");

            list2.Add(new Position(3, 7));
            list2.Add(new Position(1, 2));
            list2.Add(new Position(3, 6));
            list2.Add(new Position(2, 3));
            Console.WriteLine((list2 + list1) + "\n");

            SortedPosList circleList = new SortedPosList();

            circleList.Add(new Position(1, 1));
            circleList.Add(new Position(2, 2));
            circleList.Add(new Position(3, 3));
            Console.WriteLine(circleList.CircleContent(new Position(5, 5), 4) + "\n");
        }
Beispiel #2
0
        public static void RunGTests()
        {
            Console.WriteLine(new Position(2, 4) + new Position(1, 2) + "\n");
            Console.WriteLine(new Position(2, 4) - new Position(1, 2) + "\n");
            Console.WriteLine(new Position(1, 2) - new Position(3, 6) + "\n");
            Console.WriteLine(new Position(3, 5) % new Position(1, 3) + "\n");

            SortedPosList list1 = new SortedPosList();
            SortedPosList list2 = new SortedPosList();

            list1.Add(new Position(3, 7));
            list1.Add(new Position(1, 4));
            list1.Add(new Position(2, 6));
            list1.Add(new Position(2, 3));
            Console.WriteLine(list1 + "\n");
            list1.Remove(new Position(2, 6));
            Console.WriteLine(list1 + "\n");

            list2.Add(new Position(3, 7));
            list2.Add(new Position(1, 2));
            list2.Add(new Position(3, 6));
            list2.Add(new Position(2, 3));
            Console.WriteLine((list2 + list1) + "\n");

            SortedPosList circleList = new SortedPosList();

            circleList.Add(new Position(1, 1));
            circleList.Add(new Position(2, 2));
            circleList.Add(new Position(3, 3));
            Console.WriteLine(circleList.CircleContent(new Position(5, 5), 4) + "\n");
        }
Beispiel #3
0
        static void Main(string[] args)
        {
            //Console.WriteLine(new Position(2, 4) + new Position(1, 2) + "\n");
            //Console.WriteLine(new Position(2, 4) - new Position(1, 2) + "\n");
            //Console.WriteLine(new Position(1, 2) - new Position(3, 6) + "\n");
            //Console.WriteLine(new Position(3, 5) % new Position(1, 3) + "\n");

            SortedPosList list1 = new SortedPosList();
            SortedPosList list2 = new SortedPosList();

            list1.Add(new Position(3, 7));
            list1.Add(new Position(1, 4));
            list1.Add(new Position(2, 6));
            list1.Add(new Position(2, 3));
            Console.WriteLine(list1 + "\n");
            //Console.WriteLine(new Position(1, 4) > new Position(2, 3));
            //list1.Remove(new Position(2, 6));
            //Console.WriteLine(list1 + "\n");
            //Console.WriteLine(list1[0]);

            list2.Add(new Position(3, 7));
            list2.Add(new Position(1, 2));
            list2.Add(new Position(3, 6));
            list2.Add(new Position(2, 3));
            Console.WriteLine(list2 + "\n");
            Console.WriteLine((list2 - list1) + "\n");

            //SortedPosList circleList = new SortedPosList();
            //circleList.Add(new Position(1, 1));
            //circleList.Add(new Position(2, 2));
            //circleList.Add(new Position(3, 3));
            //Console.WriteLine(circleList.CircleContent(new Position(5, 5), 4) + "\n");
        }
Beispiel #4
0
        public static void Main(string[] args)
        {
            Console.WriteLine(new Position(2, 4) + new Position(1, 2) + "\n");
            Console.WriteLine(new Position(2, 4) - new Position(1, 2) + "\n");
            Console.WriteLine(new Position(1, 2) - new Position(3, 6) + "\n");
            Console.WriteLine(new Position(3, 5) % new Position(1, 3) + "\n");

            SortedPosList list1 = new SortedPosList();
            SortedPosList list2 = new SortedPosList();

            list1.Add(new Position(3, 7));
            list1.Add(new Position(1, 4));
            list1.Add(new Position(2, 6));
            list1.Add(new Position(2, 3));
            Console.WriteLine(list1 + "\n");
            list1.Remove(new Position(2, 6));
            Console.WriteLine(list1 + "\n");

            list2.Add(new Position(3, 7));
            list2.Add(new Position(1, 2));
            list2.Add(new Position(3, 6));
            list2.Add(new Position(2, 3));
            Console.WriteLine((list2 + list1) + "\n");

            SortedPosList circleList = new SortedPosList();

            circleList.Add(new Position(1, 1));
            circleList.Add(new Position(2, 2));
            circleList.Add(new Position(3, 3));
            Console.WriteLine(circleList.CircleContent(new Position(5, 5), 4) + "\n");


            SortedPosList A = new SortedPosList();

            A.Add(new Position(3, 7));
            A.Add(new Position(1, 4));
            A.Add(new Position(2, 6));
            A.Add(new Position(2, 3));

            SortedPosList B = new SortedPosList();

            B.Add(new Position(3, 7));
            B.Add(new Position(1, 2));
            B.Add(new Position(3, 6));
            B.Add(new Position(2, 3));
            B.Add(new Position(22, 3));
            B.Add(new Position(24, 3));

            Console.WriteLine($"A-listan innehåller punkterna: {A}");
            Console.WriteLine($"B-listan innehåller {B}");
            Console.WriteLine($"A-B blir: {A-B}");
            Console.WriteLine($"B-A blir: {B - A}");
        }
        private static void WillTest()
        {
            //Egna tester. Operatorer
            Position pos1 = new Position(47, 14);
            Position pos2 = new Position(10, 18);
            Position pos3 = new Position(80, 64);
            Position pos4 = new Position(12, 5);
            Position pos5 = new Position(52, 14);

            Position pos6  = new Position(90, 14);
            Position pos7  = new Position(10, 18);
            Position pos8  = new Position(80, 64);
            Position pos9  = new Position(122, 5);
            Position pos10 = new Position(13, 14);


            SortedPosList list = new SortedPosList();

            list.Add(pos1);
            list.Add(pos2);
            list.Add(pos3);
            list.Add(pos4);
            list.Add(pos5);

            SortedPosList list2 = new SortedPosList();

            list2.Add(pos6);
            list2.Add(pos7);
            list2.Add(pos8);
            list2.Add(pos9);
            list2.Add(pos10);

            SortedPosList list3 = list - list2;
            SortedPosList list4 = list2 + list;

            list.Remove(new Position(80, 64));
            list.Remove(new Position(10, 10));
            list.Remove(new Position(10, 11));

            // skriver ut list - list2
            Console.WriteLine("list - list2 : ");
            for (int i = 0; i < list3.Count(); i++)
            {
                Console.WriteLine(list3[i].ToString() + ".  Length: " + list3[i].Length());
            }
            // skriver ut list2 + list
            Console.WriteLine("list2 + list : ");
            for (int i = 0; i < list4.Count(); i++)
            {
                Console.WriteLine(list4[i].ToString() + ".  Length list 2 : " + list4[i].Length());
            }
        }
Beispiel #6
0
        static void Main(string[] args)
        {
            //Console.WriteLine(new Position(2, 4) + new Position(1, 2) + "\n");
            //Console.WriteLine(new Position(2, 4) - new Position(1, 2) + "\n");
            //Console.WriteLine(new Position(1, 2) - new Position(3, 6) + "\n");
            //Console.WriteLine(new Position(3, 5) % new Position(1, 3) + "\n");

            //SortedPosList list1 = new SortedPosList();
            //SortedPosList list2 = new SortedPosList();
            //list1.Add(new Position(3, 7));
            //list1.Add(new Position(1, 4));
            //list1.Add(new Position(2, 6));
            //list1.Add(new Position(2, 3));
            //Console.WriteLine(list1 + "\n");
            //list1.Remove(new Position(2, 6));
            //Console.WriteLine(list1 + "\n");
            //SortedPosList list3 = list1.Clone();
            //Console.WriteLine("1 listan: " + list1);
            //Console.WriteLine("kopierade listan: " + list3);

            //list2.Add(new Position(3, 7));
            //list2.Add(new Position(1, 2));
            //list2.Add(new Position(3, 6));
            //list2.Add(new Position(2, 3));
            //Console.WriteLine((list2 + list1) + "\n");


            //SortedPosList circleList = new SortedPosList();
            //circleList.Add(new Position(1, 1));
            //circleList.Add(new Position(2, 2));
            //circleList.Add(new Position(3, 3));
            //Console.WriteLine(circleList.CircleContent(new Position(5, 5), 4) + "\n");

            //Console.WriteLine(list1[1]);
            //Console.WriteLine(list1[33]);

            SortedPosList A = new SortedPosList();
            SortedPosList B = new SortedPosList();

            A.Add(new Position(3, 7));
            A.Add(new Position(1, 4));
            A.Add(new Position(2, 6));
            A.Add(new Position(2, 3));

            B.Add(new Position(3, 7));
            B.Add(new Position(1, 2));
            B.Add(new Position(3, 6));
            B.Add(new Position(2, 3));

            Console.WriteLine((A * B) + "\n");
            Console.WriteLine((B * A) + "\n");
        }
Beispiel #7
0
        public static SortedPosList operator +(SortedPosList a, SortedPosList b)
        {
            SortedPosList result = new SortedPosList();

            foreach (Position p in a.positions)
            {
                result.Add(p);
            }
            foreach (Position p in b.positions)
            {
                result.Add(p);
            }
            return(result);
        }
Beispiel #8
0
        public static SortedPosList operator +(SortedPosList sp1, SortedPosList sp2)
        {
            SortedPosList combinedList = new SortedPosList();

            foreach (Position p in sp1.PositionsList)
            {
                combinedList.Add(p.Clone());
            }
            foreach (Position p in sp2.PositionsList)
            {
                combinedList.Add(p.Clone());
            }
            return(combinedList);
        }
Beispiel #9
0
        public static SortedPosList operator +(SortedPosList sp1, SortedPosList sp2)
        {
            SortedPosList newList = new SortedPosList();

            foreach (Position pos in sp1.positionList)
            {
                newList.Add(pos);
            }
            foreach (Position pos in sp2.positionList)
            {
                newList.Add(pos);
            }
            return(newList);
        }
Beispiel #10
0
        private static void CircleList()
        {
            Console.Write("CircleList:");
            SortedPosList circleList = new SortedPosList();

            circleList.Add(new Position(1, 1));
            circleList.Add(new Position(2, 2));
            circleList.Add(new Position(3, 3));
            circleList.Add(new Position(5, 5));
            circleList.Add(new Position(3, 4));

            Console.WriteLine("");
            Console.WriteLine(circleList.CircleContent(new Position(5, 5), 4) + "\n");
        }
Beispiel #11
0
        public static SortedPosList operator +(SortedPosList sp1, SortedPosList sp2)
        {
            SortedPosList mergeLists = sp1.Clone();

            sp2.positionList.ForEach(pos => mergeLists.Add(pos.Clone()));
            return(mergeLists);
        }
Beispiel #12
0
        public SortedPosList Clone()
        {
            SortedPosList clonedList = new SortedPosList();

            positionList.ForEach(pos => clonedList.Add(pos.Clone()));
            return(clonedList);
        }
        // OVERLOADING OPERATORS

        // Returns a new sorted list containing all positions of the two provided lists
        // sp1 - the first sorted list of Positions
        // sp2 - the second sorted list of Positions
        public static SortedPosList operator +(SortedPosList sp1, SortedPosList sp2)
        {
            SortedPosList combinedList = new SortedPosList();

            for (int i = 0; i < sp1.Count(); i++)
            {
                combinedList.Add(sp1[i]);
            }

            for (int i = 0; i < sp2.Count(); i++)
            {
                combinedList.Add(sp2[i]);
            }

            return(combinedList);
        }
Beispiel #14
0
        public static void RunVGTests()
        {
            // Testing the subtraction-operator of SortedPosLists

            SortedPosList listA = new SortedPosList();
            SortedPosList listB = new SortedPosList();

            listA.Add(new Position(0.5, 0.5));
            listA.Add(new Position(1, 4));
            listA.Add(new Position(4.5, 0));
            listB.Add(new Position(1, 4));
            listB.Add(new Position(12, 5.6));

            SortedPosList listC = listA * listB;
            SortedPosList listD = listB * listA;

            // listC should be: {(0.5, 0.5), (4.5, 0)}
            Console.Write("List C: " + listC + "\n");
            // listD should be: {(12, 5.6)}
            Console.Write("List D: " + listD + "\n");



            // Testing construction of SortedPosList with path-variable and Saving/Loading

            string path1 = "list.txt";
            string path2 = "list2.txt";

            SortedPosList listFromPath1 = new SortedPosList(path1);

            listFromPath1.Add(new Position(2.3, 3.3));
            listFromPath1.Add(new Position(3.5, 8));

            // The new List should load from path1 and be the same as listFromPath1:
            // {(2.3, 3.3), (3.5, 8)}
            Console.Write("New list reading from path1: " + new SortedPosList(path1) + "\n");

            SortedPosList listFromPath2 = new SortedPosList(path2);

            listFromPath2.Add(new Position(2.1, 1.2));
            listFromPath2.Add(new Position(0, 100));
            listFromPath2.Remove(new Position(2.1, 1.2));

            // The new List should load from path2 and be the same as listFromPath2:
            // {(0, 100)}
            Console.Write("New list reading from path2: " + new SortedPosList(path2) + "\n");
        }
        public static void Main(string[] args)
        {
            Console.WriteLine(new Position(2, 4) + new Position(1, 2) + "\n");
            Console.WriteLine(new Position(2, 4) - new Position(1, 2) + "\n");
            Console.WriteLine(new Position(1, 2) - new Position(3, 6) + "\n");
            Console.WriteLine(new Position(3, 5) % new Position(1, 3) + "\n");

            SortedPosList list1 = new SortedPosList();
            SortedPosList list2 = new SortedPosList();
            SortedPosList list3 = new SortedPosList();
            SortedPosList list4 = new SortedPosList();

            list1.Add(new Position(3, 7));
            list1.Add(new Position(1, 4));
            list1.Add(new Position(2, 6));
            list1.Add(new Position(2, 3));
            Console.WriteLine(list1 + "\n");
            list1.Remove(new Position(2, 6));
            Console.WriteLine(list1 + "\n");

            list2.Add(new Position(3, 7));
            list2.Add(new Position(1, 2));
            list2.Add(new Position(3, 6));
            list2.Add(new Position(2, 3));
            Console.WriteLine((list2 + list1) + "\n");

            SortedPosList circleList = new SortedPosList();

            circleList.Add(new Position(1, 1));
            circleList.Add(new Position(2, 2));
            circleList.Add(new Position(3, 3));
            Console.WriteLine(circleList.CircleContent(new Position(5, 5), 4) + "\n");


            list3.Add(new Position(1, 10));
            list3.Add(new Position(2, 2));
            list3.Add(new Position(3, 6));
            list3.Add(new Position(2, 3));

            list4.Add(new Position(3, 7));
            list4.Add(new Position(1, 2));
            list4.Add(new Position(3, 6));
            list4.Add(new Position(2, 3));
            Console.WriteLine(list3 - list4);
        }
Beispiel #16
0
        private static void UniqueuePositionList()
        {
            Console.Write("UniqueuePositionList:\n");
            SortedPosList list3 = new SortedPosList();

            list3.Add(new Position(14, 2));
            list3.Add(new Position(13, 37));
            list3.Add(new Position(5, 3));
            list3.Add(new Position(9, 9));

            SortedPosList list4 = new SortedPosList();

            list4.Add(new Position(2, 3));
            list4.Add(new Position(14, 2));
            list4.Add(new Position(5, 3));
            list4.Add(new Position(9, 9));
            Console.WriteLine(list3 - list4 + "\n");
        }
Beispiel #17
0
        public SortedPosList Clone()
        {
            SortedPosList newList = new SortedPosList();

            for (int i = 0; i < positions.Count(); i++)
            {
                newList.Add(positions[i].Clone());
            }
            return(newList);
        }
Beispiel #18
0
        public static SortedPosList operator +(SortedPosList sp1, SortedPosList sp2)
        {
            SortedPosList clone = sp1.SortedPosListClone();

            foreach (var position in sp2.positions)
            {
                clone.Add(position);
            }
            return(clone);
        }
Beispiel #19
0
        public SortedPosList Clone()
        {
            SortedPosList clonedList = new SortedPosList();

            foreach (var position in PosList)
            {
                clonedList.Add(position.Clone());
            }
            return(clonedList);
        }
Beispiel #20
0
        public SortedPosList Clone()
        {
            SortedPosList cloneList = new SortedPosList();

            foreach (Position p in PositionsList)
            {
                cloneList.Add(p.Clone());
            }
            return(cloneList);
        }
Beispiel #21
0
        public static SortedPosList operator +(SortedPosList sp1, SortedPosList sp2)
        {
            SortedPosList newList = sp1.Clone();

            for (int i = 0; i < sp2.Count(); i++)
            {
                newList.Add(sp2[i]);
            }
            return(newList);
        }
Beispiel #22
0
        // Overriding operators.
        public static SortedPosList operator +(SortedPosList sp1, SortedPosList sp2)
        {
            SortedPosList spList = sp1.Clone();

            foreach (Position p in sp2.positionsList)
            {
                spList.Add(p.Clone());
            }
            return(spList);
        }
        // Returns a deep clone of all positions in the list
        public SortedPosList Clone()
        {
            SortedPosList clonedList = new SortedPosList();

            foreach (Position pos in sortedPosList)
            {
                clonedList.Add(pos.Clone());
            }
            return(clonedList);
        }
Beispiel #24
0
        public static SortedPosList operator +(SortedPosList sp1, SortedPosList sp2)
        {
            SortedPosList copy = sp1.Clone();

            foreach (Position pos in sp2.PositionList)
            {
                copy.Add(pos);
            }
            return(copy);
        }
Beispiel #25
0
        public SortedPosList Clone()
        {
            SortedPosList cloneList = new SortedPosList();

            foreach (Position p in positions)
            {
                Position posClone = p.Clone();
                cloneList.Add(posClone);
            }
            return(cloneList);
        }
Beispiel #26
0
        public SortedPosList Clone()
        {
            SortedPosList clonedList = new SortedPosList();

            foreach (var pos in positionList)
            {
                var newpos = pos.Clone();
                clonedList.Add(newpos);
            }
            return(clonedList);
        }
Beispiel #27
0
        public static SortedPosList operator +(SortedPosList sp1, SortedPosList sp2)
        {
            SortedPosList newList = sp1.Clone();

            foreach (Position p in sp2.positions)
            {
                newList.Add(p);
            }

            return(newList);
        }
        //Tests
        private static void pathTest()
        {
            // Testing a list connected to a path.
            // Save / Load / Parse method tested
            SortedPosList listWithPath = new SortedPosList(@"c:\users\willi\Documents\test.txt");
            Position      posM         = new Position(123, 37);
            Position      posN         = new Position(14, 55);
            Position      posK         = new Position(3, 69);

            listWithPath.Add(posM);
            listWithPath.Add(posN);
            listWithPath.Add(posK);

            Console.WriteLine("List with path: ");
            for (int i = 0; i < listWithPath.Count(); i++)
            {
                Console.WriteLine(listWithPath[i].ToString());
            }
            listWithPath.Remove(posM);
            Console.WriteLine("List with path after remove: ");
            for (int i = 0; i < listWithPath.Count(); i++)
            {
                Console.WriteLine(listWithPath[i].ToString());
            }

            //List without path set
            SortedPosList withoutPath = new SortedPosList();
            Position      poss        = new Position(100, 100);

            withoutPath.Add(new Position(110, 900));
            withoutPath.Add(new Position(50, 10));
            withoutPath.Add(poss);
            withoutPath.Remove(poss);

            Console.WriteLine("Without Path: ");
            //Should return a list of 2. 3 added and 1 removed
            for (int i = 0; i < withoutPath.Count(); i++)
            {
                Console.WriteLine(withoutPath[i].ToString());
            }
        }
Beispiel #29
0
        public SortedPosList CircleContent(Position centerPos, double radius)
        {
            SortedPosList withinCircleList = new SortedPosList();

            foreach (Position p in positions)
            {
                if (p % centerPos <= radius)
                {
                    withinCircleList.Add(p);
                }
            }
            return(withinCircleList);
        }
Beispiel #30
0
        public SortedPosList CircleContent(Position centerPos, double radius)
        {
            SortedPosList circleList = new SortedPosList();

            foreach (Position p in PositionsList)
            {
                if ((Math.Pow(p.X - centerPos.X, 2) + (Math.Pow(p.Y - centerPos.Y, 2))) < Math.Pow(radius, 2))
                {
                    circleList.Add(p.Clone());
                }
            }
            return(circleList);
        }