Ejemplo n.º 1
0
 public static AstLiteralNumeric Create(NumberContext context)
 {
     return(new AstLiteralNumeric(context)
     {
         Value = GetNumberValue(context)
     });
 }
Ejemplo n.º 2
0
        public void EntityHierarchyShouldBeInserted()
        {
            using (var db = new NumberContext())
            {
                var now = DateTime.Now;

                var parities = new[]
                {
                    new Parity {
                        Name = "Even", UpdatedAt = now, UpdatedBy = "Måns"
                    },
                    new Parity {
                        Name = "Odd", UpdatedAt = now, UpdatedBy = "Måns"
                    },
                };

                var numbers = GenerateNumbers(1, 100, parities[0], parities[1], now).ToArray();
                var primes  = GeneratePrimeNumbers(100, numbers, now);

                var request = new BulkInsertRequest <Prime>
                {
                    Entities  = primes,
                    Recursive = true,
                };
                db.BulkInsertAll(request);
            }
        }
Ejemplo n.º 3
0
        public void OneToManyWhereAllIsNew()
        {
            using (var db = new NumberContext())
            {
                var now = DateTime.Now;

                var numbers = GenerateNumbers(1, 100, now).ToArray();
                var request = new BulkInsertRequest <Number>
                {
                    Entities = numbers,
                    EnableRecursiveInsert = EnableRecursiveInsert.Yes,
                };
                db.BulkInsertAll(request);

                Assert.AreEqual(100, db.Numbers.Count());

                var dbNumbers = db.Numbers.Include(n => n.Parity).ToArray();
                foreach (var number in dbNumbers.Where(n => n.Value % 2 == 0))
                {
                    Assert.AreEqual("Even", number.Parity.Name);
                    Assert.AreEqual(now.ToString("yyyyMMddHHmmss"), number.UpdatedAt.ToString("yyyyMMddHHmmss"));
                }

                foreach (var number in dbNumbers.Where(n => n.Value % 2 != 0))
                {
                    Assert.AreEqual("Odd", number.Parity.Name);
                    Assert.AreEqual(now.ToString("yyyyMMddHHmmss"), number.UpdatedAt.ToString("yyyyMMddHHmmss"));
                }
            }
        }
Ejemplo n.º 4
0
        public void OneToManyWhereTheOneAlreadyExists()
        {
            using (var db = new NumberContext())
            {
                var now = DateTime.Now;

                Parity even = new Parity {
                    Name = "Even", UpdatedAt = now, UpdatedBy = "Måns"
                };
                Parity odd = new Parity {
                    Name = "Odd", UpdatedAt = now, UpdatedBy = "Måns"
                };
                db.BulkInsertAll(new[] { even, odd });

                var numbers = GenerateNumbers(1, 100, even, odd, now).ToArray();
                db.BulkInsertAll(numbers);

                Assert.AreEqual(100, db.Numbers.Count());

                var dbNumbers = db.Numbers.Include(n => n.Parity).ToArray();
                foreach (var number in dbNumbers.Where(n => n.Value % 2 == 0))
                {
                    Assert.AreEqual("Even", number.Parity.Name);
                    Assert.AreEqual(now.ToString("yyyyMMddHHmmss"), number.UpdatedAt.ToString("yyyyMMddHHmmss"));
                }

                foreach (var number in dbNumbers.Where(n => n.Value % 2 != 0))
                {
                    Assert.AreEqual("Odd", number.Parity.Name);
                    Assert.AreEqual(now.ToString("yyyyMMddHHmmss"), number.UpdatedAt.ToString("yyyyMMddHHmmss"));
                }
            }
        }
        public void EntitiesOfSameTypeMatchingExistingEntitiesShouldBeSelected()
        {
            using (var db = new NumberContext())
            {
                var now = DateTime.Now;

                var numbers = GenerateNumbers(1, 200, now).ToArray();
                db.BulkInsertAll(new BulkInsertRequest <Number>
                {
                    Entities  = numbers,
                    Recursive = true
                });


                numbers = GenerateNumbers(50, 100, now).ToArray();
                var existingNumbers = db.BulkSelectExisting <Number, Number>(new BulkSelectRequest <Number>
                {
                    Items = numbers,
                    KeyPropertyMappings = new[]
                    {
                        new KeyPropertyMapping
                        {
                            ItemPropertyName   = "Value",
                            EntityPropertyName = "Value"
                        },
                    }
                });

                for (int i = 0; i < 100; i++)
                {
                    Assert.AreSame(numbers[i], existingNumbers[i]);
                }
            }
        }
