private double ShineFactor;
public string Name { get; set; }
public Star(double shineFactor)
ShineFactor = shineFactor;
throw new InvalidOperationException("Star cannot shine when faded");
public static void Main(string[] args)
public void NewStarsCanShine()
Star star = new Star(shineFactor);
Assert.AreEqual(shineFactor, star.Shine());
public void FadedOutStarsCannotShine()
double shineFactor = 1.5d;
Star star = new Star(shineFactor);
Assert.Throws(typeof(InvalidOperationException), () => star.Shine());
public void StarsCanBeNamed()
double shineFactor = 0.8d;
Star star = new Star(shineFactor);
Assert.AreEqual("Sun", star.Name);