示例#1
0
 public void AddHandvorm_ExistingHandvorm_ReplacesIt()
 {
     var begrip = new Begrip (1, "Naam");
     begrip.AddHandvorm (new Handvorm (Plaats.Links, 1, "foto.jpg"));
     begrip.AddHandvorm (new Handvorm (Plaats.Links, 1, "nieuwefoto.jpg"));
     begrip.HandvormAt (Plaats.Links, 1).Foto ().ShouldBe ("nieuwefoto.jpg");
 }
示例#2
0
        public void ConvertBegrip_AnotherIniLine_ReturnsThatBegrip()
        {
            var merger = new IniConverter ();
            var result = merger.ConvertBegrip ("2=Naam2;2");

            var begrip2 = new Begrip (2, "Naam2");
            result.ShouldBe (begrip2);
        }
示例#3
0
        public Begrip Find(Begrip rhs)
        {
            foreach (var lhs in begrippen) {
                if (lhs.Equals(rhs))
                    return lhs;
            }

            throw new BegripNotFound(rhs.ToString());
        }
        public void AddBegrip_ExistingBegrip_Throws()
        {
            var cmp = new BegrippenComposer ();
            var begrip1 = new Begrip(1, "Naam");
            var begrip2 = new Begrip(1, "Naam");

            cmp.AddBegrip(begrip1);
            Should.Throw<BegrippenComposer.BegripAlreadyPresent>(() => cmp.AddBegrip(begrip2));
        }
示例#5
0
        public bool Contains(Begrip rhs)
        {
            foreach (var item in begrippen) {
                if (item.Equals(rhs))
                    return true;
            }

            return false;
        }
示例#6
0
        public void AddBegrip(Begrip begrip)
        {
            if (begrip == null)
                return;

            if (begrippen.ContainsKey(begrip.GetHashCode()))
                throw new BegripAlreadyPresent();

            begrippen.Add(begrip.GetHashCode(), begrip);
        }
示例#7
0
        public void ConvertBegrip_OneIniLine_ReturnsOneBegrip()
        {
            var merger = new IniConverter ();
            var result = merger.ConvertBegrip ("1=Naam;1");

            result.ShouldNotBe (null);

            var expectedBegrip = new Begrip (1, "Naam");
            result.ShouldBe (expectedBegrip);
        }
示例#8
0
        public void Merge_MatchingIds_ReplaceFilm()
        {
            var merger = new BegrippenMerger();
            var begrip1 = new Begrip( 1, "Naam", "Film" );
            merger.AddBegrip(begrip1);

            var begrip2 = new Begrip(1, "Naam", "NieuweFilm");
            merger.AddBegrip(begrip2);

            merger.Begrip(1).Film.FileName.ShouldBe("NieuweFilm");
        }
        public void AddGebaar_ForExistingBegrip_AddsDataToIt()
        {
            var cmp = new BegrippenComposer();
            var begrip = new Begrip(1, "Naam");
            cmp.AddBegrip(begrip);

            var gebaar = new Gebaar { ID=1, BegripID = 1, FilmID = 1 };
            cmp.AddGebaar(gebaar);

            cmp.BegripByKey(1).Film.ID.ShouldBe(1);
        }
示例#10
0
 public void AddBegrip(Begrip begrip)
 {
     if (begrippen.Contains(begrip))
     {
         var foundBegrip = begrippen.Find(begrip);
         foundBegrip.Merge(begrip);
     }
     else
     {
         begrippen.Add(begrip);
     }
 }
示例#11
0
        public void WhenIdsMatchAndFotosDiffer_AddFoto()
        {
            const int BEGRIPID = 1;
            var merger = new BegrippenMerger();
            merger.AddBegrip(new Begrip( BEGRIPID, "Hallo" ));
            var begrip2 = new Begrip(BEGRIPID, "Ballo");
            begrip2.AddFoto("Groet.bmp");
            merger.AddBegrip(begrip2);

            merger.BegripCount().ShouldBe(1);
            merger.Begrip(BEGRIPID).Naam.ShouldBe("Ballo");
            merger.Begrip(BEGRIPID).Foto(0).ShouldBe (new Foto(BEGRIPID, "Groet.bmp"));
        }
示例#12
0
        public void WhenIdsMatchAndFotosMatch_IgnoreFoto()
        {
            var merger = new BegrippenMerger();
            var begrip1 = new Begrip( 121, "Hallo" );
            begrip1.AddFoto("Groet.bmp");
            merger.AddBegrip(begrip1);

            var begrip2 = new Begrip(121, "Ballo");
            begrip2.AddFoto("Groet.bmp");
            merger.AddBegrip(begrip2);

            merger.BegripCount().ShouldBe(1);
            merger.Begrip(121).Naam.ShouldBe("Ballo");
            merger.Begrip(121).FotoCount().ShouldBe(1);
        }
示例#13
0
        public void ConvertBegrippen_ThreeLines_ReturnsThreeBegrippen()
        {
            var merger = new IniConverter ();
            var iniLines = new string[] {
                "1=Naam1;1",
                "2=Naam2;2",
                "3=Naam3;3"
            };

            var result = merger.ConvertBegrippen (iniLines);
            result.Count.ShouldBe (3);

            var begrip1 = new Begrip (1, "Naam1");
            var begrip2 = new Begrip (2, "Naam2");
            var begrip3 = new Begrip (3, "Naam3");

            result [0].ShouldBe (begrip1);
            result [1].ShouldBe (begrip2);
            result [2].ShouldBe (begrip3);
        }
示例#14
0
        public void Merge(Begrip rhs)
        {
            var lhs = this;

            lhs.naam = rhs.naam;
            lhs.film = rhs.film;

            foreach (var foto in rhs.fotos) {
                if (!lhs.fotos.Any( f => f.Equals(foto)))
                {
                    lhs.fotos.Add(foto);
                }
            }
        }
示例#15
0
 public void AddHandvorm_NewHandvorm_PutsItInTheRightPlace()
 {
     var begrip = new Begrip (1, "Naam");
     begrip.AddHandvorm (new Handvorm (Plaats.Links, 1, "foto.jpg"));
     begrip.HandvormAt (Plaats.Links, 1).ShouldNotBe (null);
 }
示例#16
0
 public Begrip FindByKey(int id)
 {
     var rhs = new Begrip(id, "");
     return Find(rhs);
 }
示例#17
0
 public void Add(Begrip begrip)
 {
     begrippen.Add(begrip);
 }