Ejemplo n.º 6
0
        public override void EnterNumber([NotNull] NumberContext context)
        {
            Double.TryParse(context.GetText(), out double d);
            var e = CreateElementOnStack <Number>().Initialize(d);

            GiveChildToParent(e);
        }
Ejemplo n.º 7
0
        public void ExistingEntitiesShouldBeSelectedUsingRuntimeTypes()
        {
            using (var db = new NumberContext())
            {
                var now = DateTime.Now;

                // Save 200 numbers (1 to 200) to the database.
                var numbers = GenerateNumbers(1, 200, now).ToArray();
                db.BulkInsertAll(new BulkInsertRequest <Number>
                {
                    Entities  = numbers,
                    Recursive = true
                });

                // Create a list of 100 numbers with values 151 to 250
                numbers = GenerateNumbers(151, 100, now).ToArray();

                // Numbers 151 to 200 out of 151 to 250 should be selected.
                var request = typeof(BulkSelectRequest <>).MakeGenericType(typeof(Number));
                var r       = Activator.CreateInstance(request, new[] { "Value" }, numbers.ToList(), null);

                Type       ex              = typeof(DbContextExtensions);
                MethodInfo mi              = ex.GetMethod("BulkSelectExisting");
                MethodInfo miGeneric       = mi.MakeGenericMethod(new[] { typeof(Number), typeof(Number) });
                object[]   args            = { db, r };
                var        existingNumbers = (List <Number>)miGeneric.Invoke(null, args);

                Assert.AreEqual(50, existingNumbers.Count);
                for (int i = 0; i < 50; i++)
                {
                    Assert.AreSame(numbers[i], existingNumbers[i]);
                }
            }
        }
Ejemplo n.º 8
0
        public void ComplexTypesShouldBeInserted()
        {
            using (var db = new NumberContext())
            {
                // The level entities are used to test EF complex types.
                var expectedLevels = new[]
                {
                    new Level1
                    {
                        Level2 = new Level2
                        {
                            Level2Name = "L2",
                            Level3     = new Level3
                            {
                                Level3Name = "L3",
                                Updated    = new DateTime(2018, 1, 1)
                            }
                        }
                    }
                };
                db.BulkInsertAll(expectedLevels);

                var actualLevels = db.Levels.ToArray();
                Assert.AreEqual(expectedLevels.Length, actualLevels.Length);
                Assert.AreEqual(expectedLevels[0].Id, actualLevels[0].Id);
                Assert.AreEqual(expectedLevels[0].Level2.Level2Name, actualLevels[0].Level2.Level2Name);
                Assert.AreEqual(expectedLevels[0].Level2.Level3.Level3Name, actualLevels[0].Level2.Level3.Level3Name);
                Assert.AreEqual(expectedLevels[0].Level2.Level3.Updated.Ticks, actualLevels[0].Level2.Level3.Updated.Ticks);
            }
        }
