예제 #1
0
 // le bot souhaite joeur une Biere
 void PlayBiereBot(List <int> botHand, List <int> playedThisTurn, int i)
 {
     if (currentPersonnage.GetComponent <ThisPersonnage>().GetPersonnage().GetHealth() < currentPersonnage.GetComponent <ThisPersonnage>().GetPersonnage().GetHealthMax())
     {
         Biere b = new Biere();
         b.PlayBot(botHand[i]);
         playedThisTurn.Add(i);
     }
 }
예제 #2
0
        public void GetDevis_DoitRenvoyerDevisSansReduction_QuandInferieur10()
        {
            // Arrange
            var grossiste = fixture.Create <Core.Domain.Grossiste>();
            var request   = new GetDevisRequest
            {
                GrossisteId = grossiste.Id,
                Commandes   = new List <GetDevisRequest.Commande>
                {
                    new GetDevisRequest.Commande {
                        BiereId = 1, Quantite = 2
                    },
                    new GetDevisRequest.Commande {
                        BiereId = 2, Quantite = 3
                    },
                }
            };

            var chimayBleue = new Biere {
                Id = 1, Prix = 2.8, Nom = "Chimay Bleue"
            };
            var chimayBleueExtra = new Biere {
                Id = 2, Prix = 3.8, Nom = "Chimay Bleue Extra"
            };

            var context = InitializeContext();

            context.Grossistes.Add(grossiste);
            context.Bieres.Add(chimayBleue);
            context.Bieres.Add(chimayBleueExtra);
            context.StockGrossistes.Add(new StockGrossiste {
                Id = 1, BiereId = 1, Quantite = 5, GrossisteId = grossiste.Id
            });
            context.StockGrossistes.Add(new StockGrossiste {
                Id = 2, BiereId = 2, Quantite = 10, GrossisteId = grossiste.Id
            });
            context.SaveChanges();

            InjectClassFor(context);

            // Act
            var response = ClassUnderTest.GetDevis(request);

            // Assert
            response.LignesDevis[0].Biere.Should().Be(chimayBleue.Nom);
            response.LignesDevis[0].Quantite.Should().Be(2);
            response.LignesDevis[0].PrixUnitaire.Should().Be(chimayBleue.Prix);

            response.LignesDevis[1].Biere.Should().Be(chimayBleueExtra.Nom);
            response.LignesDevis[1].Quantite.Should().Be(3);
            response.LignesDevis[1].PrixUnitaire.Should().Be(chimayBleueExtra.Prix);

            response.PrixFinal.Should().Be(2 * chimayBleue.Prix + 3 * chimayBleueExtra.Prix);
        }
예제 #3
0
        public static BiereWPF GetBiereWPF(this Biere vm)
        {
            BiereWPF wpf = new BiereWPF();

            wpf.biereId           = vm.Id;
            wpf.biereIsDispo      = vm.IsDispo;
            wpf.biereDescription  = vm.Description;
            wpf.biereImage        = vm.Image;
            wpf.biereNom          = vm.Nom;
            wpf.bierePrix         = vm.Prix;
            wpf.biereRobe         = vm.Robe;
            wpf.pourcentageAlcool = vm.Pa;
            wpf.typeBiereId       = vm.TypeBiereId;
            return(wpf);
        }
예제 #4
0
        public void GetDevis_DoitLancerUneException_QuandGrossisteStockInsufissant()
        {
            // Arrange
            var grossiste = fixture.Create <Core.Domain.Grossiste>();
            var request   = new GetDevisRequest
            {
                GrossisteId = grossiste.Id,
                Commandes   = new List <GetDevisRequest.Commande>
                {
                    new GetDevisRequest.Commande {
                        BiereId = 1, Quantite = 2
                    },
                    new GetDevisRequest.Commande {
                        BiereId = 2, Quantite = 15
                    },
                }
            };

            var chimayBleue = new Biere {
                Id = 1, Prix = 2.8, Nom = "Chimay Bleue"
            };
            var chimayBleueExtra = new Biere {
                Id = 2, Prix = 3.8, Nom = "Chimay Bleue Extra"
            };

            var context = InitializeContext();

            context.Grossistes.Add(grossiste);
            context.Bieres.Add(chimayBleue);
            context.Bieres.Add(chimayBleueExtra);
            context.StockGrossistes.Add(new StockGrossiste {
                Id = 1, BiereId = 1, Quantite = 5, GrossisteId = grossiste.Id
            });
            context.StockGrossistes.Add(new StockGrossiste {
                Id = 2, BiereId = 2, Quantite = 10, GrossisteId = grossiste.Id
            });
            context.SaveChanges();

            InjectClassFor(context);

            // Act
            Action action = () => ClassUnderTest.GetDevis(request);

            // Assert
            action.Should()
            .Throw <ValidationException>()
            .WithMessage(DevisValidationMessage.StockInsuffisant);
        }
예제 #5
0
        public void GetDevis_DoitRenvoyerDevisAvecReduction_QuandSuperieur20()
        {
            // Arrange
            var grossiste = fixture.Create <Core.Domain.Grossiste>();
            var request   = new GetDevisRequest
            {
                GrossisteId = grossiste.Id,
                Commandes   = new List <GetDevisRequest.Commande>
                {
                    new GetDevisRequest.Commande {
                        BiereId = 1, Quantite = 15
                    },
                    new GetDevisRequest.Commande {
                        BiereId = 2, Quantite = 10
                    },
                }
            };

            var chimayBleue = new Biere {
                Id = 1, Prix = 2.8, Nom = "Chimay Bleue"
            };
            var chimayBleueExtra = new Biere {
                Id = 2, Prix = 3.8, Nom = "Chimay Bleue Extra"
            };

            var context = InitializeContext();

            context.Grossistes.Add(grossiste);
            context.Bieres.Add(chimayBleue);
            context.Bieres.Add(chimayBleueExtra);
            context.StockGrossistes.Add(new StockGrossiste {
                Id = 1, BiereId = 1, Quantite = 15, GrossisteId = grossiste.Id
            });
            context.StockGrossistes.Add(new StockGrossiste {
                Id = 2, BiereId = 2, Quantite = 10, GrossisteId = grossiste.Id
            });
            context.SaveChanges();

            InjectClassFor(context);

            // Act
            var response = ClassUnderTest.GetDevis(request);

            // Assert
            response.PrixFinal.Should().Be((15 * chimayBleue.Prix + 10 * chimayBleueExtra.Prix) * 0.8);
        }
예제 #6
0
        public static Biere GetBiere(this BiereWPF wpf)
        {
            Biere b = new Biere();

            b.Description = wpf.biereDescription;
            b.Id          = wpf.biereId;
            b.Image       = wpf.biereImage;
            b.IsDispo     = wpf.biereIsDispo;
            b.Nom         = wpf.biereNom;
            b.Prix        = wpf.bierePrix;
            b.Pa          = wpf.pourcentageAlcool;
            b.Robe        = wpf.biereRobe;
            if (wpf.typeBiereId != null)
            {
                b.TypeBiereId = (int)wpf.typeBiereId;
            }
            return(b);
        }