Exemplo n.º 1
0
        public void test_czy_element_nie_zawiera_operatu()
        {
            var header  = new Nagłówek(code: 1234);
            var element = new ElementMapy(header);

            Assert.AreEqual(expected: 0, actual: element.Operaty.Count());
        }
Exemplo n.º 2
0
 void ParseRecord(ElementMapy element)
 {
     if (IsComment)
     {
         return;
     }
     if (IsAttribute)
     {
         var atrybut = CurrentRecord.ParseAtrybut();
         element.DodajAtrybut(atrybut);
     }
     else if (IsLabel)
     {
         return;
     }
     else if (IsPoint)
     {
         var punkt = CurrentRecord.ParsePunkt();
         element.DodajPunkt(punkt);
     }
     else
     {
         throw new InvalidOperationException(CurrentRecord);
     }
 }
Exemplo n.º 3
0
        public void test_czy_klasa_2_jest_lokalizowana_przez_dwa_punkty()
        {
            var header  = new Nagłówek(code: 2345);
            var element = new ElementMapy(header);
            var punkt   = new PunktOparciaGeoMap(x: 1.2, y: 3.4);

            element.DodajPunkt(punkt);
            element.DodajPunkt(punkt);
        }
Exemplo n.º 4
0
        public void test_czy_element_zawiera_dodany_id()
        {
            var header  = new Nagłówek(1234);
            var element = new ElementMapy(header);
            var guid    = Guid.NewGuid().ToString();

            element.DodajAtrybut("ID", guid);
            Assert.AreEqual(1, element.Atrybuty.Count());
            Assert.AreEqual(guid, element.Id);
        }
Exemplo n.º 5
0
        public void test_czy_klasa_1_jest_lokalizowana_tylko_przez_jeden_punkt()
        {
            var header  = new Nagłówek(code: 1234);
            var element = new ElementMapy(header);
            var punkt   = new PunktOparciaGeoMap(x: 1.2, y: 3.4);

            element.DodajPunkt(punkt);
            element.DodajPunkt(punkt);
            Assert.IsTrue(element.IsInvalid());
        }
Exemplo n.º 6
0
        public void test_czy_element_zawiera_nagłówek()
        {
            var header  = new Nagłówek(1234);
            var element = new ElementMapy(header);

            Assert.IsNotNull(element.Nagłówek);
            Assert.AreEqual(0, element.Atrybuty.Count());
            Assert.AreEqual(0, element.Opisy.Count());
            Assert.AreEqual(0, element.Punkty.Count());
            Assert.AreEqual(string.Empty, element.Id);
        }
Exemplo n.º 7
0
        public void test_czy_mapa_doda_element_klasy_1()
        {
            var map     = new MapaGeoMap();
            var header  = new Nagłówek(1111);
            var element = new ElementMapy(header);
            var punkt   = new PunktOparciaGeoMap(x: 1.2, y: 3.4);

            element.DodajPunkt(punkt);
            map.AddElement(element);
            Assert.AreEqual(1, map.Count());
        }
Exemplo n.º 8
0
        public void test_czy_element_zawiera_dodany_punkt()
        {
            var header  = new Nagłówek(code: 1234);
            var element = new ElementMapy(header);

            element.DodajPunkt(x: 1.2, y: 3.4);
            Assert.AreEqual(expected: 1, actual: element.Punkty.Count());
            var punkt = element.Punkty.Single();

            Assert.AreEqual(expected: 1.2, actual: punkt.X);
            Assert.AreEqual(expected: 3.4, actual: punkt.Y);
        }
Exemplo n.º 9
0
        public void test_czy_mapa_zawiera_dodany_taki_sam_id()
        {
            var map     = new MapaGeoMap();
            var header  = new Nagłówek(1234);
            var element = new ElementMapy(header);
            var guid    = Guid.NewGuid().ToString();
            var id      = new AtrybutOpisowy("ID", guid);

            element.DodajAtrybut(id);
            map.AddElement(element);
            map.AddElement(element);
            Assert.AreEqual(expected: 2, actual: map.Count());
        }
Exemplo n.º 10
0
        public void test_czy_element_nie_zawiera_operatów()
        {
            var atrybut = new AtrybutOpisowy(
                nazwa: "KR",
                wartość: "#LIST;");
            var header  = new Nagłówek(code: 1234);
            var element = new ElementMapy(header);

            element.DodajAtrybut(atrybut);
            var operaty = element.Operaty;

            Assert.AreEqual(expected: 0, actual: operaty.Count());
        }
Exemplo n.º 11
0
        public static bool IsInvalid(this ElementMapy element)
        {
            var klasa = element.Nagłówek.Klasa;
            var count = element.Punkty.Count();

            return(klasa == 1 && count != 1 ||
                   klasa == 2 && count != 2 ||
                   klasa == 3 && count != 3 ||
                   klasa == 4 && count < 2 ||
                   klasa == 5 && count < 3 ||
                   klasa == 6 && count > 2 ||
                   klasa == 7 && count > 2);
        }
Exemplo n.º 12
0
        public void test_czy_mapa_wyszuka_taki_sam_id()
        {
            var map     = new MapaGeoMap();
            var header  = new Nagłówek(1234);
            var element = new ElementMapy(header);
            var guid    = Guid.NewGuid().ToString();
            var id      = new AtrybutOpisowy("ID", guid);

            element.DodajAtrybut(id);
            map.AddElement(element);
            map.AddElement(element);
            map.Szukaj(guid);
            Assert.Fail();
        }
Exemplo n.º 13
0
        public void test_czy_element_zawiera_jeden_operat_bez_operatora()
        {
            var atrybut = new AtrybutOpisowy(
                nazwa: "KR",
                wartość: "123/2016");
            var header  = new Nagłówek(code: 1234);
            var element = new ElementMapy(header);

            element.DodajAtrybut(atrybut);
            var operaty = element.Operaty;

            Assert.AreEqual(expected: 1, actual: operaty.Count());
            var operat = operaty.Single();

            Assert.AreEqual(expected: "123/2016", actual: operat.Numer);
        }
Exemplo n.º 14
0
        public static ElementMapy ParseElement(this string headerRecord)
        {
            if (string.IsNullOrEmpty(headerRecord))
            {
                throw new ArgumentNullException();
            }
            if (!headerRecord.StartsWith("*"))
            {
                throw new ArgumentException("Header record should start with a *");
            }
            //*4366 8388608  26 0.00000000
            var headerWithoutStar = headerRecord.Substring(1);
            var headerSplit       = headerWithoutStar.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);

            if (headerSplit.Count() < 4)
            {
                throw new ArgumentException("Header record should have a minimum of 4 arguments");
            }
            var codeString = headerSplit.First();
            var header     = codeString.ParseHeader();
            var element    = new ElementMapy(header);

            return(element);
        }