Ejemplo n.º 9
0
        public void EntityHierarchyShouldBeInserted()
        {
            using (var db = new NumberContext())
            {
                var now = DateTime.Now;

                var numbers = GenerateNumbers(1, 10, now).ToArray();  // 1-10
                var primes  = GeneratePrimeNumbers(10, numbers, now); // 1,2,3,5,7

                var request = new BulkInsertRequest <Prime>
                {
                    Entities  = primes,
                    Recursive = true,
                };
                db.BulkInsertAll(request);

                var actualNumbers = db.Numbers.ToArray();
                var actualPrimes  = db.Primes.ToArray();

                Assert.AreEqual(5, actualNumbers.Length);
                Assert.AreEqual(5, actualPrimes.Length);
                Assert.AreEqual(1, actualPrimes[0].Number.Value);
                Assert.AreEqual(2, actualPrimes[1].Number.Value);
                Assert.AreEqual(3, actualPrimes[2].Number.Value);
                Assert.AreEqual(5, actualPrimes[3].Number.Value);
                Assert.AreEqual(7, actualPrimes[4].Number.Value);
            }
        }
Ejemplo n.º 10
0
    public NumberContext number()
    {
        NumberContext _localctx = new NumberContext(Context, State);

        EnterRule(_localctx, 18, RULE_number);
        int _la;

        try {
            EnterOuterAlt(_localctx, 1);
            {
                State = 68;
                ErrorHandler.Sync(this);
                _la = TokenStream.LA(1);
                do
                {
                    {
                        {
                            State = 67; Match(DIGIT);
                        }
                    }
                    State = 70;
                    ErrorHandler.Sync(this);
                    _la = TokenStream.LA(1);
                } while (_la == DIGIT);
                State = 78;
                ErrorHandler.Sync(this);
                _la = TokenStream.LA(1);
                if (_la == T__7)
                {
                    {
                        State = 72; Match(T__7);
                        State = 74;
                        ErrorHandler.Sync(this);
                        _la = TokenStream.LA(1);
                        do
                        {
                            {
                                {
                                    State = 73; Match(DIGIT);
                                }
                            }
                            State = 76;
                            ErrorHandler.Sync(this);
                            _la = TokenStream.LA(1);
                        } while (_la == DIGIT);
                    }
                }
            }
        }
        catch (RecognitionException re) {
            _localctx.exception = re;
            ErrorHandler.ReportError(this, re);
            ErrorHandler.Recover(this, re);
        }
        finally {
            ExitRule();
        }
        return(_localctx);
    }
Ejemplo n.º 11
0
 public IndexModel(ILogger <IndexModel> logger, NumberContext context,
                   UserManager <FizzBuzzUser> UserManager, SignInManager <FizzBuzzUser> SignInManager)
 {
     _logger        = logger;
     _context       = context;
     _userManager   = UserManager;
     _signInManager = SignInManager;
 }
Ejemplo n.º 12
0
        protected void CleanupNumberContext()
        {
            var db = new NumberContext();

            db.Composites.RemoveRange(db.Composites.ToArray());
            db.Primes.RemoveRange(db.Primes.ToArray());
            db.Numbers.RemoveRange(db.Numbers.ToArray());
            db.Parities.RemoveRange(db.Parities.ToArray());
            db.SaveChanges();
        }
Ejemplo n.º 13
0
        private static ulong GetNumberValue(NumberContext context)
        {
            string txt;

            var bin = context.NUMBERbin();

            if (bin is not null)
            {
                txt = bin.GetText();
                return(ParseNumber(2, 2, txt));
            }

            var oct = context.NUMBERoct();

            if (oct is not null)
            {
                txt = oct.GetText();
                return(ParseNumber(2, 8, txt));
            }

            var dec = context.NUMBERdec();

            if (dec is not null)
            {
                txt = dec.GetText();
                return(ParseNumber(0, 10, txt));
            }

            var decPre = context.NUMBERdec_prefix();

            if (decPre is not null)
            {
                txt = decPre.GetText();
                return(ParseNumber(2, 10, txt));
            }

            var hex = context.NUMBERhex();

            if (hex is not null)
            {
                txt = hex.GetText();
                return(ParseNumber(2, 16, txt));
            }

            var ch = context.CHARACTER();

            if (ch is not null)
            {
                txt = ch.GetText();
                return((UInt64)txt[0]);
            }

            return(0);
        }
