Example #1
0
        public void TestVinEquality()
        {
            var testVinValue = "3N1CN7AP0GL861987";
            var testSubject = new Vin { Value = testVinValue };

            var compareTest = new Vin {Value = testVinValue};

            Assert.IsTrue(testSubject.Equals(compareTest));
        }
Example #2
0
        public void TestGetModelYearYyyy()
        {
            var testVinValue = "3N1CN7AP0GL861987";

            var testSubject = new Vin { Value = testVinValue };

            var testResult = testSubject.GetModelYearYyyy();
            Assert.AreEqual(2016,testResult);
        }
Example #3
0
        public void TestGetChkDigit()
        {
            var testSubject = new NoFuture.Rand.Gov.Nhtsa.Vin
            {
                Wmi = new WorldManufacturerId {Country = '1', RegionMaker = '1', VehicleType = '1'},
                Vds = new VehicleDescription {Four = '1', Five = '1', Six = '1', Seven = '1', Eight = '1'},
                Vis = new VehicleIdSection {ModelYear = '1', PlantCode = '1', SequentialNumber = "111111"}
            };

            var testREsult = testSubject.GetCheckDigit();
            Assert.AreEqual('1',testREsult);
        }
Example #4
0
        /// <summary>
        /// Generates a random VIN
        /// </summary>
        /// <param name="allowForOldModel">
        /// Allow random to produce model years back to 1980
        /// </param>
        /// <returns></returns>
        public static Vin GetRandomVin(bool allowForOldModel = false)
        {
            var wmiAndName = WorldManufacturerId.GetRandomManufacturerId();
            var wmiOut = wmiAndName.Item1;

            //when this is a digit it will allow for a much older make back to 1980
            var yearBaseDeterminer = allowForOldModel && Etx.TryAboveOrAt(66, Etx.Dice.OneHundred)
                ? DF_DIGIT
                : GetRandomVinChar();

            var vds = new VehicleDescription
            {
                Four = GetRandomVinChar(),
                Five = GetRandomVinChar(),
                Six = GetRandomVinChar(),
                Seven = yearBaseDeterminer,
                Eight = GetRandomVinChar()
            };

            var vis = VehicleIdSection.GetVehicleIdSection(vds);

            var vin = new Vin {Wmi = wmiOut, Vds = vds, Vis = vis};

            if (!string.IsNullOrWhiteSpace(wmiAndName.Item2))
                vin.Description = wmiAndName.Item2;

            return vin;
        }
Example #5
0
        public void TestVinSetValue()
        {
            var testVinValue = "3N1CN7AP0GL861987";

            var testSubject = new Vin {Value = testVinValue};

            Assert.AreEqual('3', testSubject.Wmi.Country);
            Assert.AreEqual('N', testSubject.Wmi.RegionMaker);
            Assert.AreEqual('1', testSubject.Wmi.VehicleType);

            Assert.AreEqual('C', testSubject.Vds.Four);
            Assert.AreEqual('N', testSubject.Vds.Five);
            Assert.AreEqual('7', testSubject.Vds.Six);
            Assert.AreEqual('A', testSubject.Vds.Seven);
            Assert.AreEqual('P', testSubject.Vds.Eight);

            Assert.AreEqual('G', testSubject.Vis.ModelYear);
            Assert.AreEqual('L', testSubject.Vis.PlantCode);
            Assert.AreEqual("861987", testSubject.Vis.SequentialNumber);
        }
Example #6
0
 public void TestVinNoValues()
 {
     var testSubject = new NoFuture.Rand.Gov.Nhtsa.Vin();
     Assert.AreEqual("00000000000000000", testSubject.ToString());
 }
Example #7
0
 public void TestVinToString()
 {
     var testVinValue = "3N1CN7AP0GL861987";
     var testSubject = new Vin {Value = testVinValue};
     Assert.AreEqual(testVinValue, testSubject.ToString());
 }