added new exercices

This commit is contained in:
didier amyot committed 2023-08-21 09:11:33 -04:00
1 parent 6b25e67c49
commit c17800f71a
4 files changed
+96

No files matched your search

+25
View File
@@ -0,0 +1,25 @@
using Algorithms.IdCard;
public class IDCard
{
private Name name;
private PostalCode postalCode;
private TelephonNumber telephonNumber;
public IDCard(Name name,
PostalCode postalCode,
TelephonNumber telephonNumber)
{
this.name = name;
this.postalCode = postalCode;
this.telephonNumber = telephonNumber;
}
public bool IsValid()
{
return name.IsValid()
&& telephonNumber.IsValid()
&& postalCode.IsValid();
}
}
+33
View File
@@ -0,0 +1,33 @@
namespace Algorithms.IdCard;
using System;
public class Name
{
private string firstName;
private string lastName;
public Name(string firstName, string lastName)
{
this.firstName = firstName;
this.lastName = lastName;
}
private bool constainsNumber(string word){
string digits = "0123456789";
foreach (char digit in digits){
if(word.IndexOf(digit) != -1){
return true;
}
}
return false;
}
public bool IsValid(){
if(constainsNumber(this.firstName) || constainsNumber(this.lastName)){
return false;
}
return this.firstName.Length > 1 && this.lastName.Length > 1;
}
}
+17
View File
@@ -0,0 +1,17 @@
using System.Text.RegularExpressions;
namespace Algorithms.IdCard;
public class PostalCode
{
private string postalCode;
public PostalCode(string postalCode)
{
this.postalCode = postalCode;
}
public bool IsValid(){
Regex rx = new Regex(@"^[A-Z]\d[A-Z] \d[A-Z]\d$");
return rx.Match(this.postalCode).Success;
}
}
+21
View File
@@ -0,0 +1,21 @@
using System.Text.RegularExpressions;
namespace Algorithms.IdCard;
public class TelephonNumber
{
private string telephonNumber;
public TelephonNumber(string telephonNumber)
{
this.telephonNumber = telephonNumber;
}
public bool IsValid(){
Regex rx = new Regex(@"^(\+?1 )?\d{3} \d{3}-\d{4}$");
return rx.Match(this.telephonNumber).Success;
}
}