Ejemplo n.º 14
0
        public void Cleanup()
        {
            var db = new NumberContext();

            db.Composites.RemoveRange(db.Composites.ToArray());
            db.Primes.RemoveRange(db.Primes.ToArray());
            db.Numbers.RemoveRange(db.Numbers.ToArray());
            db.Parities.RemoveRange(db.Parities.ToArray());
            db.Levels.RemoveRange(db.Levels.ToArray());
            db.SaveChanges();
        }
Ejemplo n.º 15
0
        public override LiteralNode VisitNumber([NotNull] NumberContext context)
        {
            var   doub = context.Double();
            var   txt  = context.GetText();
            IType typ  = new IntType();

            if (doub != null)
            {
                typ = new DoubleType();
            }

            return(new LiteralNode(context.GetText(), typ, GetLocation(context)));
        }
Ejemplo n.º 16
0
        public void ExistingEntitiesShouldBeSelectedOnSingleKey()
        {
            using (var db = new NumberContext())
            {
                var now = DateTime.Now;

                var parities = new[]
                {
                    new Parity {
                        Name = "Even", UpdatedAt = now, UpdatedBy = "Måns"
                    },
                    new Parity {
                        Name = "Odd", UpdatedAt = now, UpdatedBy = "Måns"
                    },
                };
                var numbers = GenerateNumbers(1, 200, parities[0], parities[1], now).ToArray();
                db.BulkInsertAll(new BulkInsertRequest <Number>
                {
                    Entities  = numbers,
                    Recursive = true
                });

                var nums = GenerateNumbers(50, 100, parities[0], parities[1], now)
                           .Select(n => new Num {
                    Val = n.Value
                })
                           .ToList();
                var existingNumbers = db.BulkSelect <Num, Number>(new BulkSelectRequest <Num>
                {
                    Items = nums,
                    KeyPropertyMappings = new[]
                    {
                        new KeyPropertyMapping
                        {
                            ItemPropertyName   = "Val",
                            EntityPropertyName = "Value"
                        },
                    }
                });

                var expectedNumbers = numbers.Skip(49).Take(100).ToArray();
                for (int i = 0; i < 100; i++)
                {
                    Assert.AreEqual(expectedNumbers[i].Id, existingNumbers[i].Id);
                    Assert.AreEqual(expectedNumbers[i].ParityId, existingNumbers[i].ParityId);
                    Assert.AreEqual(expectedNumbers[i].UpdatedAt.ToString(CultureInfo.InvariantCulture), existingNumbers[i].UpdatedAt.ToString(CultureInfo.InvariantCulture));
                    Assert.AreEqual(expectedNumbers[i].UpdatedBy, existingNumbers[i].UpdatedBy);
                    Assert.AreEqual(expectedNumbers[i].Value, existingNumbers[i].Value);
                }
            }
        }
Ejemplo n.º 17
0
        public void PrintRelationships_ValidType_ReturnsSpecificMethod()
        {
            // arrange
            var context = new NumberContext();

            try
            {
                // act
                context.PrintRelationships(5, CriteriaType.Buzz);
            }
            catch (Exception ex)
            {
                Assert.Fail("This should never throw exceptions: ", ex);
            }
        }
Ejemplo n.º 18
0
        public void NumberContextShouldHaveSomeSeedData_WhenIntialized()
        {
            // Arrange
            using (var context = new NumberContext(SqlLiteMemoryContextOptions()))
            {
                context.Database.EnsureCreated();

                // Act
                context.Initialize();
                var result = context.Numbers;

                // Assert
                result.Should().HaveCountGreaterThan(1);
            }
        }
Ejemplo n.º 19
0
        public void ExistingEntitiesShouldBeSelectedOnSingleKey()
        {
            using (var db = new NumberContext())
            {
                var now = DateTime.Now;

                // Save 200 numbers (1 to 200) to the database.
                var numbers = GenerateNumbers(1, 200, now).ToArray();
                db.BulkInsertAll(new BulkInsertRequest <Number>
                {
                    Entities = numbers,
                    EnableRecursiveInsert = EnableRecursiveInsert.Yes
                });

                // Create a list of 100 numbers with values 151 to 250
                var nums = GenerateNumbers(151, 100, now)
                           .Select(n => new Num {
                    Val = n.Value
                })
                           .ToList();

                // Numbers 151 to 200 from the database should be selected.
                var existingNumbers = db.BulkSelect <Num, Number>(new BulkSelectRequest <Num>
                {
                    Items = nums.ToArray(),
                    KeyPropertyMappings = new[]
                    {
                        new KeyPropertyMapping
                        {
                            ItemPropertyName   = "Val",
                            EntityPropertyName = "Value"
                        },
                    }
                }).ToArray();

                Assert.AreEqual(existingNumbers.Length, 50);
                var expectedNumbers = numbers.Skip(150).Take(50).ToArray();

                for (int i = 0; i < 50; i++)
                {
                    Assert.AreEqual(expectedNumbers[i].Id, existingNumbers[i].Id);
                    Assert.AreEqual(expectedNumbers[i].ParityId, existingNumbers[i].ParityId);
                    Assert.AreEqual(expectedNumbers[i].UpdatedAt.ToString(CultureInfo.InvariantCulture), existingNumbers[i].UpdatedAt.ToString(CultureInfo.InvariantCulture));
                    Assert.AreEqual(expectedNumbers[i].UpdatedBy, existingNumbers[i].UpdatedBy);
                    Assert.AreEqual(expectedNumbers[i].Value, existingNumbers[i].Value);
                }
            }
        }
        public void NonExistingEntitiesWithDifferentColumnNameShouldBeSelected()
        {
            using (var db = new NumberContext())
            {
                // Save 200 numbers (1 to 200) to the database.
                var firstParity = new Parity()
                {
                    Name = "Parity#1", UpdatedAt = DateTime.Now, UpdatedBy = "Me"
                };
                var secondParity = new Parity()
                {
                    Name = "Parity#2", UpdatedAt = DateTime.Now, UpdatedBy = "Me"
                };
                db.BulkInsertAll(new BulkInsertRequest <Parity>
                {
                    Entities = new List <Parity> {
                        firstParity, secondParity
                    },
                    EnableRecursiveInsert = EnableRecursiveInsert.Yes
                });

                var thirdParyity = new Parity()
                {
                    Name = "Parity#3", UpdatedAt = DateTime.Now, UpdatedBy = "Me"
                };

                var parities = new List <Parity>();
                parities.AddRange(db.Parities.ToArray());
                parities.Add(thirdParyity);

                List <Parity> nonExistingParity = db.BulkSelectNotExisting <Parity, Parity>(new BulkSelectRequest <Parity>()
                {
                    Items = new List <Parity> {
                        firstParity, secondParity, thirdParyity
                    },
                    KeyPropertyMappings = new[]
                    {
                        new KeyPropertyMapping
                        {
                            ItemPropertyName   = "Id",
                            EntityPropertyName = "Id"
                        },
                    }
                }).ToList();

                Assert.AreEqual(1, nonExistingParity.Count);
            }
        }
Ejemplo n.º 21
0
        public void ItemsMatchingExistingEntitiesShouldBeSelected()
        {
            using (var db = new NumberContext())
            {
                var now = DateTime.Now;

                var parities = new[]
                {
                    new Parity {
                        Name = "Even", UpdatedAt = now, UpdatedBy = "Måns"
                    },
                    new Parity {
                        Name = "Odd", UpdatedAt = now, UpdatedBy = "Måns"
                    },
                };
                var numbers = GenerateNumbers(1, 200, parities[0], parities[1], now).ToArray();
                db.BulkInsertAll(new BulkInsertRequest <Number>
                {
                    Entities  = numbers,
                    Recursive = true
                });


                var nums = GenerateNumbers(50, 100, parities[0], parities[1], now)
                           .Select(n => new Num {
                    Val = n.Value
                })
                           .ToList();
                var existingNumbers = db.BulkSelectExisting <Num, Number>(new BulkSelectRequest <Num>
                {
                    Items = nums,
                    KeyPropertyMappings = new[]
                    {
                        new KeyPropertyMapping
                        {
                            ItemPropertyName   = "Val",
                            EntityPropertyName = "Value"
                        },
                    }
                });

                for (int i = 0; i < 100; i++)
                {
                    Assert.AreSame(nums[i], existingNumbers[i]);
                }
            }
        }
Ejemplo n.º 22
0
        public static double ConvertNumber([NotNull] NumberContext ctx)
        {
            string numer = ctx.GetText();

            if (numer[0] == '0')
            {
                if (numer[1] == 'x')
                {
                    numer = Convert.ToInt64(numer, 16).ToString();
                }
                else
                {
                    numer = Convert.ToInt64(numer, 8).ToString();
                }
            }
            return(double.Parse(numer, ConsolePrinter.FORMAT));
        }
Ejemplo n.º 23
0
        /// <summary>
        /// This method determines which Enum type the current number belongs to.
        /// </summary>
        /// <param name="thisNumber"></param>
        /// <returns></returns>
        public CriteriaType IdentifyNumberType(int thisNumber)
        {
            var context = new NumberContext();

            foreach(var strategy in context.Strategies.OrderBy(x => x.Key))
            {
                // return the associated enum for this strategy if it is evaluated to be this type
                if (strategy.Value.Keys.SingleOrDefault().IAmThisNumber(thisNumber))
                {
                    return strategy.Key;
                }
            }

            // if somehow it is none of the above then return None
            // This should never get hit but it is best to handle it with a value.
            return CriteriaType.None;
        }
Ejemplo n.º 24
0
        public void ExistingEntitiesShouldBeSelectedOnSingleKey()
        {
            using (var db = new NumberContext())
            {
                var now = DateTime.Now;

                var numbers = GenerateNumbers(1, 200, now).ToArray();
                db.BulkInsertAll(new BulkInsertRequest <Number>
                {
                    Entities  = numbers,
                    Recursive = true
                });
                foreach (var number in numbers)
                {
                    Console.WriteLine($"{number.Id};{number.Value}");
                }

                var nums = GenerateNumbers(50, 100, now)
                           .Select(n => new Num {
                    Val = n.Value
                })
                           .ToList();
                var existingNumbers = db.BulkSelect <Num, Number>(new BulkSelectRequest <Num>
                {
                    Items = nums,
                    KeyPropertyMappings = new[]
                    {
                        new KeyPropertyMapping
                        {
                            ItemPropertyName   = "Val",
                            EntityPropertyName = "Value"
                        },
                    }
                });

                //var expectedNumbers = numbers.Skip(49).Take(100).ToArray();
                //for (int i = 0; i < 100; i++)
                //{
                //    Assert.AreEqual(expectedNumbers[i].Id, existingNumbers[i].Id);
                //    Assert.AreEqual(expectedNumbers[i].ParityId, existingNumbers[i].ParityId);
                //    Assert.AreEqual(expectedNumbers[i].UpdatedAt.ToString(CultureInfo.InvariantCulture), existingNumbers[i].UpdatedAt.ToString(CultureInfo.InvariantCulture));
                //    Assert.AreEqual(expectedNumbers[i].UpdatedBy, existingNumbers[i].UpdatedBy);
                //    Assert.AreEqual(expectedNumbers[i].Value, existingNumbers[i].Value);
                //}
            }
        }
Ejemplo n.º 25
0
        public void NumberContextShouldHaveAllSeedData_WhenIntialized()
        {
            // Arrange
            using (var context = new NumberContext(SqlLiteMemoryContextOptions()))
            {
                context.Database.EnsureCreated();

                // Act
                context.Initialize();
                var result = context.Numbers;

                // Assert
                // Update the test if the seed data is ever updated
                // If this is a regular occurance or you plan to allow seed data to be configurable
                // Update this test and the context to accept it in another way
                result.Should().HaveCount(100);
            }
        }
Ejemplo n.º 26
0
        public void EntitiesOfDifferentTypeMatchingExistingEntitiesShouldBeSelected()
        {
            using (var db = new NumberContext())
            {
                var now = DateTime.Now;

                // Save 200 numbers (1 to 200) to the database.
                var numbers = GenerateNumbers(1, 200, now).ToArray();
                db.BulkInsertAll(new BulkInsertRequest <Number>
                {
                    Entities  = numbers,
                    Recursive = true
                });

                // Create a list of 100 numbers with values 151 to 250
                var nums = GenerateNumbers(151, 100, now)
                           .Select(n => new Num {
                    Val = n.Value
                })
                           .ToList();

                // Numbers 151 to 200 out of 151 to 250 should be selected.
                var existingNumbers = db.BulkSelectExisting <Num, Number>(new BulkSelectRequest <Num>
                {
                    Items = nums,
                    KeyPropertyMappings = new[]
                    {
                        new KeyPropertyMapping
                        {
                            ItemPropertyName   = "Val",
                            EntityPropertyName = "Value"
                        },
                    }
                }).ToArray();

                Assert.AreEqual(50, existingNumbers.Length);
                for (int i = 0; i < 50; i++)
                {
                    Assert.AreEqual(nums[i], existingNumbers[i]);
                }
            }
        }
Ejemplo n.º 27
0
        private void SortButton_Click(object sender, RoutedEventArgs e)
        {
            using (context = new NumberContext())
            {
                context.SortNumbers.RemoveRange(context.SortNumbers);

                var sortNumbers = context.Numbers.OrderBy(el => el.Value).Select(el => el.Value).ToList();
                foreach (var el in sortNumbers)
                {
                    SortNumber element = new SortNumber();
                    element.Value = el;
                    context.SortNumbers.Add(element);
                }

                context.SaveChanges();

                context.SortNumbers.Load();
                sortNumbersGrid.ItemsSource = context.SortNumbers.Local.ToBindingList();
            }
        }
Ejemplo n.º 28
0
    public NumberContext number()
    {
        NumberContext _localctx = new NumberContext(Context, State);

        EnterRule(_localctx, 24, RULE_number);
        try {
            EnterOuterAlt(_localctx, 1);
            {
                State = 89; Match(NUMBER);
            }
        }
        catch (RecognitionException re) {
            _localctx.exception = re;
            ErrorHandler.ReportError(this, re);
            ErrorHandler.Recover(this, re);
        }
        finally {
            ExitRule();
        }
        return(_localctx);
    }
Ejemplo n.º 29
0
        public MathFuncNode VisitNumber([NotNull] NumberContext context)
        {
            string intPart = context.intPart != null ? context.intPart.Text : "0";
            string fracPart;
            string periodPart;

            if (context.fracTail() != null)
            {
                var fracTail = context.fracTail();
                fracPart   = fracTail.fracPart != null ? fracTail.fracPart.Text : "0";
                periodPart = fracTail.periodPart != null ? fracTail.periodPart.Text : "0";
            }
            else
            {
                fracPart   = "0";
                periodPart = "0";
            }

            var rational = Rational <long> .FromDecimal(intPart, fracPart, periodPart);

            return(new ValueNode(rational));
        }
Ejemplo n.º 30
0
        public NumberContext number()
        {
            NumberContext _localctx = new NumberContext(_ctx, State);

            EnterRule(_localctx, 0, RULE_number);
            int _la;

            try {
                EnterOuterAlt(_localctx, 1);
                {
                    State = 4;
                    _la   = _input.La(1);
                    if (!((((_la) & ~0x3f) == 0 && ((1L << _la) & ((1L << OctNumber) | (1L << DecNumber) | (1L << HexNumber))) != 0)))
                    {
                        _errHandler.RecoverInline(this);
                    }
                    else
                    {
                        if (_input.La(1) == TokenConstants.Eof)
                        {
                            matchedEOF = true;
                        }

                        _errHandler.ReportMatch(this);
                        Consume();
                    }
                }
            }
            catch (RecognitionException re) {
                _localctx.exception = re;
                _errHandler.ReportError(this, re);
                _errHandler.Recover(this, re);
            }
            finally {
                ExitRule();
            }
            return(_localctx);
        }
Ejemplo n.º 31
0
        public void PrimaryKeyColumnMappedToPropertyWithDifferentNameShouldBeAllowed()
        {
            using (var db = new NumberContext())
            {
                var now = DateTime.Now;

                // The Parity table is defined with a pk column named Key but
                // it is mapped to the property Id. There was a user reporting that
                // this did not work properly so we want to test it.
                var parities = new[]
                {
                    new Parity {
                        Name = "Even", UpdatedAt = now, UpdatedBy = "Måns"
                    },
                    new Parity {
                        Name = "Odd", UpdatedAt = now, UpdatedBy = "Måns"
                    },
                };
                db.BulkInsertAll(parities);

                Assert.IsTrue(parities[0].Id > 0);
                Assert.IsTrue(parities[1].Id > 0);
            }
        }
Ejemplo n.º 32
0
        private void FillButton_Click(object sender, RoutedEventArgs e)
        {
            using (context = new NumberContext())
            {
                context.Numbers.RemoveRange(context.Numbers);

                Random rand = new Random();

                int count = rand.Next(1, 10);

                for (int i = 0; i < count; i++)
                {
                    Number number = new Number();
                    number.Value = rand.Next(1, 11);
                    context.Numbers.Add(number);
                }

                context.SaveChanges();

                context.Numbers.Load();
                randNumbersGrid.ItemsSource = context.Numbers.Local.ToBindingList();
                SortButton.IsEnabled        = true;
            }
        }
Ejemplo n.º 33
0
 /// <summary>
 /// Takes in a number and a type, Fizz, Buzz, FizzBuzz or None
 /// and writes the appropriate output to the console app. This is a static class
 /// so it wouldn't be a bad idea to write an adapter for it (DI and testing purposes)
 /// </summary>
 /// <param name="number"></param>
 /// <param name="type"></param>
 public static void LogNumber(this int number, CriteriaType type)
 {
     // calling our context to resolve our number type and return the correct Print method.
     var context = new NumberContext();
     context.PrintRelationships(number, type);
 }
Ejemplo n.º 34
0
	public NumberContext number() {
		NumberContext _localctx = new NumberContext(Context, State);
		EnterRule(_localctx, 164, RULE_number);
		try {
			State = 1051;
			switch (TokenStream.La(1)) {
			case DECIMAL_INTEGER:
			case OCT_INTEGER:
			case HEX_INTEGER:
			case BIN_INTEGER:
				EnterOuterAlt(_localctx, 1);
				{
				State = 1048; integer();
				}
				break;
			case FLOAT_NUMBER:
				EnterOuterAlt(_localctx, 2);
				{
				State = 1049; Match(FLOAT_NUMBER);
				}
				break;
			case IMAG_NUMBER:
				EnterOuterAlt(_localctx, 3);
				{
				State = 1050; Match(IMAG_NUMBER);
				}
				break;
			default:
				throw new NoViableAltException(this);
			}
		}
		catch (RecognitionException re) {
			_localctx.exception = re;
			ErrorHandler.ReportError(this, re);
			ErrorHandler.Recover(this, re);
		}
		finally {
			ExitRule();
		}
		return _localctx;
	}